awesome-fsharp
F# toolkit
A curated list of useful tools and libraries for building F# applications
A curated list of awesome F# frameworks, libraries, software and resources.
1k stars
90 watching
99 forks
Language: F#
last commit: 16 days ago
Linked from 6 awesome lists
awesomeawesome-listdotnetfsharp
Awesome F# / F# wrappers for popular .NET libraries | |||
Avalonia | 26,035 | 2 days ago | |
Avalonia.FuncUI | 980 | 2 months ago | |
ASP.NET Core | 35,542 | about 12 hours ago | |
Giraffe | 2,126 | 19 days ago | (+ optionally ) |
ASP.NET Core Blazor | 35,542 | about 12 hours ago | |
Bolero | 1,059 | 3 days ago | |
MSTest | 752 | 6 days ago | / / |
FsUnit | 426 | 8 days ago | |
System.Text.Json | 15,416 | about 19 hours ago | |
FSharp.SystemTextJson | 329 | 3 months ago | |
WPF | 7,094 | about 22 hours ago | |
Elmish.WPF | 432 | about 2 months ago | |
Xamarin.Forms | 5,615 | 7 months ago | |
Fabulous | 1,159 | 7 days ago | |
Awesome F# / Actor frameworks | |||
Akka.NET | 4,724 | 4 days ago | Community-driven port of the popular Java/Scala framework Akka to .NET |
Akkling | 225 | 3 months ago | F# typed API for Akka.NET |
Cricket | 152 | about 4 years ago | Actor framework for F# |
Orleankka | 495 | 5 months ago | Functional API for Orleans Framework |
Orleans | 10,118 | 5 days ago | Distributed Virtual Actor Model |
Proto.actor | 1,733 | 9 days ago | Cross-platform actor framework for .NET, GO, JAVA and KOTLIN |
Awesome F# / Build tools | |||
FAKE | 1,285 | 11 days ago | "F# Make" is a cross platform build automation system |
Xake | 1 | 9 months ago | Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake |
Awesome F# / Cloud | |||
FsFirestore | 26 | over 3 years ago | Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase |
Chia | 12 | almost 2 years ago | Chia is a F# library which contains HelperFunctions for reporting, logging and Azure cloud operations |
Awesome F# / Code Generation | |||
Hawaii | 139 | 8 months ago | A dotnet CLI tool to generate type-safe F# clients from OpenAPI/Swagger services |
Awesome F# / Compilers | |||
F# Compiler Services | 279 | 6 days ago | The F# Compiler, F# Interactive scripting engine and F# editing services as a component library |
Fable | 2,929 | 4 days ago | F# to JavaScript Compiler |
Fez | 280 | over 5 years ago | F# to Erlang compiler |
FSharp | 2,168 | about 2 years ago | The Open Edition of the F# compiler, core library and tools |
FunScript | 444 | almost 8 years ago | F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider |
Juniper | 79 | 7 days ago | Functional Reactive Programming for the Arduino and other microcontrollers |
Pengines.Client | 10 | over 2 years ago | Sandboxed Prolog environment |
Visual F# | 3,926 | 3 days ago | The Visual F# compiler and tools |
Awesome F# / Concurrent, asynchronous and parallel programming | |||
FIO | 37 | 4 months ago | A type-safe, highly concurrent and asynchronous library for F# based on pure functional programming |
FSharp.Control.AsyncSeq | 163 | 3 months ago | Collection of asynchronous programming utilities for F# |
FSharp.Control.FusionTasks | 160 | about 2 years ago | F# Async workflow <--> .NET Task/ValueTask easy seamless interoperability library |
FSharpx.Async | 94 | 11 months ago | Collection of asynchronous programming utilities for F# |
Giraffe.Tasks | 21 | almost 7 years ago | Task computation expression to work natively with .NET's Tasks from an F# application |
Hopac | 524 | over 2 years ago | Concurrent ML style concurrent programming library for F# |
Ply | 240 | almost 2 years ago | High performance System.Threading.(Value)Task computation expressions for F# |
Reaction.AsyncRx | 142 | almost 2 years ago | An implementation of Async Observables in F# for .NET and Fable |
TaskBuilder.fs | 236 | almost 4 years ago | F# computation expression builder for System.Threading.Tasks |
Awesome F# / Configuration | |||
Argu | 459 | 3 days ago | Declarative CLI argument/XML configuration parser for F# applications |
docopt.fs | 34 | almost 5 years ago | command line arguments parser, F# port of |
FsConfig | 161 | about 1 year ago | F# library for reading configuration data from environment variables and AppSettings with type safety |
Skid | 5 | over 2 years ago | Simple, single-file portable CLI utility for configuration templating |
Awesome F# / Data Science | |||
Deedle | 948 | 5 months ago | Deedle: Exploratory data library for .NET |
Deep.Net | Deep learning library for F#. Provides symbolic model differentiation, automatic differentiation and compilation to CUDA GPUs | ||
DiffSharp | 589 | 7 months ago | DiffSharp is a functional automatic differentiation (AD) library |
FsLab | 28 | 7 months ago | FsLab is a collection of libraries for data-science. It provides a rapid development environment that lets you write advanced analysis with few lines of production-quality code |
IfSharp | 442 | over 2 years ago | F# for Jupyter Notebooks |
m2cgen | 2,817 | 4 months ago | A CLI tool to transpile trained classic ML models into a native F# code with zero dependencies |
Math.NET Numerics | 3,508 | 5 months ago | Math.NET Numerics aims to provide methods and algorithms for numerical computations in science, engineering and every day use. F# specific bindings available |
Math.NET Symbolics | 351 | 10 months ago | Math.NET Symbolics is a basic open source computer algebra library for .NET, Silverlight and Mono written entirely in F# |
SIMDArray | 132 | over 2 years ago | SIMD enhanced Array extensions for faster computation |
Synapses | 70 | about 3 years ago | Neural network library in F# |
Awesome F# / Development Tools / IDE | |||
F# Playground | 14 | about 2 years ago | Minimal playground for F# |
JetBrains Rider | Cross-platform .NET IDE with F# support (Proprietary, free for non-commercial use) | ||
MonoDevelop | Cross-platform IDE mostly aimed at Mono/.NET developers | ||
Visual Studio | IDE from Microsoft with first class F# support (Windows only, Proprietary) | ||
Awesome F# / Development Tools / Editor plugins | |||
Emacs F# mode | 208 | 6 months ago | F# support in Emacs (including Intellisense and Interactive mode) |
F# Bindings | 307 | almost 7 years ago | Archive of F# Language Bindings for Open Editors |
Fantomas | 773 | 21 days ago | F# code formatter |
FSharpLint | 303 | 5 months ago | F# code linter |
FSharpFar | 136 | 6 days ago | F# support for Far Manager |
Ionide | Atom Editor and Visual Studio Code package suite for cross platform F# development | ||
Vim F# | 143 | about 4 years ago | F# support for Vim |
neofsharp.vim | 42 | 8 months ago | Basic F# support for (Neo)Vim |
VimSpeak | 417 | about 4 years ago | VimSpeak lets you control Vim with your voice using speech recognition |
Visual F# Power Tools | 310 | over 5 years ago | Power commands for F# in Visual Studio |
fsharp-notebook | 2 | over 1 year ago | Data Science Notebook for F# interactive |
Awesome F# / Development Tools / Performance analysis | |||
fasm | 184 | about 1 year ago | F# jit disassembler, as a dotnet tool |
Awesome F# / General purpose libraries | |||
Aether | 177 | about 3 years ago | Optics library for F#, similar to the Haskell Data.Lens package |
Chessie | 185 | about 6 years ago | Railway-oriented programming |
Donald | 173 | 23 days ago | A simple F# interface for ADO.NET |
DustyTables | 74 | 10 months ago | Thin F# API for SqlClient for easy data access to ms sql server with functional seasoning on top |
ExtCore | 180 | about 3 years ago | Extended core library for F# |
Fling | 35 | 15 days ago | Fling significantly reduces boilerplate needed to efficiently save/load complex domain entities to/from multiple tables |
FSharp.CosmosDb | 79 | 3 months ago | An F# wrapper around the CosmosDB SDK, making it more functional-friendly |
FSharp.HashCollections | 59 | 8 months ago | Library providing fast hash based immutable map and set |
FSharpLu | 358 | 5 months ago | Lightweight utilities for string manipulations, logging, collection data structures, file operations, text processing, security, async, parsing, diagnostics, configuration files and Json serialization |
FsToolkit.ErrorHandling | 471 | about 1 month ago | Clear, simple and powerful error handling with railway-oriented programming. Inspired by Chessie |
Fumble | 97 | 8 months ago | Thin F# API for Sqlite for easy data access to sqlite database with functional seasoning on top |
FSharpPlus | 852 | 11 days ago | Extensions for F# |
FSharpx.Extras | 683 | 19 days ago | FSharpx.Extras is a collection of libraries and tools for use with F# |
LiteDB.FSharp | 181 | almost 2 years ago | F# Support for , an embedded single file database for .NET |
Npgsql.FSharp | 318 | 7 months ago | Thin F# wrapper around , the PostgreSQL database driver |
TypeShape | 302 | 4 days ago | Small, extensible F# library for practical generic programming |
Validus | 143 | 6 months ago | A composable validation library for F#, with built-in validators for most primitive types and easily extended through custom validators |
Vp.FSharp.Sql | 35 | over 2 years ago | Generic F# ADO Provider Wrapper (SqlServer, PostgreSql, Sqlite) |
Awesome F# / Game development | |||
FsUnity | F# Libraries, Tools, and Plugins for the Unity3d Game Engine | ||
Garnet | 163 | 7 months ago | Garnet is a lightweight game composition library for F# with entity-component-system (ECS) and actor-like messaging features |
Godot | Tutorial how to use F# with Godot | ||
Nu Game Engine | 1,136 | 7 days ago | Cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics |
Awesome F# / GUI | |||
Avalonia.FuncUI | 980 | 2 months ago | Develop cross-platform MVU GUI Applications using F# and Avalonia |
Elmish.WPF | 432 | about 2 months ago | Elmish (or MVU) approach to WPF programming |
Epoxy | 208 | 5 months ago | An independent flexible XAML MVVM library for .NET |
Fabulous | 1,159 | 7 days ago | F# Functional App Development, using declarative dynamic UI |
Awesome F# / HTTP Clients | |||
Http.fs | 320 | over 1 year ago | A simple, functional HTTP client library for F# |
FsHttp | 451 | about 1 month ago | A convenient library for consuming HTTP/REST endpoints via F# |
Oryx | 202 | 8 days ago | A high performance .NET cross platform functional HTTP request handler library for writing HTTP clients and orchestrating web requests |
Awesome F# / Logging | |||
FsLibLog | 55 | over 1 year ago | FsLibLog is a single file you can copy paste or add through Paket GitHub dependencies to provide your F# library with a logging abstraction |
Logary | 526 | over 1 year ago | Logary is a high performance, multi-target logging, metric, tracing and health-check library for mono and .NET |
Awesome F# / Package Management | |||
NuGet | NuGet is the package manager for the Microsoft development platform including .NET | ||
Paket | 2,020 | 4 days ago | Dependency manager for .NET with support for NuGet packages and Git repositories |
Awesome F# / Parsing | |||
FParsec | 531 | about 1 year ago | FParsec is a parser combinator library for F# |
FsAttoparsec | 9 | almost 7 years ago | Port of Bryan O'Sullivan's attoparsec from Haskell to F# |
XParsec | 50 | over 6 years ago | Extensible, type-and-source-polymorphic, non-linear applicative parser combinator library for F# 3.0 and 4.0 |
Awesome F# / PreCompilation | |||
Myriad | 342 | 7 months ago | Myriad is a pre-compilation code generator |
Awesome F# / Serialization | |||
FsCodec | 82 | about 1 month ago | F# Event-Union Contract Encoding with versioning tolerant converters |
FSharp.Json | 225 | about 1 year ago | F# JSON Reflection based serialization library |
FSharp.SystemTextJson | 329 | 3 months ago | System.Text.Json extensions for F# types |
Fleece | 199 | about 1 year ago | Fleece is a JSON mapper for F#. It simplifies mapping from a Json library's JsonValue onto your types, and mapping from your types onto JsonValue |
FsPickler | 326 | over 2 years ago | Fast, multi-format messaging serializer for .NET |
Legivel | 60 | over 1 year ago | F# Yaml 1.2 parser |
Thoth.Json | Json encoder/decoder library inspire by Elm | ||
Awesome F# / Search | |||
FlexSearch | 147 | over 7 years ago | High performance REST/SOAP services based full-text searching platform built on top of the popular Lucene search library |
Awesome F# / Simulation | |||
F# RISC-V Instruction Set formal specification | 282 | 2 months ago | RISC-V CPU formal ISA Specification. RISC-V CPU simulator with ELF files execution |
Awesome F# / Testing | |||
altcover | 501 | 9 days ago | Cross-platform coverage gathering and processing tool set for .NET/.NET core and Mono |
canopy | 507 | over 2 years ago | F# web automation and testing framework |
Expecto | 676 | about 1 month ago | Smooth testing framework for F# with tests-as-values and parallelism by default |
Faqt | 62 | about 1 month ago | Fantastic fluent assertions for your F# tests and domain code |
FsCheck | 1,167 | 3 months ago | Random Testing for .NET |
fsharp-hedgehog | 272 | over 1 year ago | Property-based testing system for F# |
FsUnit | 426 | 8 days ago | FsUnit makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework |
NBomber | 2,080 | 12 days ago | Simple load testing framework for Pull and Push scenarios |
Persimmon | 41 | over 2 years ago | Unit test framework for F# using computation expressions |
unquote | 287 | 8 months ago | Write F# unit test assertions as quoted expressions |
xUnit.net | Free, open source, community-focused unit testing tool for the .NET Framework | ||
Awesome F# / Type providers | |||
ApiaryProvider | 10 | over 8 years ago | Type provider for Apiary.io |
AzureStorageTypeProvider | 84 | over 4 years ago | F# Azure Type Provider which can be used to explore Blob, Table and Queue Azure Storage assets and easily apply CRUD operations on them |
COM Type Provider | 40 | over 8 years ago | Type provider for COM interop |
DynamicsCRMProvider | 15 | over 4 years ago | Type provider for Microsoft Dynamics CRM 2011 |
EasyBuild.FileSystemProvider | 26 | 6 months ago | Type provider to provide a typed representation of files and directories based on your project structure or a virtual file system |
ExcelProvider | 141 | 2 months ago | Excel type provider |
Facil | 140 | 17 days ago | Facil generates F# data access source code from SQL queries and stored procedures. Optimized for developer happiness |
FSharp.Configuration | 114 | over 1 year ago | The project contains type providers for the configuration of .NET projects. Handles AppSettings, ResX, Yaml and Ini files |
FSharp.Data | 816 | about 2 months ago | Data science library that contains type providers for CSV, HTML, JSON, XML, and WorldBank data |
FSharp.Data.DbPedia | 13 | over 8 years ago | F# type provider for DBpedia |
FSharp.Data.HiveProvider | 9 | over 8 years ago | Demonstrator F# type provider for Apache Hive |
FSharp.Data.Npgsql | 127 | about 2 years ago | F# type providers library on a top of well-known Npgsql ADO.NET client library |
FSharp.Data.SqlClient | 204 | 12 months ago | F# Type Provider for statically typed access to T-SQL command parameters and result set |
FSharp.Data.Tdms | 12 | almost 2 years ago | TDMS support for F# |
FSharp.Data.Toolbox | 57 | almost 3 years ago | Library for various data access APIs based on FSharp.Data. The library currently includes the Twitter type provider for access to Twitter users and feeds, and SAS type provider to read SAS dataset files |
FSharp.Data.TypeProviders | 38 | about 3 years ago | Library that contains type providers for files, files, WSDL services, OData services, and SQL databases |
FSharp.Management | 91 | over 5 years ago | The project contains various type providers for the management of the machine. Handles file system, registry, Windows Management Instrumentation, PowerShell and SystemTimeZones |
FSharp.Text.RegexProvider | 74 | about 5 years ago | Type provider for regular expressions |
FsXaml | 171 | almost 5 years ago | F# Tools for working with XAML Projects |
FsYaml | 37 | over 2 years ago | Typed Yaml library for F# |
GraphProvider | 35 | over 8 years ago | state machine type provider |
MatDataProvider | 10 | over 6 years ago | Erased type provider for files (binary MATLAB format files) |
R Type Provider | 236 | over 1 year ago | Type provider to interop with R |
Rezoom.SQL | 669 | over 4 years ago | Statically typed SQL for F# |
S3Provider | 22 | over 8 years ago | Experimental type provider for Amazon S3 |
SQLProvider | 580 | 16 days ago | General F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides |
SwaggerProvider | 263 | 21 days ago | F# generative Type Provider for Swagger |
Awesome F# / Type providers / Creating type providers | |||
FSharp.TypeProviders.StarterPack | 300 | 5 months ago | The ProvidedTypes SDK for creating F# type providers |
RestProvider | 19 | over 8 years ago | Create type providers just by implementing a simple REST service |
Awesome F# / Visualization | |||
FSharp.Charting | 213 | over 4 years ago | Charting library suitable for interactive F# scripting |
SharpVG | 73 | 8 months ago | Create SVG vector graphics in F# |
XPlot | 287 | 8 days ago | A plotting library for the F# programming language |
GG.Net | 81 | 5 months ago | Visualization library for data scientists |
Plotly.NET | 663 | 10 days ago | A Plotly-based general purpose plotting library for F# |
Awesome F# / Web frameworks | |||
Bolero | 1,059 | 3 days ago | F# in WebAssembly, develop SPAs with the full power of F# and .NET Blazor |
Falco | 530 | 18 days ago | A functional-first toolkit for building brilliant ASP.NET Core applications using F# |
Felicity | 77 | 4 months ago | Boilerplate-free, idiomatic JSON:API for your beautiful, idiomatic F# domain model. Optimized for developer happiness |
Feliz | 545 | 28 days ago | A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F# |
Freya | 329 | almost 3 years ago | Modern, purely functional stack for web programming in F# |
Genit | 66 | over 6 years ago | Cross-platform website generator and server using F#, Suave and PostgreSQL or MS SQL Server |
Giraffe | 2,126 | 19 days ago | Native functional ASP.NET Core web framework for F# developers |
Oxpecker | 278 | 6 days ago | ASP.NET Core based F# framework + supporting tools (ViewEngine, Htmx, OpenApi) |
Saturn | 713 | 4 months ago | Opinionated, web development framework for F# which implements the server-side, functional MVC pattern |
Suave | 1,321 | 2 months ago | Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition |
WebSharper | 599 | about 2 months ago | F#-based web programming platform including a compiler from F# code to JavaScript |
Awesome F# / .NET Core Templates | |||
ASP.NET Core WebAPI F# Template | 17 | over 5 years ago | - |
Expecto Template | 23 | 3 months ago | - |
Fable, F# |> Babel | - | ||
Fable-elmish | 839 | about 1 month ago | - |
Freya | - | ||
Giraffe Template | 36 | 3 months ago | - |
MiniScaffold | 267 | about 1 year ago | F# Template for creating and publishing libraries targeting .NET Full (net45) and Core (netstandard1.6), |
NancyFx Template | 3 | almost 5 years ago | - |
SAFE Stack Template | 282 | 8 days ago | - |
vbfox's F# Templates | 6 | over 7 years ago | F# Template for creating GitHub project with appveyor and travis support |
Awesome F# / Resources / Blogs | |||
.NET Blog (F# tag) | |||
Codesuji | |||
Krzysztof Cieslak | |||
Mark Seemann | |||
Sergey Tihon (F# Weekly) | |||
Tomas Petricek | |||
Awesome F# / Resources / Books | |||
F# in Action | |||
Awesome F# / Resources / Cheatsheets | |||
F# cheatsheet | |||
F# Snips | |||
F# tour | |||
Learn F# in Y minutes | |||
30min F# tutorial for C# programmers, with back to back code snippets | 158 | 8 months ago | |
30min F# tutorial for Python programmers, with back to back code snippets | 158 | 8 months ago | |
Awesome F# / Resources / Community | |||
F# on Discourse | |||
F# on GitHub | |||
F# on IRC | |||
F# on Slack | |||
F# news on Telegram | |||
Awesome F# / Resources / Other Lists | |||
Awesome .NET! | 19,388 | about 1 month ago | Collection of awesome .NET libraries, tools, frameworks and software |
Awesome Fable | 406 | over 3 years ago | Curated list of useful Fable tutorials, libraries and software |
F# Community Projects | FSharp community projects | ||
WTF# | Podcast focused on F# and its ecosystem | ||
Awesome F# / Resources / Websites | |||
Community for F# | Links to dojos and recordings of community presentations | ||
cs2fs | Transform C# code to F# code | ||
Decompiler.com | Online C#/VB/F# decompiler | ||
DotNetFiddle | Online REPL | ||
F# Core Engineering | |||
F# for Fun and Profit | Reference tutorials | ||
F# Software Foundation | Main website | ||
fantomas-tools | A set of Fantomas related tools like AST viewer and online bug reporter | ||
SharpLab | C#/VB/F# compiler playground | ||
Try F# | Online tutorials, currently without execution of code due to Silverlight dependency | ||
Awesome F# / Resources / Videos | |||
Austin F# Meetup Group Recorded Presentations | |||
Intro to F# | |||
Fast Dictionary in F# | |||
F# Chats on performance | |||
Topological Sort | |||
Awesome F# / Resources / Courses | |||
Data programming with F# | |||
F# workshop | |||
Introduction to F# | |||
Write yourself a scheme in 48 hours using F# |