Add Sphinx/Doxygen/Breathe documentation framework for phlex and phlex::experimental API#323
Add Sphinx/Doxygen/Breathe documentation framework for phlex and phlex::experimental API#323
Conversation
|
@copilot I think for maximum clarity, it would be better to reset this branch to upstream/main and then re-do the work following the current philosophy, functions/class structure, etc. |
Done. In commit The PR now shows only 13 files changed (135 additions, 0 deletions from main): the |
0712ae9 to
2095c80
Compare
There was a problem hiding this comment.
Pull request overview
Adds a Sphinx + Doxygen + Breathe documentation scaffold under docs/ to generate API reference documentation for key phlex::experimental types, along with dependency requirements and gitignore entries for generated outputs.
Changes:
- Add Sphinx project entrypoint (
index.rst) and minimalconf.pywired to Breathe. - Add API reference
.rstpages for severalphlex::experimentalclasses. - Add Doxygen configuration + Python requirements, and ignore generated docs artifacts in
.gitignore.
Reviewed changes
Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| docs/source/index.rst | Adds top-level Sphinx landing page and toctree for API pages. |
| docs/source/conf.py | Adds Sphinx configuration with Breathe integration. |
| docs/source/api/graph_proxy.rst | Adds API page for phlex::experimental::graph_proxy. |
| docs/source/api/framework_graph.rst | Adds API page for framework_graph and layer_sentry. |
| docs/source/api/registrar.rst | Adds API page for phlex::experimental::registrar. |
| docs/source/api/declared_transform.rst | Adds API page for declared_transform. |
| docs/source/api/declared_fold.rst | Adds API page for declared_fold. |
| docs/source/api/declared_unfold.rst | Adds API page for declared_unfold. |
| docs/source/api/product_store.rst | Adds API page for product_store. |
| docs/source/api/products.rst | Adds API page for products. |
| docs/requirements.txt | Adds Python dependencies for building docs. |
| docs/Doxyfile | Adds Doxygen configuration to emit XML for Breathe. |
| .gitignore | Ignores generated Doxygen/Sphinx build output directories. |
Comments suppressed due to low confidence (1)
docs/requirements.txt:4
- The PR description says dependencies are “pinned”, but
requirements.txtuses version ranges (e.g.,>=9.1,<10) which will allow new releases and can change doc build output over time. Either pin exact versions (e.g.,==...) to match the description, or update the description to reflect that these are minimum/compatible ranges. Also remove the trailing blank line at EOF to avoid generating a 4th empty requirement line.
sphinx>=9.1,<10
breathe>=4.36,<5
sphinx-rtd-theme>=3.1,<4
|
@phlexbot python-fix |
|
Automatic ruff fixes pushed (commit af87c94). |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #323 +/- ##
=======================================
Coverage 84.94% 84.94%
=======================================
Files 127 127
Lines 3341 3341
Branches 574 574
=======================================
Hits 2838 2838
Misses 306 306
Partials 197 197
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
824f679 to
a7a5bf2
Compare
dcbc52d to
e416cbc
Compare
e416cbc to
85a095f
Compare
85a095f to
a62c7df
Compare
Re-evaluated after rebase. The only needed fix was removing the |
3b11ebf to
a04ec85
Compare
|
@copilot https://gh.io/copilot-coding-agent-docs #323 (branch |
Done in Doxyfile paths fixed:
|
4dc2b20 to
267fc43
Compare
|
Review the full CodeQL report for details. |
267fc43 to
8934e85
Compare
…work This commit introduces the foundational infrastructure for documenting the C++ codebase using a Sphinx, Doxygen, and Breathe toolchain. Key changes include: - A new `docs/` directory to house all documentation-related files. - Configuration files for Sphinx (`conf.py`) and Doxygen (`Doxyfile`). - A `requirements.txt` file listing the necessary Python dependencies for building the documentation. - The `phlex/core/graph_proxy.hpp` header has been fully documented with Doxygen comments to serve as a style guide and working example. - An initial Sphinx structure in `docs/source/` that integrates the Doxygen XML output via Breathe, making the `graph_proxy` documentation available on the documentation website. Initial plan Update docs: pin latest deps, fix version, expand API coverage, add .gitignore entries Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Reset branch to main and re-apply docs-only changes Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Fix docs for current codebase: correct version, class names, macros, and .gitignore Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Add module docstring to docs/source/conf.py for ruff D100 compliance Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Apply ruff fixes Ignore `mypy` errors
Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
…ing entry points) Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
…docs (configuration, handle, concurrency) Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com>
8934e85 to
7ab18e8
Compare
|
@copilot PR #323 (branch copilot/update-branch-with-main-again) has been rebased against main once more: please re-evaluate and bring up to date with respect to the goals of your original prompt for this task. Please ensure the documentation added by this PR remains accurate and up-to-date with respect to changes to |
Co-authored-by: greenc-FNAL <2372949+greenc-FNAL@users.noreply.github.com> Agent-Logs-Url: https://github.com/Framework-R-D/phlex/sessions/c907fe9c-6f80-4160-ac32-440e2909ef30
Re-evaluated after rebase. The only commit to main since the last rebase was workflow/action maintenance (#434) — no new public API classes were added. All 13 documented classes verified present ( Also fixed the outstanding review issue: removed the nonexistent |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Adds a Sphinx + Doxygen + Breathe documentation scaffold under
docs/to generate API reference documentation forphlexandphlex::experimentaltypes, along with dependency requirements and gitignore entries for generated outputs.Documentation framework
docs/Doxyfile: Doxygen configuration for XML output consumed by Breathe; paths are repo-root-relative — invoke asdoxygen docs/Doxyfilefrom the repository rootdocs/source/conf.py: Sphinx configuration with Breathe integration, version0.1.0matchingCMakeLists.txt;breathe_projectspath (../doxygen/xml/) resolves correctly todocs/doxygen/xml/fromdocs/source/docs/source/index.rst: documentation index organized into three toctree sections: Plugin entry points, Algorithm nodes, Data modelDependency pinning
docs/requirements.txt:sphinx>=9.1,<10,breathe>=4.36,<5,sphinx-rtd-theme>=3.1,<4API pages —
phlexnamespacephlex::configuration— parameter access class used by every algorithmphlex::handle<T>— data product access wrapper passed to algorithm functionsphlex::concurrency— concurrency control struct used in algorithm registrationAPI pages —
phlex::experimentalnamespacemodule_graph_proxy,source_graph_proxy,graph_proxy,framework_graph,registrardeclared_transform,declared_fold,declared_unfoldproduct_store,productsDoxyfile configuration
INPUT = phlex form,OUTPUT_DIRECTORY = docs/doxygen(repo-root-relative)FILE_PATTERNS = *.hpp *.cpp,EXCLUDE_PATTERNS = */detail/*PREDEFINEDmacros for current codebase (BOOST_DLL_ALIAS,PHLEX_DETAIL_REGISTER_PLUGIN)Housekeeping
.gitignore: addeddocs/doxygen/anddocs/build/for generated outputconf.py: module docstring added for ruff D100 compliance💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.