Skip to main content

Generate MDX API documentation from Python modules

Project description

mdxify

Generate MDX API documentation from Python modules with automatic navigation structure.

Installation

pip install mdxify

Usage

Generate documentation for all modules in a package:

mdxify --all --root-module mypackage --output-dir docs/python-sdk

Generate documentation for specific modules:

mdxify mypackage.core mypackage.utils --output-dir docs/python-sdk

Options

  • modules: Specific modules to document
  • --all: Generate documentation for all modules under the root module
  • --root-module: Root module to generate docs for (required when using --all)
  • --output-dir: Output directory for generated MDX files (default: docs/python-sdk)
  • --update-nav/--no-update-nav: Update docs.json navigation (default: True)
  • --skip-empty-parents: Skip parent modules that only contain boilerplate (default: False)
  • --anchor-name: Name of the navigation anchor to update (default: 'SDK Reference')

Navigation Updates

mdxify can automatically update your docs.json navigation in two ways:

  1. First run: Add a placeholder in your docs.json:
{
  "navigation": [
    {
      "anchor": "SDK Reference",
      "groups": [
        {
          "group": "Modules", 
          "pages": [
            {"$mdxify": "generated"}
          ]
        }
      ]
    }
  ]
}
  1. Subsequent runs: mdxify will find and update the existing anchor directly - no placeholder needed!

The navigation structure uses the --anchor-name parameter (default: "SDK Reference") to identify which section to update.

Features

  • Fast AST-based parsing - No module imports required
  • MDX output - Compatible with modern documentation frameworks
  • Automatic navigation - Generates hierarchical navigation structure
  • Google-style docstrings - Formats docstrings using Griffe
  • Smart filtering - Excludes private modules and known test patterns

Development

# Install development dependencies
uv sync

# Run tests
uv run pytest

# Run type checking
uv run ty check

# Run linting
uv run ruff check src/ tests/

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

mdxify-0.2.9.tar.gz (41.1 kB view details)

Uploaded Source

Built Distribution

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

mdxify-0.2.9-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file mdxify-0.2.9.tar.gz.

File metadata

  • Download URL: mdxify-0.2.9.tar.gz
  • Upload date:
  • Size: 41.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mdxify-0.2.9.tar.gz
Algorithm Hash digest
SHA256 a42967858a909095f9efab5c29fed1a7ec32607e36f3c3ff5b4f74890cb5758e
MD5 33e639aabfa8495bb3974b35db8e484c
BLAKE2b-256 c65f2bd10eed253ebd86f52a15a30e79188b3440ed94673e3c220cdcc67814b9

See more details on using hashes here.

File details

Details for the file mdxify-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: mdxify-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for mdxify-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 e04d6784a2f780ead2916e24ad8b8d58edb1f8a9e843f1044697dd5c8d8de8b2
MD5 b4da3f103595d75d637b9466ddae4de4
BLAKE2b-256 71bb9ac3388c585e92f80973d1f8f688d94f61c3915c1708dfd293aea3ecea14

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