Skip to content

Add nightly Python API docs workflow for Gazebo Python bindings - #709

Open
SomeshG1151 wants to merge 2 commits into
gazebosim:masterfrom
SomeshG1151:python-api-docs
Open

Add nightly Python API docs workflow for Gazebo Python bindings#709
SomeshG1151 wants to merge 2 commits into
gazebosim:masterfrom
SomeshG1151:python-api-docs

Conversation

@SomeshG1151

Copy link
Copy Markdown

Closes #663

What this adds

  • .github/workflows/nightly-python-docs.yml — nightly CI that builds and deploys Python API docs, mirroring the existing nightly-upload.yml pattern for Doxygen
  • tools/build_python_docs.py — generates Sphinx autodoc HTML for each distro/library
  • tools/restructure_python_artifacts.py — restructures build artifacts for deployment to api/python/{lib}/{version}/

Approach

Follows the same build → artifact → restructure → deploy pattern as the existing C++ Doxygen workflow. Prototype targets gz-math across harmonic, ionic, and jetty. Can be expanded to gz-msgs, gz-transport, sdformat once this is validated.

Notes

  • Ubuntu 26.04 (resolute) doesn't yet have python3-gz-math* packages in the OSRF apt repo, so this was tested locally with Sphinx only. The workflow targets jammy/noble containers where the packages are available.
  • Used furo theme for cleaner output; can be changed to match site style if preferred.

Adds a new CI workflow that builds Sphinx autodoc documentation
for Gazebo libraries with Python bindings, following the same
pattern as the existing nightly-upload.yml for Doxygen docs.

- nightly-python-docs.yml: builds and deploys Python API docs
- tools/build_python_docs.py: generates Sphinx HTML per distro
- tools/restructure_python_artifacts.py: restructures artifacts
  for deployment to api/python/{lib}/{version}/

Prototype targets gz-math across harmonic, ionic, and jetty.
Closes gazebosim#663
@SomeshG1151
SomeshG1151 marked this pull request as ready for review August 14, 2026 23:33
@SomeshG1151
SomeshG1151 requested a review from azeey as a code owner August 14, 2026 23:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Inbox

Development

Successfully merging this pull request may close these issues.

Integrate auto-generated documentation for Gazebo Python bindings into the main docs site

2 participants