We're excited that you're considering contributing to Zeus! Your contributions are vital for keeping Zeus innovative, robust, and user-friendly.
Zeus serves two main goals:
- Research Artifact: A platform for disseminating cutting-edge research in the field of machine learning energy (i.e., ML.ENERGY).
- Practical Tool: We aim to make Zeus highly usable in real-world scenarios.
Zeus follows a BDFL (Benevolent Dictator For Life) governance model. The project founder (Jae-Won Chung) retains decisive authority to ensure alignment with the goals of Zeus.
- Bug Reports and Fixes: We use GitHub Issues for bug tracking.
- New Features: You can submit feature proposals via GitHub Issues.
- Documentation: Enhancing the README and documentation (both inline with code or under
/docs
) is also welcome.
- Fork & Clone: Fork the repository and clone it to your local machine.
- Create an Issue: Discuss your proposed changes via a new GitHub Issue.
- Branch: Create a new branch for your feature or fix.
- Code and Test: Write code and make sure to add tests.
pytest
should successfully terminate including the new tests you wrote. - Format and Lint: Run
bash scripts/lint.sh
and make sure it runs without complaining. - Pull Request: Open a PR to the main repository. Ensure all CI checks pass before requesting a review.
- Python >= 3.9
- Run
scripts/lint.sh
to format and lint code. - Strictly type-annotate all code.
- Tests should accompany new features and be placed in the
tests/
directory.
Your PR will undergo review by the maintainers. Approval is based on its alignment with Zeus's dual goals and overall vision.
By contributing to Zeus, you agree to license your contributions under our Apache-2.0 License.