Visual pipeline editor and local execution engine for JupyterLab
Project description
NotebookFlow for JupyterLab
NotebookFlow adds a visual pipeline editor and local execution engine to JupyterLab.
Install
pip install notebookflow-app
jupyter lab
Open a notebook and launch NotebookFlow from the command palette. The Python
package contains both the prebuilt JupyterLab extension and the engine; a Node
installation and a repository checkout are not required. The engine starts
automatically through jupyter-server-proxy when the extension first connects.
NotebookFlow supports Python 3.11–3.13 and JupyterLab 4.6 or newer.
The PyPI distribution is named notebookflow-app; the notebookflow command
and Python import package keep their shorter names.
Engine
The engine is a FastAPI and WebSocket server that builds DAGs from notebooks, runs them through a data bus, and exposes pipelines to platform adapters (JupyterLab, VS Code, and the web app).
Layout
notebookflow/
├── core/ # DAG, executor, data bus, triggers
├── nodes/ # Built-in node implementations
├── protocol/ # Extension manifest, registry, loader
├── llm/ # Pipeline author, code synthesis, explainer
└── server.py # FastAPI + WebSocket entry point
Development
cd engine
uv sync --all-extras
uv run pytest
uv run ruff check .
uv run ty check
Build the prebuilt extension from the repository root:
pnpm --filter @notebookflow/jupyterlab-extension build:lab
uv build engine
The complete Trusted Publishing, upgrade, and rollback procedure is in
docs/releases/jupyterlab.md.
Run the engine directly
uv run notebookflow
# Or directly:
uv run uvicorn notebookflow.server:app --reload
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file notebookflow_app-0.1.0.tar.gz.
File metadata
- Download URL: notebookflow_app-0.1.0.tar.gz
- Upload date:
- Size: 219.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8fb0d5f6568530a59413df78ff6fbcea407caa2621b0310e0cd8a425c7f6ce3d
|
|
| MD5 |
e31747aae476206bd78acada88f46479
|
|
| BLAKE2b-256 |
f0f1e33e58b955bd8c5718a7679bf51186b2a9fcbacd4d8228d8ce63a4d9ee75
|
Provenance
The following attestation bundles were made for notebookflow_app-0.1.0.tar.gz:
Publisher:
release-jupyterlab.yml on NoelHuibers/notebookflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notebookflow_app-0.1.0.tar.gz -
Subject digest:
8fb0d5f6568530a59413df78ff6fbcea407caa2621b0310e0cd8a425c7f6ce3d - Sigstore transparency entry: 2252329452
- Sigstore integration time:
-
Permalink:
NoelHuibers/notebookflow@d721d478db202c01443556b354f471cdede1a1a5 -
Branch / Tag:
refs/tags/jupyterlab-v0.1.0 - Owner: https://github.com/NoelHuibers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-jupyterlab.yml@d721d478db202c01443556b354f471cdede1a1a5 -
Trigger Event:
push
-
Statement type:
File details
Details for the file notebookflow_app-0.1.0-py3-none-any.whl.
File metadata
- Download URL: notebookflow_app-0.1.0-py3-none-any.whl
- Upload date:
- Size: 242.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e26daffd542af92be8be824f3e57360a358151c9a6da0e33bc58212ea13fa24
|
|
| MD5 |
c493dd71ffc99ae4a268098397cd9b74
|
|
| BLAKE2b-256 |
b2ccc1ddd38d37b8e92cb3e28503c20da08d20d6fe6af6dea160b1114812e284
|
Provenance
The following attestation bundles were made for notebookflow_app-0.1.0-py3-none-any.whl:
Publisher:
release-jupyterlab.yml on NoelHuibers/notebookflow
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
notebookflow_app-0.1.0-py3-none-any.whl -
Subject digest:
8e26daffd542af92be8be824f3e57360a358151c9a6da0e33bc58212ea13fa24 - Sigstore transparency entry: 2252329747
- Sigstore integration time:
-
Permalink:
NoelHuibers/notebookflow@d721d478db202c01443556b354f471cdede1a1a5 -
Branch / Tag:
refs/tags/jupyterlab-v0.1.0 - Owner: https://github.com/NoelHuibers
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-jupyterlab.yml@d721d478db202c01443556b354f471cdede1a1a5 -
Trigger Event:
push
-
Statement type: