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. Optional extras add features with larger testing or indexing dependencies:

python -m pip install "prodockit[index]"    # PDF back-of-book index
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:

  • install WeasyPrint with python -m pip install weasyprint and install its native Pango libraries;
  • install Pandoc for PDF generation and BibTeX/BibLaTeX bibliographies; and
  • install the optional Node tools and Chrome or Chromium only when the PDF contains Mermaid diagrams or TeX maths.

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 init-tools Install the local Node tooling for Mermaid and maths rendering
prodockit init-mathjax Copy the installed MathJax bundle into website assets
prodockit update-dates Add per-page revision dates to a completed website without changing Markdown source
prodockit pdf Check website maths/diagrams in a browser, 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. When included pages contain maths or Mermaid diagrams, it now checks the built HTML and verifies visible browser rendering before reporting a successful PDF. This requires Node.js, Chrome/Chromium and the installed Puppeteer tooling from prodockit init-tools/npm ci; pages without those features do not start 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.65.6

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.65.6
File Size Uploaded
prodockit-0.65.6.tar.gz 8.6 MB Details

Built distribution (wheel)

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

Total release size: 9.2 MB

Release files / prodockit-0.65.6.tar.gz

Download URL prodockit-0.65.6.tar.gz
Size 8.6 MB
Tags Source
SHA-256 checksum
How to use checksums
0f7ac6361a3081d38fac8264235f355106795097f4fcaf420d98511a4df27530
BLAKE2b-256 checksum
How to use checksums
4142ea43af4bf9eea05534967c89567c046775634da742070cc9f50199162f90
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 14, 2026.

Transparency log

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

Download URL prodockit-0.65.6-py3-none-any.whl
Size 586.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af68686844c98e6d85bb373b19829bc8c263c1389d104fc4d6b36cf384884d7d
BLAKE2b-256 checksum
How to use checksums
0460a828b8fa423fc26b7b7c199d3c9b50008cbadd0b6515ce060de180407609
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 14, 2026.

Transparency log

Release history Release notifications | RSS feed

0.73.0

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

This release

0.65.6 This release

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