Skip to main content

prodockit

Documentation Build GitHub Stars GitHub Forks

A toolkit for writing and publishing professional or academic documents with Zensical. Write the content once in Markdown, publish it as a website, and build a single downloadable or submittable PDF from the same pages and navigation.

prodockit combines:

  • nine Python-Markdown authoring extensions for headings, references, citations, glossaries, tables, directories, procedures, bibliographies, and indexes;
  • a Pandoc and WeasyPrint PDF pipeline;
  • Zensical macros and built-output tests; and
  • commands for machine setup, template updates, repository metadata, and reproducible build inputs.

PyMdown Extensions is a direct part of the authoring foundation. prodockit.steps and prodockit.tree are built with the PyMdown Blocks API, so they use its slash-fenced block model rather than a separate, look-alike parser.

Choose where to start

You want to Start here
Create and publish a document prodockit User Guide
Begin with a maintained report project prodockit-template
Use Adoption to add prodockit to an existing Zensical document prodockit adopt
Choose and install each dependency directly Manual installation
Build a small local site from scratch Build your first site
Look up Markdown syntax and configuration Authoring reference
Build a PDF or publish with CI Publish a document
Evaluate versions, platforms, and maturity Support and compatibility
Change prodockit itself Contributing

Project status

prodockit is currently Alpha: its documented features are functional and tested, but pre-1.0 releases can still make a documented breaking change when needed to regularise the public configuration.

Bootstrap has completed manual end-to-end testing on Ubuntu, Windows, and macOS against both the University of Surrey GitLab and GitHub.com. That testing covered creating a new document repository and installing an existing online repository locally. The full test suite runs on Ubuntu for every push and pull request and is also run locally on macOS. Windows has manual workflow coverage, but not a hosted full-suite regression job.

See Support and compatibility for the precise test depth, supported versions, and known constraints.

Installation

prodockit requires Python 3.10 or later and is tested on Python 3.10–3.14:

python -m pip install prodockit

The base installation includes Zensical, Python-Markdown, PyMdown Extensions, and the other Python libraries used by the Markdown extensions. The testing extra adds the larger dependencies used to inspect generated artifacts:

python -m pip install "prodockit[testing]"  # checks for a built site and PDF

PDF and bibliography features need tools that the base installation does not supply:

  • on Windows x64, let pdk pdf acquire its verified project-local WeasyPrint runtime; on macOS and Linux it installs the committed pdf-requirements.txt on first use, while native Pango remains an operating-system prerequisite;
  • let pdk pdf add PyMuPDF only when a back-of-book index is enabled;
  • let pdk pdf acquire verified project-local Pandoc and PDF fonts on first use; and
  • install Node.js only when a PDF contains TeX maths; ProDockit transparently caches MathJax 4 without npm, while Mermaid remains Python-only.

Follow the complete, platform-specific installation guide before building a PDF. Check the installed release with:

prodockit --version

Authoring extensions

Enable only the extensions a project uses in zensical.toml. Each extension has a beginner-first guide with copyable Markdown and a rendered result.

Extension Use it for
prodockit.headings Numbered headings and appendices
prodockit.refs Cross-references to headings, figures, and tables
prodockit.citations A small reference list written directly in Markdown
prodockit.glossary Acronyms and glossary terms
prodockit.tables Widths, merged cells, dense tables, and richer headers
prodockit.tree Readable directory trees
prodockit.steps Procedures presented as numbered steps
prodockit.bibliography BibTeX/BibLaTeX citations formatted with CSL
prodockit.index A PDF-only back-of-book index

For example:

[project.markdown_extensions."prodockit.headings"]
numbering = "continuous"

[project.markdown_extensions."prodockit.refs"]

[project.markdown_extensions."prodockit.steps"]

The authoring reference explains the three consistent stages for each feature: enable the extension, write the Markdown, then configure optional behaviour.

Publishing and project commands

Run prodockit --help for the options installed with the current release. The pdk executable is an exact shorter alias for prodockit; boot aliases bootstrap, and source aliases source-bundle.

Command Purpose
prodockit diag Diagnose without changing anything by default; preview or explicitly confirm bounded repairs
prodockit config Show resolved Prodockit settings and check source-project integrity
prodockit adopt Add selected prodockit components to an existing Zensical document
prodockit bootstrap Check or prepare a machine and a project based on prodockit-template
prodockit update-dates Add per-page revision dates to a completed website without changing Markdown source
prodockit pdf Validate built markup and website maths, then build one PDF from the Zensical navigation
prodockit source-bundle Bundle the Markdown source and configuration into a separate PDF
prodockit sync-repo Match repository links, branding, and managed README badges to origin
prodockit pins Check and update build-input versions across project files
prodockit template-sync Review and apply later updates from prodockit-template

