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

Exclude internal modules from documentation:

mdxify --all --root-module mypackage --exclude mypackage.internal --exclude mypackage.tests

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 / --navigation-key: Name of the navigation anchor or group to update (default: 'SDK Reference')
  • --exclude: Module to exclude from documentation (can be specified multiple times). Excludes the module and all its submodules.

Navigation Updates

mdxify can automatically update your docs.json navigation by finding either anchors or groups:

  1. First run: Add a placeholder in your docs.json using either format:

Anchor format (e.g., FastMCP):

{
  "navigation": [
    {
      "anchor": "SDK Reference",
      "pages": [
        {"$mdxify": "generated"}
      ]
    }
  ]
}

Group format (e.g., Prefect):

{
  "navigation": [
    {
      "group": "SDK Reference",
      "pages": [
        {"$mdxify": "generated"}
      ]
    }
  ]
}
  1. Subsequent runs: mdxify will find and update the existing anchor or group directly - no placeholder needed!

The --anchor-name parameter (or its alias --navigation-key) identifies which anchor or group 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.13.tar.gz (44.9 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.13-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mdxify-0.2.13.tar.gz
  • Upload date:
  • Size: 44.9 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.13.tar.gz
Algorithm Hash digest
SHA256 1c40f049ba64862413cee2c54f0c64cfc8d0bdb74eab104701a7583e5805f223
MD5 32e701114d4bd4c1ac5dd28949776439
BLAKE2b-256 1dbea943abc665762cb07a42091ecb96b6f64eb9683d9029c07fe17c985a92b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mdxify-0.2.13-py3-none-any.whl
  • Upload date:
  • Size: 15.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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 90b78d5b06082e41b909c17fe2bb72d79fd65f46d5b7dfe55927f568d082655c
MD5 0c3bd55101b23612b0df68f4cca016e4
BLAKE2b-256 81136312c117bc5fa6fbb527b585e616efc81d31c6ebdfac8cbac0289ad9a4b3

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