is a minimal Dataflow programming engine

Installation | Examples | CLI | Editor | API | Specification | Contributing | Support and license

Quick start: start editing your first graph! With npx launch

npx dflow -o

NPM version Build Status Dependency Status Coverage Status JavaScript Style Guide CDNJS version Change log

Whatchers Stargazers Forks

Join the chat at https://gitter.im/fibo/dflow

Hello world

The following simple graph is executed client side by dflow engine.

Hello World


Client side

Client distribution contains just the engine.

Badge size

You can use RawGit CDN, add this to your HTML page

<script src="https://cdn.rawgit.com/fibo/dflow/master/dist/dflow.min.js"></script>

If you want to get a specific dflow engine version, you can get it also on CDNJS! Awesome thanks to LboAnn and Peter Dave Hello. 多謝

Server side

If you are new to dflow, you probably want to try the editor, so you need to install globally to get dflow cli in your path. With npm do

npm install dflow -g

However, if you need to require the dflow engine in your package, or you need to browserify it, or even you want to use the dflow cli in your npm scripts, or whatever, you can install dflow locally with

npm install dflow

Support and License

dflow is MIT licensed, yes you can use it to build a product on top of it!

I wrote few times a Dataflow engine, the first one was PNI (Perl Node Interface) and the design evolved until I could say confidently that dflow is here to stay.

Use cases I can think about dflow right now are many, but, the possibilities are I.M.H.O. outstanding: from client to server, from JavaScript to cross language, from mono-thread to graphs distributed on a network using AWS Lambda and, above all, from skilled programmer who implement functions … to artists, genetic engineers, data scientists, etc. that use those functions to create dflow graphs and get results nobody could even imagine.

If this is also your vision or you just want to use dflow, contact me.

My goal is to say to a dflow user:

Mamma mia! Did you achieve that with dflow?