Contributing
We welcome contributions to AutoReduce! This document provides guidelines and instructions for contributing.
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 ".[all]" pip install pytest pytest-cov nbval
Code Style
We use flake8 for code style checking. The configuration is in pyproject.toml. Key points:
Maximum line length: 80 characters
Follow PEP 8 guidelines
Running Tests
Run the test suite with:
pytest
For coverage report:
pytest --cov=autoreduce
Documentation
The documentation is built using Sphinx. To build it locally:
Install documentation dependencies:
pip install sphinx sphinx_rtd_theme nbsphinx myst_parser
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
Update the changelog
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.