gitwtfhub

wtf is tantu-flow?

jayadevx/tantu-flow — explained in plain English

Analysis updated 2026-05-18

0HTMLAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

A visual, node-based flow editor for building data pipelines where every connection is a NATS pub/sub channel, letting nodes run in-process or as separate processes.

Mindmap

mindmap
  root((tantu flow))
    What it does
      Visual node editor
      NATS pub sub wiring
      Process isolated nodes
    Tech stack
      Python
      NATS
      FastAPI
      HTML
    Use cases
      Build visual pipelines
      Isolate heavy compute
      Prototype data flows
    Audience
      Developers
      Data engineers
      Automation builders

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a visual data pipeline by wiring together nodes instead of writing a full program

REASON 2

Run CPU-heavy processing steps as isolated processes without changing how the flow is wired

REASON 3

Prototype something like a scheduled stock screener with fetch, filter, rank, and debug nodes

What's in the stack?

PythonNATSFastAPIHTML

How it stacks up

jayadevx/tantu-flow100/rutgers-pbl-dining-2015a15n/a15n_old
Stars0
LanguageHTMLHTMLHTML
Last pushed2015-12-012016-06-18
MaintenanceDormantDormant
Setup difficultymoderateeasyeasy
Complexity3/51/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a running NATS server (Docker or local install) plus Python dependencies from requirements.txt.

MIT license: use, modify, and share freely, including commercially, with no restrictions beyond keeping the license notice.

Wtf does this do

Tantu flow is a visual programming tool for building data pipelines by dragging and connecting nodes on a canvas instead of writing a program from scratch. Every connection you draw between nodes is really a NATS publish and subscribe channel underneath, which means a node can run inside the main program or as a completely separate process without you needing to change how it is wired up. The project is made of two main pieces: a single self contained HTML file that is the visual editor, with no build step required, and a Python backend that manages running flows and the NATS connections between nodes. You start a NATS server, either with Docker or a local install, then run the Python backend, and open your browser to the address it prints to reach the editor. A built in example flow shows a stock screener that fetches quotes, filters them by criteria, ranks the results, and displays the top picks. Nodes come in several types: sources that inject data on a schedule or manual trigger, transform nodes that run plain Python code or route messages based on rules, and sink nodes that display debug output or send data to an external NATS subject. Regular function nodes run inside the main backend process, while function process nodes run as fully separate operating system processes, which protects the rest of the flow if that node crashes and is suited to heavy tasks such as data processing. You can also add entirely new node types by writing a small class in the backend and a matching entry in the editor's configuration. The backend exposes a REST API for listing, loading, deploying, and running flows, plus a WebSocket connection that streams live debug output and animates the wires in the editor as data moves through them. The last deployed flow is saved to disk and automatically redeploys when the backend restarts and NATS is available. The README is direct about one limitation: function nodes run using Python's exec, so you should only deploy code you trust, and wire connections do not validate that the data shape a node expects actually matches what it receives. Tantu flow is released under the MIT license.

Yoink these prompts

Prompt 1
Walk me through starting NATS and the tantu flow orchestrator to open the visual editor
Prompt 2
Explain the difference between function nodes and function-process nodes in tantu flow
Prompt 3
Help me write a new custom node type and register it in orchestrator.py and flow_editor.html
Prompt 4
Show me how the AdvScrnr example flow fetches, screens, and ranks stock quotes

Frequently asked questions

wtf is tantu-flow?

A visual, node-based flow editor for building data pipelines where every connection is a NATS pub/sub channel, letting nodes run in-process or as separate processes.

What language is tantu-flow written in?

Mainly HTML. The stack also includes Python, NATS, FastAPI.

What license does tantu-flow use?

MIT license: use, modify, and share freely, including commercially, with no restrictions beyond keeping the license notice.

How hard is tantu-flow to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is tantu-flow for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.