poka.sh

Docs

IPYNB

Generated by scripts/gen-format-pages.py from docs/data/format-metadata/, FILE_FORMATS.csv and docs/formats-master.csv. Do not edit by hand: change the source, then run the script.

Ipynb Preview.

At a glance

Original creator The IPython project (Fernando Pérez, Brian Granger, Min Ragan-Kelley and others), now Project Jupyter
First published 2011
Purpose A notebook: a JSON document of Markdown and code cells, with the outputs the code produced, such as text, tables and images.
Extensions .ipynb
Poka parser poka-ipynb
Viewer none: the parser draws its own preview
Depth tier Standalone parser (see Depth tiers)
Breadth tier B2 Broad (see Breadth tiers)

How much Poka reads

B2 Broad. The common content of the current and the common older versions is decoded. Some named features or versions are not, and are listed.

Confidence: medium (the reviewer read the code). Basis: Reviewed 2026-10-16: parsers/poka-ipynb/src/main.rs (303 lines, serde_json plus pulldown-cmark); read all of it. No unit tests, and the corpus holds no .ipynb file, so nothing was run. Covers nbformat 4 (any minor version): markdown, code and raw cells, stream, error, execute_result and display_data outputs (HTML, PNG, JPEG, SVG, plain text). nbformat 3 and earlier fail because a top-level cells list is required.

What Poka does not read

  • nbformat 3 and earlier (cells inside worksheets)
  • markdown cell attachments (images embedded with attachment: links)
  • text/latex, text/markdown, application/json and widget outputs (an output with only these shows an empty block)
  • only one representation per output is shown (HTML, else PNG, JPEG, SVG, plain text)
  • maths in markdown is not typeset
  • syntax highlighting of code cells
  • cell tags and collapsed or hidden-input flags are ignored
  • stdout and stderr streams are not told apart
  • notebook metadata other than the kernel language is not shown
  • no corpus sample or test

Background

Wikipedia dates the first IPython notebook to 2011 and the spin-off of the language-independent parts as Project Jupyter to 2014. The format is defined by the nbformat package and its JSON schema. Poka renders Markdown cells, code cells with their execution counts, and the main output kinds: stream text, HTML, plain text, PNG, JPEG and SVG images, and tracebacks.

Versions

Version Identifier Poka Note
nbformat 4 Read The module reads the top-level cells list that nbformat 4 defines.
nbformat 3 and earlier Not read These keep cells inside worksheets; the module requires a top-level cells list, so such a file fails to decode.

Libraries

Libraries Poka uses or has assessed for this format, with the status, licence and language the registry records.

  • pulldown-cmark (used; MIT; Rust)
  • serde (used; MIT OR Apache-2.0; Rust)
  • serde_json (used; MIT OR Apache-2.0; Rust)
  • nbformat (Rust crate) (candidate; BSD-3-Clause; Rust; https://lib.rs/crates/nbformat) — Parses Jupyter notebooks (v4.x); lives in crates/nbformat of github.com/runtimed/runtimed; version 3.0.0 per lib.rs.

Sources