Skip to content
Developer Resources
Overview

Development Overview

Thanks for contributing to Fides! This section of the docs 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 (opens in a new tab).

Getting Started

The first step is to clone the Fides repo for development:

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

Once that's complete, there are a few different ways to spin up the project and get coding!

Developer Workflows

There are a few different ways to develop Fides, they are listed below in order of how strongly they are recommended!

  1. The recommended way to work on Fides is by utilizing the Noxfile commands:
    1. Make sure that you have docker and nox (pip install nox) installed.
    2. Run nox in the root directory to see a list of all of the possible Nox commands. This is helpful as a reference when trying to find new commands or remember old ones!
    3. Run nox -s dev -- shell to spin up the entire fides application as well as a shell within the fides webserver container.
    4. You can and should run all of your various development commands from within this shell, such as pytest, black, etc.
  2. While it is possible to install all application dependencies and develop on the project without Docker, this is neither recommended nor tested.

Issues

  • MSSQL: Known issues around connecting to MSSQL exist today for Apple M1 users. M1 users that wish to install pyodbc locally, please reference the workaround here (opens in a new tab).

  • Package not found: When running nox -s dev, if you get a importlib.metadata.PackageNotFoundError: fides, do nox -s dev -- shell, and then run pip install -e .. Verify Fides is installed with pip list.

Write your code

We have no doubt you can write amazing code! However, we want to help you ensure your code plays nicely with the rest of the Fides ecosystem. 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:

Congratulations

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