# Dependency Management

# Python

We use pip-tools (opens new window) to help us pin Python packages.

The dependency packages are placed in requirements.in

We use pip-compile --generate-hashes to generate requirements.txt, with all the Django dependencies (and all underlying dependencies) pinned.

To install requirements in production stage use:

pip-sync requirements.txt

# NPM

We use npm to help us manage Node packages

The dependency are declared in package.json

package-lock.json keeps track of exact dependency trees at any given time.

npm ci is used to install all exact version dependencies or devDependencies from a package-lock.json file