Contributing
Contributions to exotools are welcome! Here’s how you can help:
Development Setup
Fork the repository on GitHub
Clone your fork locally:
git clone https://github.com/your-username/exotools.git cd exotools
Install development dependencies:
pip install -e ".[dev]"
Create a branch for your feature:
git checkout -b feature-name
Coding Standards
We use ruff for code formatting and linting
All code should include appropriate type hints
New features should include tests
Testing
Run the test suite with pytest:
pytest
Pull Requests
Update the documentation to reflect any changes
Update the CHANGELOG.md file
Make sure all tests pass
Submit a pull request to the main repository
Releasing
For maintainers, to release a new version:
Update version in pyproject.toml
Update CHANGELOG.md
Build the package:
python -m build
Upload to PyPI:
python -m twine upload dist/*