Contributing
We welcome contributions to AutoReduce. See Developer Notes for the full developer notes and release checklist.
Development Setup
Fork the repository
Clone your fork:
git clone https://github.com/<your-username>/AutoReduce.git cd AutoReduce
Create a new branch:
git checkout -b feature/your-feature-name
Install development dependencies:
pip install -e ".[dev]"
Code Style
We use ruff for linting and formatting. Configuration is defined in
pyproject.toml.
ruff check autoreduce tests
ruff format autoreduce tests
Running Tests
Run the test suite with:
pytest
For coverage report:
pytest --cov=autoreduce --cov-report=xml
Documentation
The documentation is built using Sphinx. To build it locally:
Install documentation dependencies:
pip install -e ".[docs]"
Build the docs:
cd docs make html
View the documentation by opening
docs/_build/html/index.html
Pull Request Process
Update the documentation if needed
Add tests for new features
Ensure all tests pass
Submit a pull request
For major changes, please open an issue first to discuss the proposed changes.
License
By contributing to AutoReduce, you agree that your contributions will be licensed under the project’s BSD License.