The command-line reference documents safe first runs, write behaviour, and aliases. When publishing both outputs locally, build in this order:

zensical build --clean --strict
prodockit pdf
prodockit update-dates

The PDF consumes the completed Zensical site and does not invoke the site builder. Mermaid and MathJax PDF runtimes are prepared transparently in the project cache; maths currently needs Node.js but neither renderer needs npm or a browser. prodockit update-dates post-processes the generated HTML and does not edit the files you author or call the site builder. It is also a standalone capability: an existing Zensical project can use it after installing the package, without running prodockit adopt or enabling any other Prodockit component. The maintained template includes annotated GitHub Actions and GitLab CI workflows that perform the same build, test the generated files, and deploy Pages.

Package integrations

Integration Purpose
prodockit.zensical_macros Word counts, repository data, document-wide numbering, and layout helpers for Zensical templates
prodockit.testing Reusable pytest fixtures and checks for a generated site and PDF

These are not Markdown extensions. Macros are enabled through Zensical's macros configuration; testing support is installed with python -m pip install "prodockit[testing]".

Development

Changes to the package, tests, automation, or technical documentation should follow CONTRIBUTING.md. It gives the editable installation, external PDF prerequisites, macOS library-path setup, source gates, built-site tests, and pull-request expectations.

Contributing

Contributions are welcome. Search or open an issue before starting a change beyond a small correction, and submit changes through a focused branch and pull request. See Contributing for the complete workflow.

Licence

MIT - see LICENSE.

Release files for prodockit 0.73.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prodockit 0.73.0
File Size Uploaded
prodockit-0.73.0.tar.gz 8.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for prodockit 0.73.0
File Interpreter ABI Platform
prodockit-0.73.0-py3-none-any.whl Python 3 none any Details

Total release size: 9.1 MB

Release files / prodockit-0.73.0.tar.gz

Download URL prodockit-0.73.0.tar.gz
Size 8.5 MB
Tags Source
SHA-256 checksum
How to use checksums
b957daf95057706666c6088b6d75f36937a245c9e8f403335910f5f0547e1690
BLAKE2b-256 checksum
How to use checksums
074cfb3f1146ec57b9f60a16c18ead02dd37db9e49d6c1ce93cc9ab5198080c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / prodockit-0.73.0-py3-none-any.whl

Download URL prodockit-0.73.0-py3-none-any.whl
Size 575.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91bcb88a5c8dcc21e8601369684442f49657d3717e23c4b5e7ae7253beb38f56
BLAKE2b-256 checksum
How to use checksums
654218164fda96ddff6101fb098e9ecbfd8d8d11a1bdb506eeae0d7c13b798fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.73.0 This release

2 release files

0.72.0

2 release files

0.71.0

2 release files

0.70.1

2 release files

0.70.0

2 release files

0.69.0

2 release files

0.68.0

2 release files

0.67.1

2 release files

0.67.0

2 release files

0.66.0

2 release files

0.65.7

2 release files

0.65.6

2 release files

0.65.5

2 release files

0.65.4

2 release files

0.65.3

2 release files

0.65.2

2 release files

0.65.1

2 release files

0.65.0

2 release files

0.64.0

2 release files

0.53.0

2 release files

0.52.0

2 release files

0.51.4

2 release files

0.51.3

2 release files

0.51.2

2 release files

0.51.1

2 release files

0.51.0

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.49.1

2 release files

0.49.0

2 release files

0.48.1

2 release files

0.48.0

2 release files

0.47.0

2 release files

0.46.0

2 release files

0.45.0

2 release files

0.44.0

2 release files

0.43.2

2 release files

0.43.1

2 release files

0.43.0

2 release files

0.42.1

2 release files

0.42.0

2 release files

0.41.0

2 release files

0.40.0

2 release files

0.39.0

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.4

2 release files

0.36.3

2 release files

0.36.2

2 release files

0.36.1

2 release files

0.36.0

2 release files

0.35.1

2 release files

0.35.0

2 release files

0.34.0

2 release files

0.33.0

2 release files

0.32.1

2 release files

0.32.0

2 release files

0.31.1

2 release files

0.31.0

2 release files

0.30.1

2 release files

0.30.0

2 release files

0.29.0

2 release files

0.28.1

2 release files

0.28.0

2 release files

0.27.0

2 release files

0.26.7

2 release files

0.26.6

2 release files

0.26.5

2 release files

0.26.4

2 release files

0.26.3

2 release files

0.26.2

2 release files

0.26.1

2 release files

0.26.0

2 release files

0.25.0

2 release files

0.24.1

2 release files

0.24.0

2 release files

0.23.0

2 release files

0.22.0

2 release files

0.21.0

2 release files

0.17.2

2 release files

0.17.1

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.8

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page