Thank you for your interest in contributing to Kerykeion! Contributions of all kinds are welcome: bug reports, feature requests, documentation improvements, and code changes.
-
Fork the repository and clone it locally:
git clone https://github.com/<your-username>/kerykeion.git cd kerykeion
-
Install the development dependencies:
pip install -e ".[dev]" -
Create a new branch for your changes:
git checkout -b my-feature
-
Make your changes, add tests if applicable, and ensure the test suite passes:
pytest
-
Push your branch and open a Pull Request against the
mainbranch.
- Use the GitHub Issues tracker.
- Include a clear description of the problem, steps to reproduce, and the expected vs. actual behaviour.
- If relevant, include the Python version, OS, and Kerykeion version.
- Follow the existing code style in the project.
- Use Ruff for linting.
- Type annotations are encouraged.
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). See the LICENSE file for the full text.
By submitting a pull request or any other contribution to this repository, you agree to the following terms:
-
Copyright Assignment. You assign all right, title, and interest in the copyright of your contribution to the project maintainer, Giacomo Battaglia ("Maintainer").
-
Re-licensing. The Maintainer reserves the right to re-license the project — or any part of it, including your contribution — under any other license, whether open-source or proprietary, at their sole discretion.
-
AGPL Availability. The project will continue to be publicly available under the AGPL-3.0 license. The copyright assignment enables dual-licensing and commercial offerings that help sustain long-term development.
-
Attribution. Your authorship is acknowledged in the Git commit history and, where appropriate, in release notes. Copyright assignment does not erase your credit as the original author of your contribution.
-
Originality. You represent that each contribution is your original work and that you have the right to assign its copyright. If any part of your contribution is subject to a third-party license, you must clearly state this in the pull request.
A CLA-bot automatically checks every pull request. If you have not yet been added to the approved contributors list, the bot will comment on your PR with instructions. Once you have confirmed your agreement (typically by being added to the list), all future PRs will pass the check automatically.
If you have any questions about contributing or the CLA, feel free to reach out at kerykeion.astrology@gmail.com.