NBRewind is a command-line tool and custom Jupyter kernel for accelerating notebook re-execution through incremental checkpointing, deduplication, and application virtualization.
Developed as part of the research project:
"NBRewind: Accelerating Jupyter Notebook Re-execution using Checkpointing and Application Virtualization"
Clone the repository and install:
git clone https://github.com/talha129/NBRewind.git
cd NBRewind
pip install .The nbrewind CLI supports the following commands:
Creates a new Sciunit project.
nbrewind initList all available notebook versions.
nbrewind listLaunch a notebook in audit mode using a custom kernel that captures dependencies and checkpoints cell executions
nbrewind audit --notebook <path_to_notebook.ipynb>Launch a given notebook version in repeat mode using a custom kernel in a containerized environment with restorable checkpoints.
nbrewind repeat --notebook <notebook_version>Launch a given notebook version in extend mode in a new virtual environment with all dependencies and restorable checkpoints.
nbrewind extend --notebook <notebook_version>Watch the following demo to see NbRewind in action — auditing a notebook, listing checkpoints, and repeating executions with restored state and outputs: