Skip to main content

sphinx-mintlify-output

License: Apache 2.0 Python Sphinx

Sphinx builder that turns reST / MyST sources into a deploy-ready Mintlify project: .mdx pages with YAML frontmatter, copied static assets, and a docs.json navigation manifest.

Useful when your source of truth is reST/MyST (autodoc, intersphinx, sphinx-design) and you want to ship it through Mintlify without rewriting in MDX.

Install

pip install sphinx-mintlify-output
# or
uv add --dev sphinx-mintlify-output

Quickstart

In conf.py:

extensions = ["sphinx_mintlify_output"]

mintlify_docs_json = {
    "name": "My Docs",
    "theme": "mint",
    "colors": {"primary": "#0d9373"},
}

Build:

sphinx-build -b mintlify docs out/mintlify

Point Mintlify at out/mintlify. Done.

Configuration

Key Default Purpose
mintlify_docs_json {} Merged into the generated docs.json
mintlify_static_path [] Directories copied into out/static/
mintlify_image_dir "images" Where images land relative to outdir
mintlify_frontmatter {} Default frontmatter merged into every page
mintlify_component_map {} Override admonition → component mappings
mintlify_emit_anchors True Emit <a id> anchors for autodoc entries and explicit targets (not section headings — Mintlify derives those from markdown)
mintlify_externalize_assets True Pull inline SVG / base64 image URIs into images/ and reference them by path
mintlify_base_path "" URL mount-point. Empty (default) → Sphinx-style relative links (../intro, images/foo.png) that work under any deployment prefix. Set to e.g. "/sandboxes/sdk" to force absolute links rooted at that prefix when embedding into a larger Mintlify site that uses absolute paths everywhere

What's translated

  • reST / MyST core — headings, paragraphs, lists, code blocks, block quotes, transitions.
  • Tables — GFM by default; falls back to <table> HTML for rowspan / colspan / multi-line cells.
  • Admonitionsnote / tip / warning / ... → Mintlify <Note> / <Tip> / <Warning> / <Info> / <Danger>. Use the directive's :class: option to pick <Check>, <Steps> / <Step>, or <Callout>.
  • sphinx-designcard<Card>, tab-set<Tabs> (or <CodeGroup> when every tab is a single code block), dropdown<Accordion>, grids → <Columns cols={N}>.
  • Cross-references:doc: / :ref: become relative links; footnotes and citations become [^id] with matching definitions; abbreviations become <Tooltip>.
  • Images and figures — copied to images/; sized images switch to <img>; figure becomes <Frame caption=…> (short caption) or <Frame> with a rendered caption.
  • Autodoc — Python signatures as anchored heading + fenced code block; :param:<ParamField>; :returns: / :yields: / :raises:<ResponseField>. Classes group their attributes and methods into a styled block.
  • CLI options.. option:: / cmdoption render as a <dl> with backticked signature.
  • Math — inline $…$ and block $$…$$.
  • Raw HTML / MDX — passed through; inline <svg> and base64 data URIs optionally externalised as files.
  • Navigationdocs.json built from the toctree; mixed top-level captioned + uncaptioned toctrees are handled. Override the result via mintlify_docs_json["navigation"].

Unknown nodes are skipped with a Sphinx warning rather than silently dropped.

Development

Requires Python 3.10+ and uv.

uv sync
uv run pytest
uv run mypy sphinx_mintlify_output
uv run ruff check .

tests/golden/ is a byte-exact corpus that pins the rendered output; uv run python tests/capture_golden.py refreshes it after an intentional change.

To add support for a new docutils node: write a TranslationNode subclass under sphinx_mintlify_output/nodes/, register it in the NODE_REGISTRY dict in nodes/__init__.py, and drop a fixture under tests/roots/test-<name>/.

Status

Alpha. Feature-complete for the use cases above; API and config keys may shift before 1.0 — pin a version if you depend on the output layout.

Copyright

Nebius B.V. 2026, licensed under the Apache License, Version 2.0 (see LICENSE).

Download files

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

Source Distribution

sphinx_mintlify_output-0.1.2.tar.gz (41.8 kB view details)

Uploaded Source

Built Distribution

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

sphinx_mintlify_output-0.1.2-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file sphinx_mintlify_output-0.1.2.tar.gz.

File metadata

  • Download URL: sphinx_mintlify_output-0.1.2.tar.gz
  • Upload date:
  • Size: 41.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sphinx_mintlify_output-0.1.2.tar.gz
Algorithm Hash digest
SHA256 43e98eaeb002013819f4fa666d213d21282cd159d3a7e2c6f6dfbf1f09cb0cc2
MD5 b57aa0655a2c4a8f40cb37efb6212882
BLAKE2b-256 d6e683f07875dc3df25b31af2d96fd283f47d689c3ab960254e0f0cb32b35692

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_mintlify_output-0.1.2.tar.gz:

Publisher: publish.yml on nebius/sphinx-mintlify-output

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sphinx_mintlify_output-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sphinx_mintlify_output-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a0070a295cb94f1d35dda118410082c31b447ffb02fb3ed07fcefa7f8a8e43a1
MD5 5073809f81db422a088925b4f915ad9e
BLAKE2b-256 23468a4d51d6f361ddbe0da5c64647965e3154f0cf85ad7df53019d6c88062d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for sphinx_mintlify_output-0.1.2-py3-none-any.whl:

Publisher: publish.yml on nebius/sphinx-mintlify-output

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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