Skip to main content

Generate llms.txt markdown from FastAPI OpenAPI schema for AI agents

Project description

fast-llms-txt

PyPI version Python License Downloads

Generate an llms.txt markdown manifest from your FastAPI OpenAPI schema for AI agents.

Inspired by the llms.txt specification for LLM-friendly documentation.

Installation

uv add fast-llms-txt

Usage

from fastapi import FastAPI
from fast_llms_txt import create_llms_txt_router

app = FastAPI(title="My API", description="A sample API")

@app.get("/users")
def list_users(limit: int = 10):
    """List all users."""
    return []

# Mount the llms.txt endpoint
app.include_router(create_llms_txt_router(app), prefix="/docs")

The prefix determines the final URL path. For example:

  • prefix="/docs"GET /docs/llms.txt
  • prefix="/api/v1/docs"GET /api/v1/docs/llms.txt

Now GET /docs/llms.txt returns:

# My API

> A sample API

## Endpoints

- **GET /users** - List all users.
  - **Parameters**:
    - `limit` (integer, optional)
  - **Response** (200): Successful Response

API

create_llms_txt_router(app, path="/llms.txt")

Creates a FastAPI router that serves the llms.txt endpoint.

  • app: Your FastAPI application instance
  • path: The endpoint path (default: /llms.txt)

generate_llms_txt(openapi_schema)

Directly convert an OpenAPI schema dict to llms.txt markdown string.


Appendix: Release Procedure

Versioning

This project uses semantic versioning:

  • PATCH (0.1.x): Bug fixes, no API changes
  • MINOR (0.x.0): New features, backward compatible
  • MAJOR (x.0.0): Breaking API changes

Release Steps

Run the release script:

./scripts/release.sh 0.2.0

This will:

  1. Update version in pyproject.toml and fast_llms_txt/__init__.py
  2. Show diff and prompt for confirmation
  3. Commit and tag
  4. Optionally push (triggers PyPI publish via GitHub Actions)

Infrastructure

  • PyPI: pypi.org/project/fast-llms-txt
  • Trusted Publishing: No tokens required; GitHub Actions authenticates via OIDC
  • Environment: release environment in GitHub repo settings restricts publishing to v* tags

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

fast_llms_txt-0.3.0.tar.gz (57.8 kB view details)

Uploaded Source

Built Distribution

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

fast_llms_txt-0.3.0-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file fast_llms_txt-0.3.0.tar.gz.

File metadata

  • Download URL: fast_llms_txt-0.3.0.tar.gz
  • Upload date:
  • Size: 57.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fast_llms_txt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 15daa3487c1dd1edd1757d100d6a34bf30f3ba48e114124a8909110dbcd835ad
MD5 c543f9345f792971181049b1767a803a
BLAKE2b-256 4c2f0c1799b66ba4a226a2617214027da9ec3f73731a7d5e03d9ee4431466495

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_llms_txt-0.3.0.tar.gz:

Publisher: publish.yml on AlteredCraft/fast-llms-txt

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

File details

Details for the file fast_llms_txt-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: fast_llms_txt-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fast_llms_txt-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5a89ec881f20d8e5951e287da225b8960596165b296f1840b121b83196f65a1b
MD5 24274488a186bd64795a99617051175f
BLAKE2b-256 8d9578710933bf930f0c0adeea11c48a6fd2860718bf88a2c773c16a7ea65c40

See more details on using hashes here.

Provenance

The following attestation bundles were made for fast_llms_txt-0.3.0-py3-none-any.whl:

Publisher: publish.yml on AlteredCraft/fast-llms-txt

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 Pingdom Monitoring Sentry Error logging StatusPage Status page