Skip to main content

JupyterLite for Jupyter Book processing

Project description

JupyterLite / JupyterBook notebook processing

These are utilities to take text-format notebooks in a Jupyter Book directory, and write out a JupyterLite installation, containing .ipynb (JSON) notebooks with suitable processing.

The module provides the executable jljb-write-dir. See the help for that command for more details.

That command will:

  • Look for suitable _config.yml configuration in the current directory, or at a location you specify.

  • It then looks in the configuration for a jupyterlite section, and within that section looks for these values (default if not specified):

    Name Default
    in_nb_ext .md
    out_nb_ext .ipynb
    in_nb_fmt myst
    remove_remove True
    proc_admonitions True
  • With that information, the script finds text format notebooks with the in_nb_ext extension, and applies the following processing to write into an output folder:

    • Replaces local kernel with Pyodide kernel in metadata.
    • Filters:
      • Note and admonition markers (if proc_admonitions is True)
      • Exercise markers (see sphinx_exercise).
      • Solution blocks for exercises.
      • Cells marked with remove-cell tag.
    • Writes notebooks to output directory.
    • Writes JSON JupyterLite file.

The typical way to use this module / command is to write your settings into the _config.yml file as above, and have a Makefile target of form:

jl:
    # Jupyter-lite files for book build.
    # Install specified requirements for built JupyterLite site.
    $(PIP_INSTALL_CMD) -r requirements.txt
    jljb-write-dir $(BUILD_DIR)/interact data images

$(BUILD_DIR)/interact is the directory to which the JupyterLite site will be written; data and images are directories that should be copied into the JupyterLite notebook directories from the source directory.

You will likely want to point your JupyterBook build at the JupyterLite output directory. See the example configuration file for an example, that further depends on a modified version of sphinx-book-theme. At time of writing, you should specify that version in your book build requirements files as:

sphinx-book-theme@git+https://github.com/executablebooks/sphinx-book-theme@56874cb

See the Scientific Python Lectures requirements for an example.

For debugging notebook processing by jljb-write-dir, you might consider writing out the processed intermediate notebooks into a directory that you can inspect. As an example, you could replace the last Makefile line above with:`

    jljb-write-dir $(BUILD_DIR)/interact data images --jl-tmp $(JL_DIR)

where $(JL_DIR) is a directory into which the processed notebooks will be written, prior to copying into the JupyterLite site.

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

jljb-0.1a4.tar.gz (7.6 kB view details)

Uploaded Source

File details

Details for the file jljb-0.1a4.tar.gz.

File metadata

  • Download URL: jljb-0.1a4.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.7

File hashes

Hashes for jljb-0.1a4.tar.gz
Algorithm Hash digest
SHA256 90fe1feb9f0d168453d7b5070b74cd434be4dfdb8ad6f84b0616cf4714cf526b
MD5 f104c7e9204998fcc55f41c1274d26b3
BLAKE2b-256 71e4ad96c42c720542aba4e1abd840160f1d64fa8771352163b2f1f9fe473aec

See more details on using hashes here.

Supported by

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