mirror of
https://github.com/ComposioHQ/composio.git
synced 2026-09-22 11:46:35 +08:00
e7bb45f449
This PR: - normalizes Python SDK reference examples generated from source docstrings - rewrites the `Triggers.parse()` docstring so the generated Flask/FastAPI examples are copy-pasteable - strips nested Markdown fences before wrapping generated examples in MDX code fences - regenerates `docs/content/reference/sdk-reference/python/` - adds regression coverage for the `Triggers.parse()` generated example and fenced example normalization - does not include a changeset because this only changes docs generation, generated docs, and tests ## Verification - `cd python && .venv/bin/python -m pytest tests/test_generate_docs.py -q` - `cd python && .venv/bin/ruff check --config config/ruff.toml composio/core/models/triggers.py scripts/generate-docs.py tests/test_generate_docs.py` - `cd python && .venv/bin/ruff format --check --config config/ruff.toml composio/core/models/triggers.py scripts/generate-docs.py tests/test_generate_docs.py` - `cd python && .venv/bin/python scripts/generate-docs.py` - `cd docs && bun install --frozen-lockfile` - `cd docs && bun run types:check`
SDK Documentation Generator
Generates MDX reference docs from Python source using griffe.
Usage
cd python
uv run --with griffe python scripts/generate-docs.py
How it works
- griffe extracts docstrings from
composio/**/*.py→ structured data generate-docs.pytransforms data → MDX files- Output written to
docs/content/reference/sdk-reference/python/
Configuration
- Expected classes:
EXPECTED_CLASSESdict maps class name → Composio property - Modules to search:
CLASS_MODULESlist - Decorators:
DECORATORS_TO_DOCUMENTlist
CI
.github/workflows/generate-sdk-docs.yml triggers on changes to python/composio/** and opens a PR with updated docs.