Skip to main content

macros for Jupyter Notebooks

Project description

JPConvert

JPConvert is a simple tool to split up Jupyter Notebooks based on macros and remove unnecessary metadata.

Installation

JPConvert does not need any libraries. It is probably a good idea to use nbstripout with it though.

The preferred way to use JPConvert is in a virtual environment:

python -m venv venv
source venv/bin/activate

Use pip to download and install JPConvert:

pip install jpconvert

Usage

python -m jpconvert <input> [<output>] [<options>]

If no input file is specified, stdin is used instead. If no output file is specified, stdout is used instead.

Macros and Options

option description
--practice / -p keep cells containing #jp-practice
--teaching / -t keep cells containing #jp-teaching
--solution / -s keep cells containing #jp-solution
--remove-without-macros remove cells that do not contain any macro
--keep-empty do not remove empty cells
--no-strip-lines do not remove space or tabs from line endings
--keep-trailing do not remove trailing lines

Multiple macros can be used per cell. Only code cells with the macro matching the output options are kept. Macros themselves are removed from the code cells.

The special macro #jp-toc can be used to create a table of contents. Up to two conditionals can be added to control the table's depth.

Any cells that do not contain #jp-practice are set readonly. If you want to protect these cells from writing as well, add #jp-readonly or use #jp-practice-ro.

Example

Image two code cells inside your notebook:

#jp-solution
a = a + 1
#jp-practice
a = ...

If you call JPConvert with the --practice option, the first cell is removed and the second cell is kept:

a = ...

If you call JPConvert with the --solution option, the first cell is kept and the second cell is removed:

a = a + 1

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

jpconvert-0.3.3.tar.gz (8.7 kB view hashes)

Uploaded Source

Built Distribution

jpconvert-0.3.3-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

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