awesome-fsharp
by fsprojects
A curated list of awesome F# frameworks, libraries, software and resources.
AI summary
F# toolkit
A curated list of useful tools and libraries for building F# applications
- stars
- 1.2K
- forks
- 102
- watching
- 91
- awesome lists
- 6
- entries
- 226
What's in the list
226 links in 37 sections, with live GitHub stats.activeno commit in 2y
F# wrappers for popular .NET libraries
Actor frameworks
Build tools
Cloud
FsFirestore
Functional F# library to access Firestore database hosted on Google Cloud Platform (GCP) or Firebase
Chia
Chia is a F# library which contains HelperFunctions for reporting, logging and Azure cloud operations
Code Generation
Hawaii
A dotnet CLI tool to generate type-safe F# clients from OpenAPI/Swagger services
Compilers
F# Compiler Services
The F# Compiler, F# Interactive scripting engine and F# editing services as a component library
Fable
F# to JavaScript Compiler
Fez
F# to Erlang compiler
FSharp
The Open Edition of the F# compiler, core library and tools
FunScript
F# to JavaScript compiler with JQuery etc. mappings through a TypeScript type provider
Juniper
Functional Reactive Programming for the Arduino and other microcontrollers
Pengines.Client
Sandboxed Prolog environment
Visual F#
The Visual F# compiler and tools
Concurrent, asynchronous and parallel programming
FIO
A type-safe, highly concurrent and asynchronous library for F# based on pure functional programming
FSharp.Control.AsyncSeq
Collection of asynchronous programming utilities for F#
FSharp.Control.FusionTasks
F# Async workflow <--> .NET Task/ValueTask easy seamless interoperability library
FSharpx.Async
Collection of asynchronous programming utilities for F#
Giraffe.Tasks
Task computation expression to work natively with .NET's Tasks from an F# application
Hopac
Concurrent ML style concurrent programming library for F#
Ply
High performance System.Threading.(Value)Task computation expressions for F#
Reaction.AsyncRx
An implementation of Async Observables in F# for .NET and Fable
TaskBuilder.fs
F# computation expression builder for System.Threading.Tasks
Configuration
Argu
Declarative CLI argument/XML configuration parser for F# applications
docopt.fs
command line arguments parser, F# port of
FsConfig
F# library for reading configuration data from environment variables and AppSettings with type safety
Skid
Simple, single-file portable CLI utility for configuration templating
Data Science
Deedle
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
DiffSharp is a functional automatic differentiation (AD) library
FsLab
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
F# for Jupyter Notebooks
m2cgen
A CLI tool to transpile trained classic ML models into a native F# code with zero dependencies
Math.NET Numerics
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
Math.NET Symbolics is a basic open source computer algebra library for .NET, Silverlight and Mono written entirely in F#
SIMDArray
SIMD enhanced Array extensions for faster computation
Synapses
Neural network library in F#
Development Tools / IDE
F# Playground
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)
Development Tools / Editor plugins
Emacs F# mode
F# support in Emacs (including Intellisense and Interactive mode)
F# Bindings
Archive of F# Language Bindings for Open Editors
Fantomas
F# code formatter
FSharpLint
F# code linter
FSharpFar
F# support for Far Manager
- Ionide
Atom Editor and Visual Studio Code package suite for cross platform F# development
Vim F#
F# support for Vim
neofsharp.vim
Basic F# support for (Neo)Vim
VimSpeak
VimSpeak lets you control Vim with your voice using speech recognition
Visual F# Power Tools
Power commands for F# in Visual Studio
fsharp-notebook
Data Science Notebook for F# interactive
Development Tools / Performance analysis
fasm
F# jit disassembler, as a dotnet tool
General purpose libraries
Aether
Optics library for F#, similar to the Haskell Data.Lens package
Chessie
Railway-oriented programming
Donald
A simple F# interface for ADO.NET
DustyTables
Thin F# API for SqlClient for easy data access to ms sql server with functional seasoning on top
ExtCore
Extended core library for F#
Fling
Fling significantly reduces boilerplate needed to efficiently save/load complex domain entities to/from multiple tables
FSharp.CosmosDb
An F# wrapper around the CosmosDB SDK, making it more functional-friendly
FSharp.HashCollections
Library providing fast hash based immutable map and set
FSharpLu
Lightweight utilities for string manipulations, logging, collection data structures, file operations, text processing, security, async, parsing, diagnostics, configuration files and Json serialization
FsToolkit.ErrorHandling
Clear, simple and powerful error handling with railway-oriented programming. Inspired by Chessie
Fumble
Thin F# API for Sqlite for easy data access to sqlite database with functional seasoning on top
FSharpPlus
Extensions for F#
FSharpx.Extras
FSharpx.Extras is a collection of libraries and tools for use with F#
LiteDB.FSharp
F# Support for , an embedded single file database for .NET
Npgsql.FSharp
Thin F# wrapper around , the PostgreSQL database driver
TypeShape
Small, extensible F# library for practical generic programming
Validus
A composable validation library for F#, with built-in validators for most primitive types and easily extended through custom validators
Vp.FSharp.Sql
Generic F# ADO Provider Wrapper (SqlServer, PostgreSql, Sqlite)
Game development
- FsUnity
F# Libraries, Tools, and Plugins for the Unity3d Game Engine
Garnet
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
Cross-platform F# 2D game engine built in the functional style. Uses SDL2 and Farseer Physics
GUI
Avalonia.FuncUI
Develop cross-platform MVU GUI Applications using F# and Avalonia
Elmish.WPF
Elmish (or MVU) approach to WPF programming
Epoxy
An independent flexible XAML MVVM library for .NET
Fabulous
F# Functional App Development, using declarative dynamic UI
HTTP Clients
Logging
Package Management
Parsing
FParsec
FParsec is a parser combinator library for F#
FsAttoparsec
Port of Bryan O'Sullivan's attoparsec from Haskell to F#
XParsec
Extensible, type-and-source-polymorphic, non-linear applicative parser combinator library for F# 3.0 and 4.0
PreCompilation
Myriad
Myriad is a pre-compilation code generator
Serialization
FsCodec
F# Event-Union Contract Encoding with versioning tolerant converters
FSharp.Json
F# JSON Reflection based serialization library
FSharp.SystemTextJson
System.Text.Json extensions for F# types
Fleece
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
Fast, multi-format messaging serializer for .NET
Legivel
F# Yaml 1.2 parser
- Thoth.Json
Json encoder/decoder library inspire by Elm
Search
FlexSearch
High performance REST/SOAP services based full-text searching platform built on top of the popular Lucene search library
Simulation
F# RISC-V Instruction Set formal specification
RISC-V CPU formal ISA Specification. RISC-V CPU simulator with ELF files execution
Testing
altcover
Cross-platform coverage gathering and processing tool set for .NET/.NET core and Mono
canopy
F# web automation and testing framework
Expecto
Smooth testing framework for F# with tests-as-values and parallelism by default
Faqt
Fantastic fluent assertions for your F# tests and domain code
FsCheck
Random Testing for .NET
fsharp-hedgehog
Property-based testing system for F#
FsUnit
FsUnit makes unit-testing with F# more enjoyable. It adds a special syntax to your favorite .NET testing framework
NBomber
Simple load testing framework for Pull and Push scenarios
Persimmon
Unit test framework for F# using computation expressions
unquote
Write F# unit test assertions as quoted expressions
- xUnit.net
Free, open source, community-focused unit testing tool for the .NET Framework
Type providers
ApiaryProvider
Type provider for Apiary.io
AzureStorageTypeProvider
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
Type provider for COM interop
DynamicsCRMProvider
Type provider for Microsoft Dynamics CRM 2011
EasyBuild.FileSystemProvider
Type provider to provide a typed representation of files and directories based on your project structure or a virtual file system
ExcelProvider
Excel type provider
Facil
Facil generates F# data access source code from SQL queries and stored procedures. Optimized for developer happiness
FSharp.Configuration
The project contains type providers for the configuration of .NET projects. Handles AppSettings, ResX, Yaml and Ini files
FSharp.Data
Data science library that contains type providers for CSV, HTML, JSON, XML, and WorldBank data
FSharp.Data.DbPedia
F# type provider for DBpedia
FSharp.Data.HiveProvider
Demonstrator F# type provider for Apache Hive
FSharp.Data.Npgsql
F# type providers library on a top of well-known Npgsql ADO.NET client library
FSharp.Data.SqlClient
F# Type Provider for statically typed access to T-SQL command parameters and result set
FSharp.Data.Tdms
TDMS support for F#
FSharp.Data.Toolbox
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
Library that contains type providers for files, files, WSDL services, OData services, and SQL databases
FSharp.Management
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
Type provider for regular expressions
FsXaml
F# Tools for working with XAML Projects
FsYaml
Typed Yaml library for F#
GraphProvider
state machine type provider
MatDataProvider
Erased type provider for files (binary MATLAB format files)
R Type Provider
Type provider to interop with R
Rezoom.SQL
Statically typed SQL for F#
S3Provider
Experimental type provider for Amazon S3
SQLProvider
General F# SQL database erasing type provider, supporting LINQ queries, schema exploration, individuals, CRUD operations and much more besides
SwaggerProvider
F# generative Type Provider for Swagger
Type providers / Creating type providers
FSharp.TypeProviders.StarterPack
The ProvidedTypes SDK for creating F# type providers
RestProvider
Create type providers just by implementing a simple REST service
Visualization
FSharp.Charting
Charting library suitable for interactive F# scripting
SharpVG
Create SVG vector graphics in F#
XPlot
A plotting library for the F# programming language
GG.Net
Visualization library for data scientists
Plotly.NET
A Plotly-based general purpose plotting library for F#
Web frameworks
Bolero
F# in WebAssembly, develop SPAs with the full power of F# and .NET Blazor
Falco
A functional-first toolkit for building brilliant ASP.NET Core applications using F#
Felicity
Boilerplate-free, idiomatic JSON:API for your beautiful, idiomatic F# domain model. Optimized for developer happiness
Feliz
A fresh retake of the React API in Fable and a collection of high-quality components to build React applications in F#
Freya
Modern, purely functional stack for web programming in F#
Genit
Cross-platform website generator and server using F#, Suave and PostgreSQL or MS SQL Server
Giraffe
Native functional ASP.NET Core web framework for F# developers
Oxpecker
ASP.NET Core based F# framework + supporting tools (ViewEngine, Htmx, OpenApi)
Saturn
Opinionated, web development framework for F# which implements the server-side, functional MVC pattern
Suave
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
F#-based web programming platform including a compiler from F# code to JavaScript
.NET Core Templates
MiniScaffold
F# Template for creating and publishing libraries targeting .NET Full (net45) and Core (netstandard1.6),
vbfox's F# Templates
F# Template for creating GitHub project with appveyor and travis support
Resources / Blogs
Resources / Books
Resources / Cheatsheets
Resources / Community
Resources / Other Lists
Awesome .NET!
Collection of awesome .NET libraries, tools, frameworks and software
Awesome Fable
Curated list of useful Fable tutorials, libraries and software
- F# Community Projects
FSharp community projects
- WTF#
Podcast focused on F# and its ecosystem
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# 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
Resources / Videos
Resources / Courses
Nothing in this list matches your filter.
Featured in 6 awesome lists
Each link jumps to the spot where the list mentions awesome-fsharp.