Thank you for your interest in contributing to Fides! This section of our documentation is designed to help you become familiar with how we work, the standards we apply, and how to ensure your contribution is successful.
If you're stuck, don't be shy about asking for help on GitHub.
The first step is to clone the Fides repo for development if you haven't already:
Once that's complete, there are a few different tools to install for get everything up and running.
The primary requirements for contributing to Fides are
Python. The download links as well as minimum required versions are provided below
NOTE: Installing these requirements via Brew or other package managers is highly discouraged. Please use the provided links for a more stable experience.
- Docker Desktop (version 20.10.11 or later) - Docker Desktop Download Page
- Python (version 3.8 through 3.10) - To simplify the installation experience and create a more stable Python installation that can be managed indepently, we recommend installing Python via Anaconda. The installer for Anaconda can be found here.
Mac Users: Apple's ARM silicon (M-series chips, i.e. M1, M2, M2 Max, etc.) have a few extra requirements to get Fides running
Additional Requirements for Mac Users (ARM-based)
Install FreeTDS and OpenSSL
Add the following to your run commands (i.e.
.zshrc), updating any path/versions to match yours
Optional Requirements for Mac Users (ARM-based)
Explicitly set resource allocations in Docker Desktop
- CPUs: 4
- Disk Limit: 200GB
Now that those are installed, the final step is to install the Python dev requirements for the Fides project. We recommend doing this in a virtual environment.
Write your code
We have no doubt you can write amazing code! However, we want to help you ensure your code follows the style and patterns of Fides and has the highest chance possible to be accepted. Many projects describe code style and documentation as a suggestion; in Fides it's a CI-checked requirement.
- To learn how to develop new features or fix bugs, see the developing Fides page.
- To learn how to style your code, see the style guide.
- To learn how to document your code, see the docs guide.
- To learn how to test your code, see the tests guide.
- To learn what format your PR should follow, make sure to follow the pull request guidelines.
Submit your code
In order to submit code to Fides, please:
- Fork the Fides repository
- Create a new branch on your fork
- Open a Pull Request once your work is ready for review
- Once automated tests have passed, a maintainer will review your PR and provide feedback on any changes it requires to be approved.
- Once approved, your PR will be merged into Fides and included in a future release.
You're a Fides contributor - welcome to the team! 🎉