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/
python/
mypackage/
index.md # Package overview
MyClass.md # Class documentation
my_function.md # Function documentation
rust/
mycrate/
index.md # Module overview
MyStruct.md # Struct documentation
_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
Next Steps¶
- Installation - Detailed installation instructions
- Quick Start - Get your first docs generated
- Configuration - Customize plissken.toml
- API Reference - Full API documentation