Skip to main content

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 variable
    • variable = 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 .wikin packaged CSS themes and JS plugins!
  • Custom Pages: Easily inject README or dynamically parsed LICENSE files 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

craftllc_wikin-1.3.0.tar.gz (47.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

craftllc_wikin-1.3.0-py3-none-any.whl (23.3 kB view details)

Uploaded Python 3

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

Hashes for craftllc_wikin-1.3.0.tar.gz
Algorithm Hash digest
SHA256 863b8b77f765900d10ef59a5101f1563c1ddc70a589c43d884375d53b90f1f84
MD5 156e6c64798f21f23238b4aaac39b6ea
BLAKE2b-256 a60f6d89fecf37fed0dee23014b886e8dc3d7e4fdc434bcd2374391fccd9308b

See more details on using hashes here.

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

Hashes for craftllc_wikin-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d924ef9e4d4233b55682310dfadaa0e42d4047dc556c74a3af391221a739e0a6
MD5 ea442d98e5d02332fa1cec47487394d9
BLAKE2b-256 00aaa030fa37a43f8b90eaea6692a95d75c4884c79728785f0f67e283fae9359

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page