Author Apache Storm topologies with F# using statically-typed streams
Clone or download

FsShelter Windows Build Mono/OSX build NuGet version

FsShelter is a library for defining and running Apache Storm topologies in F# using statically typed streams.

It is a complete rewrite of FsStorm with the goals of static typing, modularity, and pluggable serialization. It comes bundled with Json serialization and Protobuf (Protobuf requires corresponding Storm multilang serializer implementation Protoshell).

See docs for for an intro and an overview.

Join the conversation: Gitter


  • At the moment FsShelter doesn't support direct emits.


On Windows, from the cloned root:


or on Linux/OSX:


Running the tests

Building from the command line runs the unit tests.

IDE: Install the NUnit plugin for VS or MonoDevelop to see the unit tests in Test Explorer and step through the code with the debugger.

Submitting the topology

Have a local Storm instance installed and running.

samples\WordCount\bin\Release\WordCount submit-local

or, if running on Mono:

mono samples/WordCount/bin/Release/WordCount.exe submit-local

Seeing the topology in action

Open Storm UI and see the Storm worker logs for runtime details.


FsShelter is Apache 2.0 licensed and is free to use and modify.

Commercial support

Contact Prolucid for commercial support.