DoukiMD
Markdown documentation with first-class Douki API references.
DoukiMD is an opinionated static documentation engine for projects using Douki YAML docstrings. This initial version supports Python projects.
Run from source
poetry install
poetry run doukimd build --config examples/basic/doukimd.yaml
Open examples/basic/build/index.html to view the generated site.
Use doukimd check to validate without writing files.
Included
- Markdown and saved Jupyter notebook pages with validated metadata.
- Opt-in Jinja in Markdown with project, page, data, and API metadata.
- Static Python API extraction and validation against Douki's shipped schema.
- Public re-exports, properties, data declarations, and callable variants.
- Named API source folders with per-page and per-block selection.
- Native API blocks, virtual API pages, and forward API references.
- Ordered navbar menus and product sidebars with source-scoped API trees.
- Page layouts, trusted HTML opt-in, local branding, and extra stylesheets.
- Local link and heading validation, assets, code highlighting, and JSON symbol and search inventories.
- Local browser search across guides, notebooks, and API sections.
- A bundled theme, local Jinja theme overrides, and explicit context plugins.
- Safe replacement of managed output after successful builds.
See authoring and configuration and the complete example project.
Initial scope
Python 3.10–3.14 is supported. Handwritten modules, classes, and callables require valid Douki docstrings. Data declarations can use their annotations and class-field documentation. Source code is never imported or rewritten. Arx collection requires a future frontend documentation adapter and is explicitly rejected today. Inherited members, incremental builds, preview serving, and cross-project links are follow-ups.
Notebooks render stored results without executing cells; interactive widgets and notebook execution are outside the build.
Development
poetry run makim all.ci
poetry check --lock
Infrastructure is adapted from Douki. See contributing for the pinned source and workflow.
Metadata
Release files for doukimd 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| doukimd-1.1.0.tar.gz | 77.7 kB | Without provenance | Details for doukimd-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| doukimd-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for doukimd-1.1.0-py3-none-any.whl |
Total release size: 167.6 kB
Release files / doukimd-1.1.0.tar.gz
| Download URL | doukimd-1.1.0.tar.gz |
|---|---|
| Size | 77.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c2f5575c8e02a095fd622651876156157dd9c71e494663222d283c61b05411e2
|
|
BLAKE2b-256 checksum How to use checksums |
96618d71fa9db2093fd79bd2babc684ad2028cc308eac90a02eca8852fdc6b2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.10.22 Linux/7.0.0-1017-azure
|
Release files / doukimd-1.1.0-py3-none-any.whl
| Download URL | doukimd-1.1.0-py3-none-any.whl |
|---|---|
| Size | 89.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
056dc3f9104909d9449b1377c73132d0a60bb62632fdaedcba24ac2179efd11a
|
|
BLAKE2b-256 checksum How to use checksums |
28781de422a2eba836d88d3e889c8c5dcf0f8ac2744b9bf7241776f867c3e71c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.1 CPython/3.10.22 Linux/7.0.0-1017-azure
|
Security for doukimd 1.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.