Skip to main content

Reference Python SDK for the Docs Feedback Protocol

Project description

fixyourdocs (Python SDK)

Reference Python SDK for the Docs Feedback Protocol v0. The protocol lets AI agents file structured reports against documentation pages when the docs break agent task flows.

Install

pip install fixyourdocs

Requires Python 3.9+.

Usage (sync)

from fixyourdocs import Client, Report

report = Report.create(
    doc_url="https://docs.example.com/getting-started",
    summary="The page does not document how to set the API_KEY env var.",
    kind="missing",
    agent_name="claude-code",
)

with Client(api_url="https://hub.fixyourdocs.io") as client:
    result = client.send(report)

print(result.id, result.is_duplicate)

Usage (async)

import asyncio
from fixyourdocs import AsyncClient, Report

async def main() -> None:
    report = Report.create(
        doc_url="https://docs.example.com/getting-started",
        summary="The page does not document how to set the API_KEY env var.",
        kind="missing",
        agent_name="claude-code",
    )
    async with AsyncClient(api_url="https://hub.fixyourdocs.io") as client:
        result = await client.send(report)
    print(result.id, result.is_duplicate)

asyncio.run(main())

API shape

The wire format is a nested object (agent, report, task_context), so the SDK exposes two ways to build a Report:

  • Report.create(...) — ergonomic, flat keyword-argument constructor for the common case. Internally builds the nested wire-format structure.
  • Report(agent=AgentInfo(...), report=ReportBody(...), ...) — the typed nested form, useful when constructing reports programmatically from already-typed sub-objects.

Both produce identical wire output.

Errors

Non-2xx responses raise typed exceptions:

Status Exception
400 ValidationError (.details)
401 AuthError
404 NotFoundError
410 OptedOutError (.since)
413 PayloadTooLargeError (.max_bytes)
415 UnsupportedMediaTypeError
422 PolicyRejectedError (.reason)
429 RateLimitedError (.retry_after)
5xx ServerError (after one automatic retry on 502/503/504)

All inherit from FixYourDocsError.

Licence

Apache License 2.0 — see LICENSE.

Contributing

Contributions require a DCO sign-off and a signed Apache Individual Contributor License Agreement — see CONTRIBUTING.md.

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

fixyourdocs-0.1.0.tar.gz (18.9 kB view details)

Uploaded Source

Built Distribution

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

fixyourdocs-0.1.0-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file fixyourdocs-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for fixyourdocs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9c4d1d58efbd3901872b3ed600672cdc7c039d6bf079bf30330e04d5340f9875
MD5 46725bc23cc7c586e8ffbf46f831adda
BLAKE2b-256 5775cee51612d8bba897596596fc630824c9bbf123ac153b9a50ebc721e39076

See more details on using hashes here.

Provenance

The following attestation bundles were made for fixyourdocs-0.1.0.tar.gz:

Publisher: publish.yml on fixyourdocs/sdk-python

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

File details

Details for the file fixyourdocs-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: fixyourdocs-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fixyourdocs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b09c26079056210ec079121127f40335f17b49922868397d5f1fad1cc989263c
MD5 b31d62de4d8511e30ae8cbb902c45aa4
BLAKE2b-256 c8fa321c701d984a5490670ede4d925fcded69859412fb3bee7c1df51cc0fc02

See more details on using hashes here.

Provenance

The following attestation bundles were made for fixyourdocs-0.1.0-py3-none-any.whl:

Publisher: publish.yml on fixyourdocs/sdk-python

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