Skip to main content

Documetatio from annotations

Project description

Douki

Language-agnostic YAML docstrings for Python.

Douki is a developer tool that uses a structured YAML format inside Python docstrings. It keeps your docstrings in sync with your function signatures and validates them against a schema — all without adding a runtime dependency to your package.

Why Douki?

  • Structured — docstrings are YAML, not free-form text. Parameters have type, description, optional, and default fields.
  • Auto-synceddouki sync adds new parameters, removes stale ones, and updates return types automatically.
  • Validated — every docstring is checked against a JSON Schema so typos and invalid fields are caught early.
  • Dev-only — Douki is a development tool. It does not need to be a runtime dependency of your package.
  • Migratable — convert existing NumPy-style docstrings with douki migrate numpydoc.

Quick Start

Install Douki as a dev dependency:

pip install douki

Write a docstring in Douki YAML format:

def add(a: int, b: int = 0) -> int:
    """
    title: Add two integers
    parameters:
      a:
        type: int
        description: First value.
      b:
        type: int
        description: Second value.
        default: 0
    returns:
      type: int
      description: Sum of a and b.
    """
    return a + b

Sync your docstrings with the actual signatures:

# Preview changes
douki check src/

# Apply changes in-place
douki sync src/

What's Next?

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

douki-0.9.2.tar.gz (16.4 kB view details)

Uploaded Source

Built Distribution

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

douki-0.9.2-py3-none-any.whl (17.8 kB view details)

Uploaded Python 3

File details

Details for the file douki-0.9.2.tar.gz.

File metadata

  • Download URL: douki-0.9.2.tar.gz
  • Upload date:
  • Size: 16.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.13.12 Linux/6.14.0-1017-azure

File hashes

Hashes for douki-0.9.2.tar.gz
Algorithm Hash digest
SHA256 82e56e1a0e906b231d6f78759d11a05efe1a1cc1e8c7b105bc27279d33ddbb3c
MD5 654756d67172fcef3ac8982157cf3fab
BLAKE2b-256 899281798a474adf317e640a7bc5906f2d963c77c085baa95e526eaa18d4a962

See more details on using hashes here.

File details

Details for the file douki-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: douki-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 17.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.1 CPython/3.13.12 Linux/6.14.0-1017-azure

File hashes

Hashes for douki-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3529dabb47152060e664d3e26abd39d9bc46a1677d2148bacac2d950a271862a
MD5 8b1d65016a5b19b3aea1636c581b3604
BLAKE2b-256 6796c9f584142280a95d7a7003ec4fa7c3a16709c3ca45af26a60e0c73bb7261

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