plissken¶
Documentation generator for Rust-Python hybrid projects
plissken generates beautiful, unified documentation for projects that combine Rust and Python code, with special support for PyO3 and maturin bindings.
Features¶
- Unified Documentation - Single documentation site for both Python and Rust APIs
- Cross-Reference Links - Automatic bidirectional links between Python classes and their Rust implementations
- Multiple SSG Support - Generate docs for MkDocs Material or mdBook
- Smart Discovery - Auto-detect Python packages and Rust crates
- Customizable Themes - Full theme support with CSS variables for dark mode
- Template Overrides - Customize any template without forking
Quick Example¶
# Initialize configuration
plissken init
# Generate documentation
plissken render
# Serve with MkDocs
mkdocs serve
Installation¶
Documentation Structure¶
When you run plissken render, it generates a documentation structure like:
docs/api/
mypackage.md # Python module page
mypackage/
submodule.md # Nested module page
rust/
mycrate.md # Rust crate page
mycrate/
module.md # Rust submodule page
_nav.yml # Navigation for mkdocs.yml
Cross-Reference Magic¶
For PyO3 bindings, plissken automatically creates bidirectional links:
In Python docs:
Rust Implementation:
mycrate::MyStruct→ links to Rust doc page
In Rust docs:
Python API:
mypackage.MyClass→ links to Python doc page
Learn plissken¶
-
Tutorials — Learn by doing
Step-by-step guides to get your first documentation site running.
-
How-To Guides — Solve specific problems
Practical recipes for installation, configuration, customization, and CI.
-
Reference — Look up details
CLI flags, configuration options, data model, and template variables.
-
Explanation — Understand the design
Architecture, cross-reference algorithm, parsing, and theme system.