Skip to main content

sphinx-llm-friendly

Sphinx extension that makes documentation LLM-friendly:

  • A Markdown version of every page, next to its HTML version.

  • llms.txt, with a link to the Markdown version of every page.

  • llms-full.txt, with the Markdown version of all pages.

  • HTML pages point to their Markdown version with a <link rel="alternate" type="text/markdown"> tag, and get a button to copy their Markdown version.

Setup

  1. Install it:

    pip install sphinx-llm-friendly
  2. Add it to extensions in conf.py:

    extensions = [
        # …
        "sphinx_llm_friendly",
    ]
  3. Build your documentation with the html builder:

    sphinx-build -b html docs docs/_build/html

    The Markdown pages, llms.txt and llms-full.txt are written next to the HTML pages. In the Markdown output, links to sites from intersphinx_mapping that serve Markdown point to the Markdown version of their pages.

Configuration

llm_friendly_exclude

List of patterns, with the syntax of exclude_patterns, of documents to leave out of the Markdown output and llms.txt. Default: [].

llm_friendly_llms_full_txt_exclude

List of patterns, with the syntax of exclude_patterns, of documents to leave out of llms-full.txt only. Default: [].

llm_friendly_llms_full_txt_max_tokens

Maximum number of tokens of llms-full.txt, counted with the cl100k_base encoding of tiktoken. Exceeding it logs a warning. None lifts the limit. Default: 200_000.

llm_friendly_llms_txt_summary

Summary for llms.txt. Default: the first paragraph of the root document.

llm_friendly_llms_txt_toctree_only

If True, llms.txt only lists documents reachable through toctrees from the root document. Default: False.

To leave content out of the Markdown output, give it the llm-friendly-exclude class, e.g. with the container directive. For a sphinx-design tab, use the class-label or class-content option of tab-item.

For the Markdown output, the only directive evaluates its expression with the llm tag instead of html, e.g. use .. only:: llm for content to include only in the Markdown output, and .. only:: not llm for content to leave out of it.

Nodes from third-party extensions that are still in the doctree when HTML is written need Markdown handlers, registered with app.add_node() as llm_markdown.

Release files for sphinx-llm-friendly 0.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sphinx-llm-friendly 0.5.0
File Size Uploaded
sphinx_llm_friendly-0.5.0.tar.gz 67.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sphinx-llm-friendly 0.5.0
File Interpreter ABI Platform
sphinx_llm_friendly-0.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 95.9 kB

Release files / sphinx_llm_friendly-0.5.0.tar.gz

Download URL sphinx_llm_friendly-0.5.0.tar.gz
Size 67.9 kB
Tags Source
SHA-256 checksum
How to use checksums
045b6381c212779741172f66b4ec2072caed7f1000b182277a5d7f9e9f491727
BLAKE2b-256 checksum
How to use checksums
64e4d43e39baec4450d37638be10259ad7c94e479f4452e7470aeb8ce31ab7f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / sphinx_llm_friendly-0.5.0-py3-none-any.whl

Download URL sphinx_llm_friendly-0.5.0-py3-none-any.whl
Size 27.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dce7fc7a977a8eca6eb17842c7a41999d31b1f9ff6f72ffbfa3d094a5a6fa8be
BLAKE2b-256 checksum
How to use checksums
9cf06ce830b3ce83576a46d2699adfabb14d34418a4616987b813621ecc3d3da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page