My F# Toolbox for DevOps


My go-to free open-source packages I use in devops projects. Highly recommended if you enjoy rapid prototyping and like getting stuff working quickly.

Project site | Apache 2.0 license

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.

Suave is a swiss army knife for getting various types of APIs up and running without spending half a day digging through Microsoft documentation. It’s a set of low-level composable building blocks letting you put together a working thing.

Project site | MIT license

A gloriously functional HTTP client library for F#

There isn’t much to say about this solid lib. It makes you calling REST APIs in no time.

Project site | MIT license

This library provides F# union and record support for System.Text.Json.

I know there is Chiron and FsPickler but I love the simplicity of FSharp.SystemTextJson. I’ve got the performance and the familiar API of System.Text.Json + an ability to control how my discriminated unions and records get serialized. It lets me model my solutions with F# types and make them serialize the way I want.

Project site | MIT license

A declarative CLI argument parser for F#

In the light of command line interfaces having returned to the mainstream this lib is indispensable. It lets you model your CLI commands using idiomatic F# types (like records and unions).

Project site | Apache 2.0 license

A smooth testing lib for F#. APIs made for humans! Strong testing methodologies for everyone!

I strongly advocate the if it builds ship it approach (that’s why I use F# in the first place). But hey, we’re only humans and we write buggy code. Expecto helps me getting this side of the equation solved.

Project site | Apache 2.0 license

Simple .NET logging with fully-structured events

I am not using Logary because of the weird licensing. Serilog on the other hand gives me all the logging features I need and no headache about whether I can use it in my projects or not.