-
Notifications
You must be signed in to change notification settings - Fork 30
Add C++ API documentation #170
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds comprehensive C++ API documentation using Doxygen and Sphinx/Breathe. It introduces a GitHub Actions workflow to build and deploy documentation to GitHub Pages, sets up the Sphinx documentation infrastructure, and enhances header files with detailed Doxygen-style comments.
Changes:
- Added GitHub Actions workflow for automated documentation deployment to GitHub Pages
- Set up Sphinx + Breathe toolchain with Doxygen configuration for generating C++ API documentation
- Enhanced header files with comprehensive Doxygen comments for public APIs including XCIntegrator, RuntimeEnvironment, MolGrid, Molecule, Shell, and related classes
Reviewed changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/docs.yml | GitHub Actions workflow for building Doxygen/Sphinx docs and deploying to Pages |
| docs/Doxyfile | Doxygen configuration for extracting C++ API documentation |
| docs/conf.py | Sphinx configuration with Breathe integration and ReadTheDocs support |
| docs/index.rst | Main documentation landing page |
| docs/requirements.txt | Python dependencies for Sphinx build (breathe, sphinx, sphinx-book-theme, sphinxcontrib-bibtex) |
| docs/api/cxx/*.rst | ReStructuredText pages for molecule, basis set, grid, runtime, load balancer, XC integrator, and macros |
| docs/_static/bib/references.bib | BibTeX references for DFT quadrature schemes |
| docs/.gitignore | Ignores generated Doxygen output directory |
| include/gauxc/xc_integrator.hpp | Added comprehensive documentation for XCIntegrator class and all public methods |
| include/gauxc/xc_integrator_settings.hpp | Documented XC and EXX integrator settings structures |
| include/gauxc/shell.hpp | Documented Shell class with detailed member and method descriptions |
| include/gauxc/runtime_environment/decl.hpp | Documented RuntimeEnvironment and DeviceRuntimeEnvironment classes |
| include/gauxc/molgrid.hpp | Documented MolGrid container class |
| include/gauxc/molgrid/defaults.hpp | Documented default grid factory and radius/scaling functions |
| include/gauxc/molecule.hpp | Documented Molecule class representing atom collections |
| include/gauxc/molecular_weights.hpp | Documented molecular weight partitioning classes |
| include/gauxc/grid_factory.hpp | Updated enum documentation style for consistency |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- add GitHub Actions workflow for deploying pages - add setup for sphinx + breath to format Doxygen generated documentation - add pages for molecule, basis set, grid, runtime environment, load balancer, xc integrator and macros - update header files with doxygen-style comments to display documentation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Deployed at https://awvwgk.github.io/GauXC/api/cxx/
Examples: