LLM-friendly documentation outputs for Sphinx — llms.txt, llms-full.txt, docs.json, per-page Markdown
Project description
sphinx-gp-llms
LLM-friendly documentation outputs for Sphinx. Generates llms.txt,
llms-full.txt, docs.json, and per-page .md twin files during the
standard HTML build, giving LLM agents machine-readable entry points to
your documentation.
Part of the gp-sphinx documentation platform.
Install
$ pip install sphinx-gp-llms
When you depend on gp-sphinx, this extension is already loaded — see
the package docs page
for the integration story. The full config-key reference is
auto-generated from the live app.add_config_value() registrations.
Credits
The output formats follow conventions established by their respective communities:
llms.txt— proposed by Jeremy Howard (Answer.AI), September 2024. Specification at llmstxt.org.llms-full.txt— community convention adopted by Anthropic, Cloudflare, GitBook, Hugging Face, and others.docs.json— agent-manifest convention inspired by Lakebed (Ping,github.com/pingdotgg/span). See A note ondocs.jsonbelow.- Per-page
.mdtwins — convention popularized by Cloudflare ("Markdown for Agents"), Stripe, Anthropic, and Vercel. - Footer layout (
Source: docs/page.md · Machine-readable: Markdown, raw source, docs.json, llms.txt, llms-full.txt) — inspired by docs.lakebed.dev.
A note on docs.json
Sphinx already ships an inter-project linking mechanism:
objects.inv,
the inventory file that powers
intersphinx.
It maps qualified names (classes, functions, config values) to URLs
across Sphinx sites. It is not, however, designed for LLM consumption
— the format is a compressed binary with a domain-specific schema
oriented toward cross-reference resolution, not content discovery.
docs.json fills a different role: a site-level beacon that tells
agents where the documentation lives, what pages exist, and how to
fetch them in Markdown. It carries agentEntrypoints (pointers to
llms.txt, llms-full.txt, and itself), a flat pages[] array with
per-page markdownUrl and headings[], and the project's
sourceRepository.
There is no published specification for this format. We first noticed
the convention at Lakebed
(github.com/pingdotgg/span). Other documentation platforms also
emit a file named docs.json, but those are typically site-builder
configuration files (theme colors, navigation structure) closer to a
manifest.json than an agent-oriented content manifest.
See also
- sphinx-gp-sitemap
— companion package for
sitemap.xmlemission - sphinx-gp-opengraph — companion package for OpenGraph meta-tag emission
- gp-sphinx — the umbrella
docs platform; auto-derives
site_urlfrom a singledocs_urlargument - sphinx-gp-llms package page — integration story, event hooks, and config reference
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sphinx_gp_llms-0.0.1a33.tar.gz.
File metadata
- Download URL: sphinx_gp_llms-0.0.1a33.tar.gz
- Upload date:
- Size: 9.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8314ba66140210d7cfe8ab2f5be6b7a805df9a6076b96ff16219b1ca18783504
|
|
| MD5 |
a7ec557b33268e813e349d624614fd08
|
|
| BLAKE2b-256 |
c7cc2c09d454b8864e0a097e231759de3c75525adb7f7e5a8a671db7f7719f11
|
Provenance
The following attestation bundles were made for sphinx_gp_llms-0.0.1a33.tar.gz:
Publisher:
release.yml on git-pull/gp-sphinx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sphinx_gp_llms-0.0.1a33.tar.gz -
Subject digest:
8314ba66140210d7cfe8ab2f5be6b7a805df9a6076b96ff16219b1ca18783504 - Sigstore transparency entry: 2082974703
- Sigstore integration time:
-
Permalink:
git-pull/gp-sphinx@2e91886e6e6b15a35853b9e2597e04150bf583e2 -
Branch / Tag:
refs/tags/v0.0.1a33 - Owner: https://github.com/git-pull
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2e91886e6e6b15a35853b9e2597e04150bf583e2 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sphinx_gp_llms-0.0.1a33-py3-none-any.whl.
File metadata
- Download URL: sphinx_gp_llms-0.0.1a33-py3-none-any.whl
- Upload date:
- Size: 12.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4f2b2e037b9f6366482a6acbaa460d3320e32d5bb2581e4cc9d0d070a93d166
|
|
| MD5 |
d580e3b482e223eaead9657567bcc3c1
|
|
| BLAKE2b-256 |
56c37e338f137ac12a1343c86f0ed1ec11bebc05dc00d159c3271594005b8070
|
Provenance
The following attestation bundles were made for sphinx_gp_llms-0.0.1a33-py3-none-any.whl:
Publisher:
release.yml on git-pull/gp-sphinx
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sphinx_gp_llms-0.0.1a33-py3-none-any.whl -
Subject digest:
a4f2b2e037b9f6366482a6acbaa460d3320e32d5bb2581e4cc9d0d070a93d166 - Sigstore transparency entry: 2082985074
- Sigstore integration time:
-
Permalink:
git-pull/gp-sphinx@2e91886e6e6b15a35853b9e2597e04150bf583e2 -
Branch / Tag:
refs/tags/v0.0.1a33 - Owner: https://github.com/git-pull
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@2e91886e6e6b15a35853b9e2597e04150bf583e2 -
Trigger Event:
push
-
Statement type: