Contributing to mache
Thank you for your interest in contributing to mache
! We welcome
contributions of all kinds, including bug reports, feature requests, code, and
documentation improvements.
How to Contribute
Bug Reports & Feature Requests: Please use GitHub Issues to report bugs or request features.
Pull Requests: Fork the repository, create a new branch for your changes, and submit a pull request (PR) to the
main
branch. Please provide a clear description of your changes.
Development Environment
Set up an isolated environment:
conda config --add channels conda-forge conda config --set channel_priority strict conda create -y -n mache_dev --file spec-file.txt conda activate mache_dev python -m pip install --no-deps --no-build-isolation -e .
Install pre-commit hooks:
pre-commit install
This ensures code style and quality checks run automatically on each commit.
Code Style and Linting
Follow PEP8 and project code style.
The following tools are used (via pre-commit):
If a pre-commit hook fails, fix the reported issues and recommit.
Testing
Add or update tests for new features or bug fixes.
Run the test suite before submitting a PR:
pytest
Documentation
Document all public functions and classes using docstrings.
Update the API documentation if you add or modify public APIs.
Build and preview the documentation locally:
cd docs DOCS_VERSION=test make clean versioned-html
Pull Request Checklist
[ ] User’s Guide has been updated if needed
[ ] Developer’s Guide has been updated if needed
[ ] API documentation lists any new or modified class, method, or function
[ ] Documentation builds cleanly and changes look as expected
[ ] Tests pass and new features are covered by tests
[ ] PR description includes a summary and any relevant issue references
[ ]
Testing
comment, if appropriate, in the PR documents testing used to verify the changes
Thank you for helping improve mache
!