nbclient
A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor.
Install
nbclient on PyPI
pip
pip install nbclientuv
uv add nbclientpoetry
poetry add nbclientPackage facts
| License | BSD 3-Clause License Copyright (c) 2020-, Jupyter Development Team All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — jupyter-client, jupyter-core, nbformat, traitlets |
| Maintenance | actively maintained — 69 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: nbclient-0.11.0-py3-none-any.whl
Keywords: executor, jupyter, notebook, pipeline
About nbclient
from the package's own PyPI description — quoted content, verbatim
Binder (image) Build Status (image) Documentation Status (image)
nbclient
NBClient lets you execute notebooks.
A client library for programmatic notebook execution, NBClient is a tool for running Jupyter Notebooks in different execution contexts, including the command line.
Interactive Demo
To demo NBClient interactively, click this Binder badge to start the demo:
Installation
In a terminal, run:
python3 -m pip install nbclient
Documentation
See ReadTheDocs for more in-depth details about the project and the API Reference.
Python Version...
Read as markdown · JSON record · Source repository · Homepage · Docs
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
nbclient executes Jupyter notebooks programmatically in various contexts, including the command line, without requiring manual kernel management.
Low friction installation with a pure-Python wheel and four well-maintained Jupyter ecosystem dependencies. Active maintenance with a recent release (69 days old) and ongoing commits.
BSD 3-Clause License permits commercial and private use with minimal restrictions; you must retain copyright notices and the license text in distributions.
Usage
pip install nbclient
from nbclient import NotebookClient
from nbformat import read
nb = read('notebook.ipynb', as_version=4)
client = NotebookClient(nb)
client.execute()
Requires Python 3.10 or later and a working Jupyter kernel environment to execute notebook cells.
Verdict: nbclient is a stable, actively maintained library from the Jupyter project for programmatic notebook execution. Its low install friction, permissive BSD license, and zero known vulnerabilities make it a reliable choice for automation and batch processing workflows.
Needs verification
- Whether the snippet's NotebookClient API and execute() method are accurate for version 0.11.0
- Whether a Jupyter kernel must be pre-installed or if nbclient handles kernel provisioning automatically
Similar packages
permissive · top 1,000 on PyPI
nbconvertpermissive · top 1,000 on PyPI
pydeckpermissive · top 1,000 on PyPI
nbformatpermissive · top 1,000 on PyPI
notebookpermissive · top 1,000 on PyPI
jupyter-clientpermissive · top 1,000 on PyPI
ipykernelpermissive · top 1,000 on PyPI
jupyter-server-terminalspermissive · top 1,000 on PyPI
omegaconfpermissive · top 1,000 on PyPI
jupyter-serverpermissive · top 1,000 on PyPI