Skip to content

Development Overview

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.

Getting Started

The first step is to clone the Fides repo for development if you haven't already:

1
git clone https://github.com/ethyca/fides

Once that's complete, there are a few different tools to install for get everything up and running.


Requirements

The primary requirements for contributing to Fides are Docker and 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.

Warning

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

1
brew install freetds openssl

Add the following to your run commands (i.e. .zshrc), updating any path/versions to match yours

1
2
export LDFLAGS="-L/opt/homebrew/Cellar/freetds/1.3.18/lib -L/opt/homebrew/Cellar/openssl@1.1/1.1.1u/lib"
export CFLAGS="-I/opt/homebrew/Cellar/freetds/1.3.18/include"

Optional Requirements for Mac Users (ARM-based)

Explicitly set resource allocations in Docker Desktop

  • CPUs: 4
  • Memory:8GB
  • 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.

1
pip install -r dev-requirements.txt

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.

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.

Congratulations

You're a Fides contributor - welcome to the team! 🎉

Back to top