GSoC 2026 — Automated API Documentation Pipeline
Scope: qumat, qumat_qdp, qdp-core, Docusaurus website, docs CI
Goal: Generate Python and Rust API references directly from source code and publish them under a unified Docusaurus API Reference section, with CI validation, local developer commands, and release/tag-based versioning.
Related umbrella issue: #1012
Track A — Public API audit
Establish the public API boundary and documentation conventions before building the generator.
| ID |
Issue |
What to do |
Week |
| A1 |
#1336 [Docs] Add missing QDP Python API docstrings |
Audit public qumat / qumat_qdp APIs and identify public APIs with missing docstrings. |
Week 1 |
| A2 |
#1337 [Docs] Refresh QDP Python API docstrings |
Review existing public API docstrings, identify stale or insufficient descriptions, and define/align the docstring convention for follow-up implementation. |
Week 1 |
Track B — Python API documentation pipeline
Build the pydoc-markdown-based Python API reference pipeline and generate Docusaurus-compatible Markdown in reviewable stages.
| ID |
Issue |
What to do |
Week |
| B1 |
#1346 [feature] Add pydoc-markdown foundation for Python API docs |
Set up pydoc-markdown with Markdown output; configure autodoc and type hints; add a local make docs-python entry point; produce the first end-to-end Python API build under docs/api/python/. |
Week 2 |
| B2 |
#1347 [feature] Generate Python API pages from public module discovery |
Discover public modules automatically; generate pydoc-markdown stubs and module lists; enforce one-module-per-page output for the Python API reference. |
Week 3 |
| B3 |
#1348 [Docs] Add source docstrings for QDP constructor and alias API entries |
Post-process generated Markdown where needed, including long signatures and formatting that affects Docusaurus readability, without changing the documented API surface. |
Week 3 |
Track C — Rust API documentation pipeline
Convert Rust API docs from rustdoc comments into website-ready Markdown without making CUDA/GPU availability a hard requirement.
| ID |
Issue |
What to do |
Week |
| C1 |
#1349 [feature] Plan Rust API surface and rustdoc conversion path |
Review the Rust API surface starting with qdp-core; define published crates/modules; validate rustdoc JSON and rustdoc-md feasibility; document how the workflow should behave when CUDA or nightly rustdoc tooling is unavailable. |
Week 4 |
| C2 |
#1350 [feature] Generate Rust API Markdown for Docusaurus |
Implement the Rust API doc generation script and package list; post-process Markdown for Docusaurus; add a local make docs-rust entry point; output generated docs to docs/api/rust/. |
Week 5 |
Track D — Website integration
Publish Python and Rust API references under one Docusaurus API section with generated navigation.
| ID |
Issue |
What to do |
Week |
| D1 |
#1351 [feature] Add unified API Reference section to the website |
Add an API Reference landing page and integrate the generated Python/Rust API docs into the Docusaurus docs structure with a consistent top-level entry point. |
Week 6 |
| D2 |
#1352 [feature] Generate Docusaurus API sidebars from Python and Rust doc outputs |
Add a website-side sidebar generation script; wire it into local website build/start commands; provide graceful fallback behavior when generated API outputs do not exist yet. |
Week 6 |
Track E — CI, previews, and versioning
Keep API docs reproducible for contributors and releases, while separating low-risk validation from higher-risk workflows that require write or deploy permissions.
| ID |
Issue |
What to do |
Week |
| E1 |
#1353 [ci] Add API docs build validation workflow |
Add a GitHub Actions workflow that installs docs dependencies, runs the Python API docs build, runs the Rust API docs build where supported, and validates the Docusaurus website build. Keep this workflow read-only and focused on validation. |
Week 7 |
| E2 |
#1354 [ci] Upload API docs preview artifacts for pull requests |
Upload generated API docs / website preview artifacts for PR review, with API-related path filters. Avoid branch pushes or deploy permissions in the first preview iteration. |
Week 7 |
| E3 |
#1355 [feature] Add local docs versioning command for release validation |
Add a local command/script for generating versioned docs from a supplied version string, so release documentation can be tested before enabling tag automation. |
Week 8 |
| E4 |
#1356 [ci] Generate versioned API docs from release tags |
Add a tag-triggered workflow for versioned API documentation after the local versioning flow and ASF deployment/write-back policy are agreed. Keep permissions and generated-file write-back behavior explicit for review. |
Week 8 |
Track F — UX iteration, hardening, and contributor docs
Use feedback to refine the generated docs and make the workflow maintainable after GSoC.
| ID |
Issue |
What to do |
Week |
| F1 |
#1357 [docs] Iterate on API docs UX with user feedback |
Collect feedback from ML practitioners, quant traders, and contributors; evaluate usability/navigation; iterate on structure and wording. |
Week 9 |
| F2 |
#1358 [feature] Polish and harden the API documentation pipeline |
Improve consistency across Python and Rust docs; handle edge cases and error states; address mentor feedback. |
Week 10 |
| F3 |
#1359 [docs] Document the API docs contributor workflow |
Write contributor guide for building, previewing, versioning, and troubleshooting API docs. |
Week 11 |
| F4 |
#1360 [docs] Final validation, demo, and report for API docs pipeline |
Reserve buffer for unexpected issues; validate final goals; prepare final report and demo. |
Week 12 |
GSoC 2026 — Automated API Documentation Pipeline
Scope:
qumat,qumat_qdp,qdp-core, Docusaurus website, docs CIGoal: Generate Python and Rust API references directly from source code and publish them under a unified Docusaurus
API Referencesection, with CI validation, local developer commands, and release/tag-based versioning.Related umbrella issue: #1012
Track A — Public API audit
[Docs] Add missing QDP Python API docstringsqumat/qumat_qdpAPIs and identify public APIs with missing docstrings.[Docs] Refresh QDP Python API docstringsTrack B — Python API documentation pipeline
[feature] Add pydoc-markdown foundation for Python API docsmake docs-pythonentry point; produce the first end-to-end Python API build underdocs/api/python/.[feature] Generate Python API pages from public module discovery[Docs] Add source docstrings for QDP constructor and alias API entriesTrack C — Rust API documentation pipeline
[feature] Plan Rust API surface and rustdoc conversion pathqdp-core; define published crates/modules; validate rustdoc JSON andrustdoc-mdfeasibility; document how the workflow should behave when CUDA or nightly rustdoc tooling is unavailable.[feature] Generate Rust API Markdown for Docusaurusmake docs-rustentry point; output generated docs todocs/api/rust/.Track D — Website integration
[feature] Add unified API Reference section to the website[feature] Generate Docusaurus API sidebars from Python and Rust doc outputsTrack E — CI, previews, and versioning
[ci] Add API docs build validation workflow[ci] Upload API docs preview artifacts for pull requests[feature] Add local docs versioning command for release validation[ci] Generate versioned API docs from release tagsTrack F — UX iteration, hardening, and contributor docs
[docs] Iterate on API docs UX with user feedback[feature] Polish and harden the API documentation pipeline[docs] Document the API docs contributor workflow[docs] Final validation, demo, and report for API docs pipeline