skillfed

nbclient

A client library for executing notebooks. Formerly nbconvert's ExecutePreprocessor.

nbclient Permissive 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) Active 186 v0.11.0 released

Install

nbclient on PyPI

pip

pip install nbclient

uv

uv add nbclient

poetry

poetry add nbclient

Package 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

Intended Audience :: DevelopersIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3

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:

Binder (image)

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
jupyter notebook executionprogrammatic notebook runnerexecute notebooks in codenotebook automation toolbatch notebook processingjupyter kernel executornotebook pipeline runner

Similar packages