aboutsummaryrefslogtreecommitdiffhomepage
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md9
1 files changed, 8 insertions, 1 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 9ce96222..d539f656 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -16,7 +16,14 @@ Our [Dockerfile](https://github.com/crocs-muni/sec-certs/blob/main/docker/Docker
- Some imported libraries have non-trivial dependencies to resolve:
- [pdftotext](https://github.com/jalan/pdftotext) requires [Poppler](https://poppler.freedesktop.org/) to be installed. We've experienced issues with older versions of Poppler (`0.x`), make sure to install `20.x` version of these libraries.
- [graphviz](https://pypi.org/project/graphviz/) requires `graphviz` to be on the path
--
+
+### Requirements
+
+Requirements are maintained with [pip-tools](https://github.com/jazzband/pip-tools). The main ideas are:
+- List actual dependencies in `.in` files inside [requirements](requirements) folder without pinning them.
+- Those dependencies are loaded into [setup.py](setup.py) file.
+- Additionally, [compile.sh](requirements/compile.sh) script is used to compile pinned versions of requirements that reside in `.txt` files in the same folder.
+- Tests, linting and Docker all run against this reproducible environment of pinned requirements.
## Branches and releases