Skip to main content

Don't let notebook cells run out of order

Project description

PyPI version Run tests Create a tag if version changed Publish to PyPi Build docs

enforce-notebook-run-order

Enforce the run order of Jupyter notebooks.

Jupyter notebooks are great for interactive data analysis. However, when they can encourage a bad habit: running cells out of order. This can lead to notebooks being committed to the repository in a state where they don't run from top to bottom, and other collaborators may receive different results when running the notebook from top to bottom.

enforce-notebook-run-order enforces the run order of a notebook by raising an exception if any cells are run out of order.

Installation

enforce-notebook-run-order can be installed via pip:

pip install enforce-notebook-run-order

It can also be set up as a pre-commit hook. See the pre-commit hook section for more details.

Usage

enforce-notebook-run-order can be used as a standalone script, or as a pre-commit hook.

Standalone

To use enforce-notebook-run-order as a standalone script, simply run it with the path to the notebook(s) you want to check:

nbcheck my_notebook.ipynb my_other_notebook.ipynb

Or point it to a directory to check all notebooks in that directory:

nbcheck my_notebooks/

If no paths are specified, nbcheck will check all notebooks in the current directory.

You can also use the full enforce-notebook-run-order command, but the nbcheck command is provided as a convenience.

pre-commit hook

To use enforce_notebook_run_order as a pre-commit hook, add the following to your .pre-commit-config.yaml:

repos:
-   repo: https://github.com/christopher-hacker/enforce-notebook-run-order
    rev: 1.7.0
    hooks:
    -   id: enforce-notebook-run-order

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enforce_notebook_run_order-2.0.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page