node package manager


is a minimal Dataflow programming engine


is a minimal Dataflow programming engine

Join the chat at

Installation | Examples | Editor | Api | Specification Contributing | Support and license

NPM version CDNJS version Build Status Dependency Status Coverage Status Test page Change log

Whatchers Stargazers Forks



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

If you have some graphs ready to run on client side, you can install dflow engine with bower

bower install dflow

or use RawGit CDN adding this to your HTML page

<script src=""></script>

If you want to get a specific dflow engine version, get it 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

If you want start hacking on dflow run

git clone
cd dflow
npm install
npm start

which will clone repo, install deps, start the dflow cli and open your browser. Optionally, launch npm run watch to trigger build on source changes.

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?