Summary
Add auto-generated Python API documentation for Gazebo libraries with Python bindings, integrated into the main documentation site.
Motivation
Gazebo libraries increasingly provide Python bindings (sdformat, gz-math, gz-msgs, gz-transport), but there's no centralized API documentation for Python users. This makes it difficult for Python developers to discover and use the available APIs.
Context
It could follow the existing Doxygen (C++ API) documentation pattern:
- Nightly CI workflow to build Python documentation using Sphinx autodoc
- Automatic deployment to
gazebosim.org/api/python/{library}/{version}/
- Integration with main docs via Library Reference page links
- Prototype with sdformat, then expand to other libraries
Technical Approach suggestions
- Use Sphinx with autodoc extension to generate documentation from installed Python modules
- Follow the existing
nightly-upload.yml workflow pattern for C++ Doxygen docs
- Deploy to
/api-python/ nested under the existing /api/ structure
- Build for each active distribution (Fortress, Harmonic, Ionic, Jetty)
Summary
Add auto-generated Python API documentation for Gazebo libraries with Python bindings, integrated into the main documentation site.
Motivation
Gazebo libraries increasingly provide Python bindings (sdformat, gz-math, gz-msgs, gz-transport), but there's no centralized API documentation for Python users. This makes it difficult for Python developers to discover and use the available APIs.
Context
It could follow the existing Doxygen (C++ API) documentation pattern:
gazebosim.org/api/python/{library}/{version}/Technical Approach suggestions
nightly-upload.ymlworkflow pattern for C++ Doxygen docs/api-python/nested under the existing/api/structure