Contributing to UQLM#
Welcome and thank you for considering contributing to UQLM!
It takes a lot of time and effort to use software much less build upon it, so we deeply appreciate your desire to help make this project thrive.
Table of Contents#
How to Contribute#
Reporting Bugs#
If you find a bug, please report it by opening an issue on GitHub. Include as much detail as possible: * Steps to reproduce the bug. * Expected and actual behavior. * Screenshots if applicable. * Any other information that might help us understand the problem.
Suggesting Enhancements#
We welcome suggestions for new features or improvements. To suggest an enhancement, please open an issue on GitHub and include:
A clear description of the suggested enhancement.
Why you believe this enhancement would be useful.
Any relevant examples or mockups.
Pull Requests#
Fork the repository.
Create a new branch (
git checkout -b feature/your-feature-name
).Make your changes.
Commit your changes (
git commit -m 'Add some feature'`
).Push to the branch (
git push origin feature/your-feature-name
).Open a pull request.
Please ensure your pull request adheres to the following guidelines:
Follow the project’s code style.
Include tests for any new features or bug fixes.
Development Setup#
Clone the repository:
git clone https://github.aetna.com/analytics-org/uqlm.git
Navigate to the project directory:
cd uqlm
Create and activate a virtual environment (using
venv
orconda
)Install poetry (if you don’t already have it):
pip install poetry
Install uqlm with dev dependencies:
poetry install --with dev
Install our pre-commit hooks to ensure code style compliance:
pre-commit install
Run tests to ensure everything is working:
pre-commit run --all-files`
You’re ready to develop!
For documentation contributions
Our documentation lives on the gh-pages branch and is hosted via GitHub Pages.
There are two relevant directories:
docs_src
- where source documentation files are locateddocs
- where the built documentation is located that is served by GitHub Pages
To build the documentation locally:
Create a virtual environment with your favorite tool(ex. conda, virtualenv, uv, and etc.)
Checkout the
gh-pages
branch and create new branch from itNavigate to the
docs_src/latest
directory
If this is version upgrade:
Copy
latest
contents todocs_src/{version_number}
folder update the version inconf.py
fileCopy
latest
contents fromdocs/
todocs/{version_number}
folderUpdate the versions in
docs_src/latest/index.rst
file anddocs_src/versions.json
cd uqlm
pip install -e .
# installs current uqlm repo as package to environmentcd docs_src/latest
brew install pandoc
# to use nbsphinx extensionmake install
# installs sphinx related python packagesmake github
# builds docs htmlmake local
# locally test doc site
Style Guides#
Code Style#
We use Ruff to lint and format our files.
Our pre-commit hook will run Ruff linting and formatting when you commit.
You can manually run Ruff at any time Ruff usage.
Please ensure your code is properly formatted and linted before committing.
License#
Before contributing to this CVS Health sponsored project, you will need to sign the associated Contributor License Agreement (CLA).
Thanks again for using and supporting uqlm!