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.

GitHub

1k stars
91 watching
102 forks
Language: F#
last commit: about 2 months ago
Linked from 6 awesome lists

awesomeawesome-listdotnetfsharp

Avalonia 26,275 about 1 month ago
Avalonia.FuncUI 991 about 2 months ago
ASP.NET Core 35,660 about 1 month ago
Giraffe 2,136 about 1 month ago (+ optionally )
ASP.NET Core Blazor 35,660 about 1 month ago
Bolero 1,064 about 1 month ago
MSTest 789 about 1 month ago / /
FsUnit 428 about 2 months ago
System.Text.Json 15,518 about 1 month ago
FSharp.SystemTextJson 330 5 months ago
WPF 7,125 about 1 month ago
Elmish.WPF 436 4 months ago
Xamarin.Forms 5,617 9 months ago
Fabulous 1,168 about 1 month ago

Awesome F# / Actor frameworks

Akka.NET 4,737 about 1 month ago Community-driven port of the popular Java/Scala framework Akka to .NET
Akkling 225 5 months ago F# typed API for Akka.NET
Cricket 152 over 4 years ago Actor framework for F#
Orleankka 495 7 months ago Functional API for Orleans Framework
Orleans 10,167 about 1 month ago Distributed Virtual Actor Model
Proto.actor 1,742 about 2 months ago Cross-platform actor framework for .NET, GO, JAVA and KOTLIN

Awesome F# / Build tools

FAKE 1,291 2 months ago "F# Make" is a cross platform build automation system
Xake 1 11 months ago Another MAKE utility implementation on F#, fully declarative with no-brain parallelism, inspired by Shake

Awesome F# / Cloud

FsFirestore 26 almost 4 years ago Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase
Chia 12 about 2 years ago Chia is a F# library which contains HelperFunctions for reporting, logging and Azure cloud operations

Awesome F# / Code Generation

Hawaii 140 9 months ago A dotnet CLI tool to generate type-safe F# clients from OpenAPI/Swagger services

Awesome F# / Compilers

F# Compiler Services 280 about 1 month ago The F# Compiler, F# Interactive scripting engine and F# editing services as a component library
Fable 2,928 about 2 months 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 445 almost 8 years ago F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider
Juniper 79 2 months ago Functional Reactive Programming for the Arduino and other microcontrollers
Pengines.Client 10 over 2 years ago Sandboxed Prolog environment
Visual F# 3,948 about 1 month ago The Visual F# compiler and tools

Awesome F# / Concurrent, asynchronous and parallel programming

FIO 38 about 1 month ago A type-safe, highly concurrent and asynchronous library for F# based on pure functional programming
FSharp.Control.AsyncSeq 163 5 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 about 1 year 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 almost 3 years ago Concurrent ML style concurrent programming library for F#
Ply 240 about 2 years ago High performance System.Threading.(Value)Task computation expressions for F#
Reaction.AsyncRx 142 about 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 460 about 1 month ago Declarative CLI argument/XML configuration parser for F# applications
docopt.fs 34 about 5 years ago command line arguments parser, F# port of
FsConfig 163 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 952 6 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 591 9 months ago DiffSharp is a functional automatic differentiation (AD) library
FsLab 28 9 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 almost 3 years ago F# for Jupyter Notebooks
m2cgen 2,826 6 months ago A CLI tool to transpile trained classic ML models into a native F# code with zero dependencies
Math.NET Numerics 3,523 7 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 352 about 1 year 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 over 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 209 8 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 777 about 1 month ago F# code formatter
FSharpLint 304 6 months ago F# code linter
FSharpFar 135 about 1 month 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 10 months ago Basic F# support for (Neo)Vim
VimSpeak 417 over 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 almost 2 years 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 over 3 years ago Optics library for F#, similar to the Haskell Data.Lens package
Chessie 186 over 6 years ago Railway-oriented programming
Donald 174 about 2 months ago A simple F# interface for ADO.NET
DustyTables 74 about 1 year ago Thin F# API for SqlClient for easy data access to ms sql server with functional seasoning on top
ExtCore 181 about 3 years ago Extended core library for F#
Fling 35 2 months ago Fling significantly reduces boilerplate needed to efficiently save/load complex domain entities to/from multiple tables
FSharp.CosmosDb 79 5 months ago An F# wrapper around the CosmosDB SDK, making it more functional-friendly
FSharp.HashCollections 62 10 months ago Library providing fast hash based immutable map and set
FSharpLu 357 7 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 479 about 1 month ago Clear, simple and powerful error handling with railway-oriented programming. Inspired by Chessie
Fumble 101 about 1 month ago Thin F# API for Sqlite for easy data access to sqlite database with functional seasoning on top
FSharpPlus 857 about 1 month ago Extensions for F#
FSharpx.Extras 686 2 months ago FSharpx.Extras is a collection of libraries and tools for use with F#
LiteDB.FSharp 181 about 2 years ago F# Support for , an embedded single file database for .NET
Npgsql.FSharp 318 about 1 month ago Thin F# wrapper around , the PostgreSQL database driver
TypeShape 302 2 months ago Small, extensible F# library for practical generic programming
Validus 144 8 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 about 2 months 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 164 9 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,154 about 1 month ago Cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics

Awesome F# / GUI

