Noteflow is a JupyterLab extension that helps visualize and trace DataFrame states. After each notebook cell execution, it recommends suitable charts based on the resulting DataFrame and allows users to pin selected charts as “sight glasses” to continuously track how the data evolves throughout the analysis.
Noteflow provides two core capabilities: chart recommendation and flow tracing.
-
📊 Chart Recommendation: For every DataFrame produced in a cell, Noteflow recommends appropriate visualizations to help users understand the state of the data.
-
🔄 Flow Tracing: Based on the recommended charts, users can pin those of interest and trace them across the notebook workflow, observing how the visualization changes as the DataFrame evolves.
Before installing and using Noteflow, ensure that your environment meets the following requirements:
-
Python: >= 3.8
-
JupyterLab: >= 4.0.0, < 5
-
Node.js: 18.x (only required for development, not for end users)
-
Dependencies:
jupyter_server: >= 2.0.1, < 3altair: >= 5.4.1scikit-learn: >= 1.5.2pandas: >= 2.2.2
Recommended: Create a dedicated environment and ensure Node.js >= 18 if you plan to develop locally.
conda create -n noteflow python=3.11 jupyterlab=4
conda activate noteflowBuild and use the extension:
python -m pip install -ve .
pip install pandas altair scikit-learn
jupyter labextension develop . --overwrite
jupyter server extension enable noteflow
jlpm buildStart JupyterLab:
jupyter labAfter launching JupyterLab, click the Noteflow button on the right sidebar to open the chart tracing interface.
If you see the frontend extension but it is not functioning properly, ensure the server extension is enabled:
jupyter server extension listCheck if the frontend extension is installed:
jupyter lab extension list