Note
This page mirrors CONTRIBUTING.md in the repository root.
If you find a discrepancy, the repository file takes precedence.
Contributing to Aevum¶
Thank you for your interest in contributing.
Ways to contribute¶
- Bug reports: Open an issue
- Feature requests: Start a discussion
- Security vulnerabilities: GitHub Security Advisories (private)
- Pull requests: See the development guide below
Development setup¶
Running tests¶
# All packages
uv run pytest packages/
# Single package
cd packages/aevum-core
uv run pytest tests/ -v
Code standards¶
- Python 3.11+, mypy strict, ruff (zero warnings)
- Every function has a docstring explaining purpose and constraints
- Comments explain why, not what
- No
tests/__init__.py— test directories are not packages - Run
uv run mypy --package aevum.<name>per package
Submitting a pull request¶
- Fork the repository
- Create a branch:
git checkout -b my-feature - Make your changes with tests
- Run:
uv run pytestanduv run mypy --package aevum.<name> - Sign your commits:
git commit -s -m "Your message" - Open a pull request against
main
Conformance¶
Changes to aevum-core must pass the conformance suite:
License¶
By contributing, you agree your contributions are licensed under Apache-2.0.