Unified book/notebook authoring toolchain: pandoc markdown + executed jupytext sources to JSON artifact, HTML preview, and print PDF
Project description
parody
A play on parity: keeping the print and web versions of a work in parity.
One authoring toolchain for books and course notebooks: pandoc markdown (with executed jupytext code cells) in, multiple targets out —
- JSON artifact (schema-versioned; the contract consumed by ricopic.one's Django importer and other tools)
- standalone HTML preview (planned, Phase 2)
- print-quality PDF via LaTeX profiles (planned, Phase 3)
Parody unifies and replaces the toolchains of two ancestor systems: the
homepage-django notebooks pipeline and the rtc-book meta-* book machinery.
See NEW_PROJECT_SEED_PLAN.md for the full plan.
Install / develop
Requires Python ≥ 3.11 and pandoc (pinned version in
parody/toolchain.py), or use the Dockerfile/devcontainer.
uv sync # create venv + install
uv run parody --help
uv run pytest # golden tests need the ancestor corpora; see tests/golden/
CLI
parody build <notebook_dir> <output.json> # build the JSON artifact
parody check <artifact.json> # validate artifact against schema
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file parody-0.1.0.tar.gz.
File metadata
- Download URL: parody-0.1.0.tar.gz
- Upload date:
- Size: 1.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
57bf42d6b77859563e0a6a6cf88eaa48d16056b7cff8b17806ec92394a8dbff7
|
|
| MD5 |
60d44cc03725b5cfd87e0ab5fb6d90c3
|
|
| BLAKE2b-256 |
ecea0f1866dc314a322b0caa68ca33d3155fe48adbc589f515162b9e65ef19af
|
File details
Details for the file parody-0.1.0-py3-none-any.whl.
File metadata
- Download URL: parody-0.1.0-py3-none-any.whl
- Upload date:
- Size: 44.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e1faaa940fc1bab2f79242ce99ea115474b925806fdce530e73d923f4a86450
|
|
| MD5 |
29460ac663b2cbc109a13699f6a0a045
|
|
| BLAKE2b-256 |
447b8d3efcd875c4ecdb8dd2e44089ad3cdb4c931563f1233cba308fd1e88bfb
|