OpenF1's mission is to democratize Formula 1 data by making it open and accessible to everyone.
We welcome all contributions that help advance this goal!
Looking for ways to help? Check out our list of open items here to see where your contributions are needed.
Follow these steps to submit your code contributions effectively.
Before making changes, we recommend opening an issue (if one doesn’t already exist) to
discuss your proposed updates. This allows us to provide feedback and validate the changes early.
For minor fixes (e.g., small bug fixes or documentation updates), feel free to skip this
step and directly create a pull request (PR).
- Fork the repository: Start by forking the OpenF1 repository.
- Set up your environment: Set up a development environment and ensure that you can run the unit tests locally.
- Implement your changes: Make the necessary changes in your forked repository.
When your changes are ready, create a PR from your fork’s branch to the dev branch of
the official OpenF1 repository.
Make sure to include a clear description of the changes and reference the issue (if applicable).
A reviewer will evaluate your PR and provide feedback.
There may be several rounds of comments and code changes before the pull request gets
approved by the reviewer.
Once your PR is approved, a team member will handle the merging process.
Your changes will first be merged into the dev branch and later into the main branch
after further testing.
OpenF1 uses Black for formatting and Ruff for linting.
Please refer to testing_requirements.txt
for the required versions.
Please ensure your code adheres to these standards before submitting a PR.
Run the following commands in the repository’s root directory to check for issues:
ruff --format=github --ignore=E501 --target-version=py310 .
black --check --diff --color .