This directory contains the documentation for dftracer utilities.
Install the required dependencies:
pip install -r requirements.txtFor C++ API documentation, you also need Doxygen:
# Ubuntu/Debian
sudo apt-get install doxygen graphviz
# macOS
brew install doxygen graphvizcd docs
make htmlThe generated documentation will be in build/html/. Open build/html/index.html in your browser.
cd docs
make latexpdfcd docs
make cleansource/- ReStructuredText source filessource/conf.py- Sphinx configurationsource/_static/- Static files (images, CSS, etc.)source/_templates/- Custom templatessource/api/- Python API documentationsource/cpp_api/- C++ API documentationDoxyfile- Doxygen configuration for C++ documentationrequirements.txt- Python dependencies for building docs
This project uses Read the Docs for hosting documentation. The configuration is in .readthedocs.yaml at the project root.
- Go to Read the Docs
- Sign in with your GitHub account
- Import your project
- The documentation will build automatically on each commit
The Read the Docs build process:
- Installs system dependencies (doxygen, cmake, etc.)
- Runs Doxygen to generate C++ API docs
- Installs Python dependencies from
requirements.txt - Builds Sphinx documentation
Use Google-style or NumPy-style docstrings:
def example_function(param1, param2):
"""Short description.
Longer description that can span multiple lines.
Args:
param1 (str): Description of param1
param2 (int): Description of param2
Returns:
bool: Description of return value
Raises:
ValueError: When param2 is negative
"""
passUse Doxygen-style comments:
/**
* @brief Short description
*
* Longer description that can span multiple lines.
*
* @param param1 Description of param1
* @param param2 Description of param2
* @return Description of return value
*/
int example_function(int param1, int param2);- Create a new
.rstfile insource/ - Add it to the appropriate
toctreedirective - Rebuild the documentation
Make sure the package is installed:
pip install -e .Check the Doxyfile configuration and ensure all paths are correct.
Check the build log on Read the Docs for specific errors. Common issues:
- Missing system dependencies
- Python version mismatch
- Import errors