skillfed

ipyflow-core

Backend package for ipyflow's dataflow functionality

ipyflow-core v0.0.230 126.4K downloads/30d#11,779 on PyPI1,274
Permissive license BSD-3-Clause Active released

What it is and what it does

ipyflow-core is the backend package for a next-generation Python kernel for Jupyter that replaces the default ipykernel with one that understands dataflow relationships between cells and symbols. When you execute a cell, it automatically re-runs only the minimal set of upstream and downstream cells needed to keep the notebook consistent, so outputs always reflect what you'd see from a top-to-bottom "restart and run all" operation. This eliminates the common notebook problem where cell execution order gets tangled and outputs become stale or inconsistent.

The package ships with a JupyterLab extension that color-codes cell dependencies and supports both reactive (automatic re-execution on change) and lazy (manual execution) modes. It includes utilities like `reproduce_cell` to recover prior cell outputs within a session, and respects in-order or any-order execution semantics depending on your configuration.

Use it for:

  • Exploratory data analysis where you frequently modify earlier cells and need confidence that downstream results stay in sync.
  • Teaching or sharing notebooks where readers can jump to any cell and run it without worrying about hidden dependencies or stale outputs.
  • Debugging notebook state by using the color-coded dependency visualization to understand which cells will be affected by a change.
  • Recovering accidentally overwritten cell outputs using `reproduce_cell` within the same kernel session.
  • Switching between reactive and lazy execution modes on a per-cell basis using keyboard shortcuts.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

A reactive Python kernel for Jupyter that tracks dataflow between cells and symbols, automatically re-executing only the minimal set of affected cells when you run code.

Yes, if you spend significant time in Jupyter notebooks and struggle with cell execution order or stale outputs. The low install friction, active maintenance, permissive license, and zero known vulnerabilities make it a safe addition. The trade-off is that it replaces your kernel entirely and introduces a new mental model; test it on a non-critical notebook first to see if the reactivity model fits your workflow.

Install

ipyflow-core on PyPI

pip

pip install ipyflow-core

uv

uv add ipyflow-core

poetry

poetry add ipyflow-core

Installing ipyflow-core

Before you install

Low friction installation as a pure-Python wheel. Actively maintained with a recent release; the project has 1274 stars and a last commit on 2026-08-14. Nine runtime dependencies including ipykernel, ipywidgets, and black are all established packages.

License in practice

BSD-3-Clause is a permissive license with no copyleft obligations, allowing use in proprietary projects without requiring source disclosure.

Quickstart

pip install ipyflow-core

Then select 'Python 3 (ipyflow)' from the Jupyter kernel launcher or kernel switcher. In a cell:

from ipyflow import reproduce_cell
reproduce_cell(4, lookback=1)  # recover prior execution of cell 4

Requires Jupyter (JupyterLab or Notebook 7) and Python 3.6 or later; this is a kernel replacement, not a standalone library.

Verify before relying

  • Whether the reactive execution model works reliably across all supported Python versions (3.6–3.14).
  • Performance impact of dataflow tracking on large notebooks or long-running cells.
  • Compatibility with common Jupyter extensions and third-party kernels.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 9 — astunparse, black, contextvars, ipykernel, ipython, ipywidgets, nest_asyncio, pyccolo, traitlets
Maintenance actively maintained — 38 days since the last release
Last repo commit
First released
Downloads 126,363/month — #11,779 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ipyflow_core-0.0.230-py2.py3-none-any.whl

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseNatural Language :: EnglishProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

reactive jupyter notebook kerneljupyter cell dependency trackingautomatic notebook re-executionjupyter dataflow analysisnotebook state consistencyjupyter kernel with reactivitydataflow-aware notebook execution
jupyter-kerneldataflow-trackingreactive-notebooks

More Software Development packages