A simple documentation generator for Python
Project description
Wikin
A simple, beautiful documentation generator for Python. It extracts docstrings from functions and special comments from variables.
Features
- Function Docstrings: Standard Python triple-quoted docstrings.
- Variable Documentation:
#: comment before variablevariable = value #: comment after variable
- Global Search: Instantly find functions, classes, and variables across all modules.
- Multipage Mode: Generate a clean landing page and separate files for each module.
- Modern UI: Clean, responsive HTML output with a premium glassmorphic look.
- Markdown Support: Use Markdown in your docstrings and comments.
- Docstring Tables: Automatically formats Google-style and NumPy-style parameters, attributes, and returns into elegant Markdown tables.
- Addons (Themes & Plugins): Customize the look and feel with
.wikinpackaged CSS themes and JS plugins! - Custom Pages: Easily inject
READMEor dynamically parsedLICENSEfiles right into the sidebar. - Module Metadata: Customize how modules appear in the documentation using a
Wikin:block.
Installation
pip install craftllc-wikin
Usage
python -m wikin gen <path_to_code> <project_name> <version> [docs_folder]
Example:
python -m wikin gen ./ "My Project" 1.0.0
This will automatically parse the working directory and output standard HTML files to the customized docs/ folder.
If you have argcomplete installed, Wikin offers full Tab autocomplete for CLI options! Need help? Just run:
python -m wikin help
Variable Documentation Example
#: Number of requests per second
rpm = 10
timeout = 30 #: Connection timeout in seconds
Wikin will pick these up and include them in the generated documentation.
Ignoring Files
To exclude specific files or directories from being processed, create a .wikinignore file in your docs/ folder. It supports standard .gitignore (gitwildmatch) patterns.
Example docs/.wikinignore:
# Ignore a specific file
secret_module.py
# Ignore an entire directory
internal_tools/
# Ignore all files with a certain extension
*.deprecated.py
Configuration
You can fully orchestrate your generated suite by placing a docs/.wikinconfig (TOML format) directly inside your docs directory.
Multipage & Custom Branding
For larger projects, switch into multipage mode to split generated pages. You can also hide the Wikin branded watermark!
[main]
multipage = true
show_generated_by = false
Adding Project Links
To add helpful links (like GitHub, PyPI, or your website) to the sidebar, use the [links] section:
[links]
PyPI = "https://pypi.org/project/craftllc-wikin"
GitHub = "https://github.com/CraftLLC/Wikin"
Custom Markdown Pages & Intelligent Licensing
Wikin allows you to seamlessly inject generic Markdown files right into your sidebar!
[pages]
readme = "README.md"
license = "LICENSE"
license-parse = true
If license-parse = true is enabled, Wikin employs a versatile Regex parsing backend capable of correctly detecting MIT, Apache 2.0, GNU GPL (v2/v3), BSD (2/3-Clause), MPL 2.0, WTFPL, and more! It dynamically structures the Year, Type, and Author neatly above your license file.
Themes & Plugins (Addons API)
Wikin supports community-provided ZIP addons formatted with .wikin extensions! Place these archives into docs/addons/.
[addons]
themes = ["OLED"]
plugins = ["search_optimizer"]
These archives must contain a standard manifest.json mapped to their core main_css or main_js files.
Try our included OLED.wikin theme to transform the standard glassmorphic array into a completely flat, pure-black experience designed exclusively for organic LED developers.
Module Metadata Example
You can set a custom display name for your modules by adding a Wikin: block at the top of your module's docstring:
"""
Wikin:
name: Core Parser
This module handles all the parsing logic for Wikin.
"""
In the documentation, this module will be titled as Core Parser (your_package.parser). The metadata block itself will be dynamically filtered from the description rendering.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file craftllc_wikin-1.3.0.tar.gz.
File metadata
- Download URL: craftllc_wikin-1.3.0.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
863b8b77f765900d10ef59a5101f1563c1ddc70a589c43d884375d53b90f1f84
|
|
| MD5 |
156e6c64798f21f23238b4aaac39b6ea
|
|
| BLAKE2b-256 |
a60f6d89fecf37fed0dee23014b886e8dc3d7e4fdc434bcd2374391fccd9308b
|
File details
Details for the file craftllc_wikin-1.3.0-py3-none-any.whl.
File metadata
- Download URL: craftllc_wikin-1.3.0-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d924ef9e4d4233b55682310dfadaa0e42d4047dc556c74a3af391221a739e0a6
|
|
| MD5 |
ea442d98e5d02332fa1cec47487394d9
|
|
| BLAKE2b-256 |
00aaa030fa37a43f8b90eaea6692a95d75c4884c79728785f0f67e283fae9359
|