Open-source F# projects categorized as .NET | Edit details

Top 21 F# .NET Projects

  • Paket

    A dependency manager for .NET with support for NuGet packages and Git repositories.

    Project mention: The located assembly's manifest definition does not match the assembly reference - The bane of my existence | reddit.com/r/dotnet | 2022-01-26

    Another thing that might be worth considering for you is Paket. This is an alternative to using nuget, directly, and will take a little bit of setting up (follow their instructions), but once you have it, it will make sure that all dependencies and transitive dependencies for all your projects are the same. Not 100% sure if this would solve the issue for you, and it might be tricky if the realApplication has unknown shared dependencies with the other projects, but you can give it a try.

  • Giraffe

    A native functional ASP.NET Core web framework for F# developers.

    Project mention: Overriding JSON serializer in Giraffe | dev.to | 2022-01-04

    By default Giraffe, the framework which I use as a web server, uses Newtonsoft.Json to serialize results to JSON. However, for discriminated union, it generates quite a lot of JSON so I've switched to System.Text.Json which is built into newer versions of .Net Core. In combination with FSharp.SystemTextJson package allows serializing discriminated unions more gracefully. All we need is to decorate Branch type with JsonFSharpConverter(JsonUnionEncoding.BareFieldlessTags) attribute.

  • Scout APM

    Less time debugging, more time building. Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.

  • Suave.IO

    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.

    Project mention: Building a Webpack alternative in F# | dev.to | 2021-12-16

    This shouldn't be that hard, I just needed a server that well... served the HTML/CSS/JS files right? I went to my desktop, created an F# script added a couple of libraries like Suave and CliWrap so I could call the dotnet fable command from my F# code and make it compile my Fable files.

  • Avalonia.FuncUI

    Develop cross-plattform MVU GUI Applications using F# and Avalonia!

    Project mention: Why did you (any .NET pro) either choose or switch to using F#? | reddit.com/r/dotnet | 2021-12-22
  • DiffSharp

    DiffSharp: Differentiable Functional Programming

    Project mention: Neural Networks Fsharp | reddit.com/r/fsharp | 2021-04-22

    Yes. You can use TensorFlow.NET or DiffSharp.

  • equinox

    .NET Event Sourcing library with CosmosDB, EventStoreDB, SqlStreamStore and integration test backends. Focused at stream level; see https://github.com/jet/propulsion for cross-stream projections/subscriptions/reactions

    Project mention: Can anyone suggest any interesting F# projects? | reddit.com/r/fsharp | 2021-03-10

    F# works really well with event-driven architectures. Event sourcing and MVU/Elmish both work well with immutable data (you can't change an event after it's happened!). Discriminated unions are fantastic, and F# event sourcing/MVU libraries make liberal usage of them. Elmish is a frontend agnostic MVU library that has WPF/Javascript/WebAssembly implementations. On the event sourcing side there's Akka (though this is more actor model) and Equinox whose maintainer is incredibly friendly.

  • Plotly.NET

    .NET interface for plotly.js written in F# :chart_with_upwards_trend:

    Project mention: Best libraries for scientific charts? | reddit.com/r/dotnet | 2021-10-19

    You can look at the csharp tests for examples https://github.com/plotly/Plotly.NET/tree/dev/tests/Plotly.NET.Tests.CSharp

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • fsharp-hedgehog

    Release with confidence, state-of-the-art property testing for .NET.

    Project mention: What are you working on? (2021-06) | reddit.com/r/fsharp | 2021-06-01

    Looks cool. Is there a reason why you didn't use FsCheck or Hedgehog? They're built to generate random data for testing, and can return the seed if a test fails so you can rerun the test with the exact same data once you figure out what the problem is - which is useful if the failure condition is rare.

  • MiniScaffold

    F# Template for creating and publishing libraries targeting .NET 5.0 `net5.0` or console apps .NET 5.0 `net5.0`.

    Project mention: MiniScaffold 0.28.0 Released 🔷🚀 | reddit.com/r/fsharp | 2021-06-04
  • FSharp.Domain.Validation

    Designing with types requires a lot of code - this library fixes that

    Project mention: How would you handle this compiler error? Trying to emulate the onion approach to code architecture. | reddit.com/r/fsharp | 2021-04-05

    https://github.com/lfr/FSharp.Domain.Validation is one project that aims to simplify this sort of validate-and-build pattern.

  • FSharp.Control.FusionTasks

    F# Async workflow <--> .NET Task/ValueTask easy seamless interoperability library.

    Project mention: FSharp.Control.FusionTasks 2.2.0 Released 🚀 | reddit.com/r/fsharp | 2021-05-31

    - 🌱 Github release

  • Sojobo

    A binary analysis framework

    Project mention: Alan - A post exploitation framework | reddit.com/r/redteamsec | 2021-05-31

    I know the open-source Armitage project, but I'm not quite sure what you mean, since it is a different project. I said that I'm in the same position because neither all my projects are closed source too (https://github.com/enkomio/Sojobo, https://github.com/enkomio/sacara, https://github.com/enkomio/anathema, https://github.com/enkomio/shed, https://github.com/enkomio/s4tanic0d3). The main difference that I see is that Armitage had much more visibility. Don't get me wrong, I'm not discrediting Armitage, it is a nice project that was able to fulfill an existing gap with a perfect time-to-market. So, if I understood correctly, even if we both released open source projects without any hidden malicious intent, I don't deserve trust because I didn't release a project with a good visibility, am I correct?

  • Donald

    A simple F# interface for ADO.NET.

    Project mention: Data Access in Fsharp | dev.to | 2021-11-12

    They are slightly different and depending on your background one might feel more confortable than the other Feel free to choose the one you like the best, in my case I will continue the rest of the post with the Expression based one given that we already have some expression based code from Dapper.FSharp. Previously we added some authors, let'ts try to add Posts to those authors with Donald.

  • Femto

    Femto is a CLI tool that automatically resolves npm packages used by Fable bindings

    Project mention: Perfect F# React Dev Setup in F# Fable with VS Code, Formatting/Linting | dev.to | 2021-09-08

    Dealing with both package manager can be a burden, so please install femto, a very easy-to-use & magic dotnet CLI tool:

  • Perla

    A cross-platform tool for unbundled front-end development that doesn't depend on Node or requires you to install a complex toolchain

    Project mention: Progressively Adding Fable to JS Projects | dev.to | 2022-01-06

    If you need to handle dependencies via CDN/Local Dist file then some dependencies won't work because they use node like imports import {} from 'lit/some/sub/directory.js browser imports need to start with / or ./ or even ../ so they can be valid ES module imports thankfully for this you can check out in a shameless plug one of the projects I'm working on: Perla which handles this precise case but I digress, the ideal situation would be you with npm and already figured out how to serve node dependencies to your compiled code.

  • Migrondi

    A Super simple SQL Migrations Tool for SQLite, PostgreSQL, MySQL and SQL Server

    Project mention: Why did you (any .NET pro) either choose or switch to using F#? | reddit.com/r/dotnet | 2021-12-22

    The most "complex" application would be a webpack alternative in F#: AngelMunoz/Perla and maybe a simple migrations manager AngelMunoz/Migrondi

  • FsLibLog

    FsLibLog is a single file you can copy paste or add through Paket Github dependencies to provide your F# library with a logging abstraction. This is a port of the C# LibLog.

    Project mention: How to do logging? | reddit.com/r/fsharp | 2021-11-10
  • wiz

    The F# web framework designed for clarity and speed (by samueleaton)

    Project mention: Show HN: F# web server in 3-4 lines of code | news.ycombinator.com | 2021-11-05

    > Every time I tried to write something quickly, I often had to choose between a heavily functional programming oriented frameworks or extremely tedious ASP.NET Core.

    I had the exact same sentiment last year. made https://wiz.run/

    I hated going through all the microsoft dotnet docs. Wanted something like this: https://wiz.run/api/

  • Mondocks

    An alternative way to interact with MongoDB databases from F# that allows you to use mongo-idiomatic constructs

    Project mention: Data Access in Fsharp | dev.to | 2021-11-12

    Mondocks - MongoDB DSL for the MongoDB .NET Driver

  • Symbolica.Extensions.Configuration.FSharp

    Provides a safe API for binding the dotnet IConfiguration to types in F#.

    Project mention: Typesafe F# configuration binding | dev.to | 2021-11-28

    One area where this was frequently biting us was the binding of configuration data using the Microsoft.Extensions.Configuration library. Due to this and other problems that we'll go into below, we created a safer alternative for configuration binding for F# projects called Symbolica.Extensions.Configuration.FSharp and open-sourced it on GitHub.

  • Diffract

    A .NET library to perform structural diff between two objects

    Project mention: What are you working on? (2021-11) | reddit.com/r/fsharp | 2021-11-01

    During the hacktoberfest, we open source Diffract. It is a .NET library that displays a readable diff between two objects. It is particularly useful for unit testing complex objects. The library is written in F# but works with both F# and C#. Here is an example from the readme with union where the case is different:

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-26.

F# .NET related posts


What are some of the best open-source .NET projects in F#? This list will help you:

Project Stars
1 Paket 1,798
2 Giraffe 1,720
3 Suave.IO 1,228
4 Avalonia.FuncUI 456
5 DiffSharp 425
6 equinox 341
7 Plotly.NET 235
8 fsharp-hedgehog 228
9 MiniScaffold 225
10 FSharp.Domain.Validation 144
11 FSharp.Control.FusionTasks 142
12 Sojobo 125
13 Donald 110
14 Femto 105
15 Perla 70
16 Migrondi 57
17 FsLibLog 43
18 wiz 33
19 Mondocks 32
20 Symbolica.Extensions.Configuration.FSharp 25
21 Diffract 18
Find remote jobs at our new job board 99remotejobs.com. There are 30 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
OPS - Build and Run Open Source Unikernels
Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.