skillfed

nbformat

The Jupyter Notebook format

nbformat Permissive license BSD 3-Clause License - Copyright (c) 2001-2015, IPython Development Team - Copyright (c) 2015-, Jupyter Development Team All rights reserved. Redistribution and use in source and binary forms, with… (full text in the JSON record) Active 311 v5.11.0 released

Install

nbformat on PyPI

pip

pip install nbformat

uv

uv add nbformat

poetry

poetry add nbformat

Package facts

License BSD 3-Clause License - Copyright (c) 2001-2015, IPython Development Team - Copyright (c) 2015-, Jupyter Development Team All rights reserved. Redistribution and use in source and binary forms, with… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 4 — fastjsonschema, jsonschema, jupyter-core, traitlets
Maintenance actively maintained — 7 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: nbformat-5.11.0-py3-none-any.whl

Keywords: Interactive, Interpreter, Shell, Web

Intended Audience :: DevelopersIntended Audience :: Science/ResearchIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14

About nbformat

from the package's own PyPI description — quoted content, verbatim

nbformat: Jupyter Notebook Format

CI Tests (image)

nbformat contains the reference implementation of the [Jupyter Notebook format], and Python APIs for working with notebooks.

There is also a JSON Schema for nbformat versions >= 3.

Installation

From the command line:

pip install nbformat

Using a different json schema validator

We use fastjsonschema by default. To use jsonschema instead, set the environment variable NBFORMAT_VALIDATOR to the value jsonschema.

Python Version Support

This library supported Python 2.7 and Python 3.5+ for 4.x.x releases. With Python 2's end-of-life nbformat 5.x.x supported Python 3 only. Support for Python 3.x versions will be dropped when they are officially sunset by the python organization.

Contributing

Read CONTRIBUTING.md for guidelines on how to setup a local development environment and make code changes back to nbformat.

About the Jupyter Development Team

The Jupyter Development Team is the set of all contributors to the Jupyter project. This includes all of the Jupyter subprojects.

The...

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

nbformat is the reference implementation of the Jupyter Notebook format, providing Python APIs to read, write, and validate notebook files against the official JSON schema.

Low friction installation with four lightweight runtime dependencies (fastjsonschema, jsonschema, jupyter-core, traitlets). Actively maintained with a release 7 days ago; last commit 2026-08-10 indicates ongoing development.

BSD 3-Clause License (permissive) permits commercial and private use with attribution and liability disclaimer. No restrictions on modification or distribution.

Usage

pip install nbformat

import nbformat
nb = nbformat.read('notebook.ipynb', as_version=4)
nbformat.validate(nb)

Requires Python 3.10 or later (nbformat 5.x dropped Python 2 and earlier 3.x versions).

Verdict: nbformat is a well-maintained, actively developed core Jupyter library with no known vulnerabilities, permissive licensing, and low install friction. It is the authoritative implementation for notebook format handling and is suitable for production use in notebook-processing workflows.

Needs verification

  • Whether the environment variable NBFORMAT_VALIDATOR can be reliably set in containerized or restricted deployment environments.
  • Performance characteristics when validating very large notebooks or batch-processing many files.
jupyter notebook format parseripynb file validationnotebook schema validationjupyter notebook serializationnbformat python librarynotebook format conversionjupyter notebook metadata

Similar packages