Avalonia.FuncUI 991 about 2 months ago Develop cross-platform MVU GUI Applications using F# and Avalonia
Elmish.WPF 436 4 months ago Elmish (or MVU) approach to WPF programming
Epoxy 215 about 1 month ago An independent flexible XAML MVVM library for .NET
Fabulous 1,168 about 1 month 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 453 about 2 months ago A convenient library for consuming HTTP/REST endpoints via F#
Oryx 203 about 2 months 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 almost 2 years 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 527 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,021 about 2 months ago Dependency manager for .NET with support for NuGet packages and Git repositories

Awesome F# / Parsing

FParsec 532 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 almost 7 years ago Extensible, type-and-source-polymorphic, non-linear applicative parser combinator library for F# 3.0 and 4.0

Awesome F# / PreCompilation

Myriad 344 9 months ago Myriad is a pre-compilation code generator

Awesome F# / Serialization

FsCodec 82 3 months 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 330 5 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 almost 3 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
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 4 months ago RISC-V CPU formal ISA Specification. RISC-V CPU simulator with ELF files execution

Awesome F# / Testing

altcover 505 about 1 month ago Cross-platform coverage gathering and processing tool set for .NET/.NET core and Mono
canopy 508 over 2 years ago F# web automation and testing framework
Expecto 679 3 months ago Smooth testing framework for F# with tests-as-values and parallelism by default
Faqt 64 about 1 month ago Fantastic fluent assertions for your F# tests and domain code
FsCheck 1,169 about 1 month ago Random Testing for .NET
fsharp-hedgehog 273 over 1 year ago Property-based testing system for F#
FsUnit 428 about 2 months ago FsUnit makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework
NBomber 2,084 about 1 month ago Simple load testing framework for Pull and Push scenarios
Persimmon 41 almost 3 years ago Unit test framework for F# using computation expressions
unquote 288 about 2 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 almost 9 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 29 7 months ago Type provider to provide a typed representation of files and directories based on your project structure or a virtual file system
ExcelProvider 142 4 months ago Excel type provider
Facil 141 2 months 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 820 4 months ago Data science library that contains type providers for CSV, HTML, JSON, XML, and WorldBank data
FSharp.Data.DbPedia 13 almost 9 years ago F# type provider for DBpedia
FSharp.Data.HiveProvider 9 almost 9 years ago Demonstrator F# type provider for Apache Hive
FSharp.Data.Npgsql 127 over 2 years ago F# type providers library on a top of well-known Npgsql ADO.NET client library
FSharp.Data.SqlClient 204 about 1 year ago F# Type Provider for statically typed access to T-SQL command parameters and result set
FSharp.Data.Tdms 12 about 2 years ago TDMS support for F#
FSharp.Data.Toolbox 57 about 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 over 5 years ago Type provider for regular expressions
FsXaml 171 about 5 years ago F# Tools for working with XAML Projects
FsYaml 37 over 2 years ago Typed Yaml library for F#
GraphProvider 35 almost 9 years ago state machine type provider
MatDataProvider 10 almost 7 years ago Erased type provider for files (binary MATLAB format files)
R Type Provider 238 almost 2 years ago Type provider to interop with R
Rezoom.SQL 670 over 4 years ago Statically typed SQL for F#
S3Provider 22 almost 9 years ago Experimental type provider for Amazon S3
SQLProvider 582 2 months ago General F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides
SwaggerProvider 263 3 months ago F# generative Type Provider for Swagger

Awesome F# / Type providers / Creating type providers

FSharp.TypeProviders.StarterPack 301 6 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 212 over 4 years ago Charting library suitable for interactive F# scripting
SharpVG 74 10 months ago Create SVG vector graphics in F#
XPlot 289 2 months ago A plotting library for the F# programming language
GG.Net 81 7 months ago Visualization library for data scientists
Plotly.NET 689 about 1 month ago A Plotly-based general purpose plotting library for F#

Awesome F# / Web frameworks

Bolero 1,064 about 1 month ago F# in WebAssembly, develop SPAs with the full power of F# and .NET Blazor
Falco 531 about 1 month ago A functional-first toolkit for building brilliant ASP.NET Core applications using F#
Felicity 78 6 months ago Boilerplate-free, idiomatic JSON:API for your beautiful, idiomatic F# domain model. Optimized for developer happiness
Feliz 552 3 months 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 almost 7 years ago Cross-platform website generator and server using F#, Suave and PostgreSQL or MS SQL Server
Giraffe 2,136 about 1 month ago Native functional ASP.NET Core web framework for F# developers
Oxpecker 292 about 1 month ago ASP.NET Core based F# framework + supporting tools (ViewEngine, Htmx, OpenApi)
Saturn 713 6 months ago Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
Suave 1,324 4 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 600 4 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 5 months ago -
Fable, F# |> Babel -
Fable-elmish 843 about 1 month ago -
Freya -
Giraffe Template 37 5 months ago -
MiniScaffold 267 about 1 month ago F# Template for creating and publishing libraries targeting .NET Full (net45) and Core (netstandard1.6),
NancyFx Template 3 about 5 years ago -
SAFE Stack Template 283 about 1 month ago -
vbfox's F# Templates 6 almost 8 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
Domain Modeling Made Functional

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 159 10 months ago
30min F# tutorial for Python programmers, with back to back code snippets 159 10 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,503 about 2 months 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#

Backlinks from these awesome lists:

More related projects: