scrapbook
A library for recording and reading data in Jupyter and nteract Notebooks
What it is and what it does
Scrapbook is a library for recording and retrieving data from Jupyter and nteract notebooks. It lets you save data values, dataframes, charts, and images as named scraps during notebook execution, then read them back later or pass them to other notebooks in a pipeline. The library works by encoding scraps as special cell outputs that persist in the notebook file, using encoders to handle different data types (JSON, Arrow, display-only formats). It integrates with papermill for notebook parameterization workflows and provides methods to read single notebooks or collections of notebooks and query their scraps.
The package depends on pandas, papermill, jsonschema, ipython, and pyarrow for its core functionality. It's designed for data scientists and analysts who want to build reproducible notebook-based workflows where intermediate results need to be captured and reused. The API includes functions like `glue()` to save scraps, `read_notebook()` to load them, and `scraps` to access them as a dictionary.
Use it for:
- Save model metrics or validation results from one notebook and load them in a reporting notebook for comparison
- Capture intermediate dataframes or processed data from a notebook to pass as input to another notebook in a pipeline
- Extract and summarize outputs from a batch of executed notebooks to generate a single report or dashboard
- Persist visualization objects or images generated during exploration for later display or documentation
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Scrapbook records data values and visual content from Jupyter notebook execution as named scraps, then retrieves and summarizes them later for use in downstream workflows or analysis.
No. The package is abandoned since 2022-04-13 with no maintenance activity for over two years. While it has low install friction and a permissive license, the lack of updates means compatibility issues with modern versions of its dependencies (pandas, papermill, ipython, pyarrow) are likely unaddressed. For new projects, consider actively maintained alternatives for notebook data persistence and workflow orchestration.
Install
scrapbook on PyPI
pip
pip install scrapbookuv
uv add scrapbookpoetry
poetry add scrapbookInstalling scrapbook
Before you install
Installation is straightforward with low friction. However, the package is abandoned as of 2022-04-13 with no recent maintenance, so expect no bug fixes or updates for new Python or dependency versions.
License in practice
BSD license is permissive, allowing commercial and private use with minimal restrictions—suitable for most projects.
Quickstart
pip install scrapbook
import scrapbook as sb
# In a notebook cell:
sb.glue("result", value)
sb.glue("dataframe", df, 'arrow')
# Later, read the notebook:
nb = sb.read_notebook('notebook.ipynb')
print(nb.scraps)
Requires Python 3.5+; the package is abandoned and may have compatibility issues with current versions of pandas, papermill, ipython, and pyarrow.
Verify before relying
- Whether the package remains compatible with current versions of pandas, papermill, and ipython given its abandoned status since 2022
- Whether scraps persist correctly across different notebook execution environments or kernels
- Performance characteristics when working with large dataframes or many scraps in a single notebook
Package facts
| License | BSD (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — pandas, papermill, jsonschema, ipython, pyarrow |
| Maintenance | abandoned — 2,046 days since the last release |
| Last repo commit | (repository archived) |
| First released | |
| Downloads | 4,351,612/month — #2,323 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: scrapbook-0.5.0-py3-none-any.whl
Keywords: jupyter, mapreduce, nteract, pipeline, notebook
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
testbooktestbook lets you write unit tests for Jupyter…
permissive · top 15,000 on PyPI
papermillPapermill parameterizes, executes, and analyzes…
permissive · top 5,000 on PyPI
nbstripoutStrips output cells and metadata from Jupyter…
permissive · top 5,000 on PyPI
nb-cleannb-clean removes execution counts, metadata,…
permissive · top 15,000 on PyPI
mkdocs-jupyterConverts Jupyter notebooks and Python scripts…
permissive · top 15,000 on PyPI
jupyter-cacheCaches Jupyter notebook execution outputs to…
permissive · top 5,000 on PyPI
jupytextJupytext converts Jupyter notebooks to and from…
permissive · top 5,000 on PyPI
execnbExecutes Jupyter notebook code and captures…
permissive · top 15,000 on PyPI
jupyterlab_notebook_awarenessA JupyterLab extension that tracks which…
permissive · top 15,000 on PyPI
jupyterlab-execute-timeA JupyterLab extension that displays the…
permissive · top 15,000 on PyPI