We highly value involvement from the trading community, and all contributions are greatly appreciated as they help us continually improve NautilusTrader!
To contribute, follow these steps:
-
Open an issue on GitHub to discuss your proposed changes or enhancements.
-
Once everyone is aligned, fork the
develop
branch and ensure your fork is up-to-date by regularly merging any upstream changes. -
Install and configure pre-commit on your local machine to automatically run code checks, formatters, and linters before each commit. You can install pre-commit with:
pip install pre-commit pre-commit install
-
Open a pull request (PR) on the
develop
branch with a summary comment and reference to any relevant GitHub issue(s). -
The CI system will run the full test suite on your code including all unit and integration tests, so include appropriate tests with the PR.
-
Deepsource will perform an automated code review. Fix any issues that cause a failed check, and add the commit to your PR.
-
Read and understand the Contributor License Agreement (CLA), available at https://github.com/nautechsystems/nautilus_trader/blob/develop/CLA.md.
-
You will also be required to sign the CLA, which is administered automatically through CLA Assistant.
-
We will review your code as quickly as possible and provide feedback if any changes are needed before merging.
- Follow the established coding practices in the Developer Guide.
- Keep PRs small and focused for easier review.
- Reference the relevant GitHub issue(s) in your PR comment.