A project consists of multiple python packages in different subdirectories. Each of these has dependencies and optional dev dependencies. Compiled requirements with hashes exist, written with pip-compile:
code1/pypkg1/requirements.txt
code1/pypkg1/requirements-dev.txt
Two modes of operation:
- Use compiled requirements files and create nix lock files accordingly.
- Create nix lock files without using compiled requirements, but only dependency declarations in pyproject.toml, and pip-compile afterwards for projects not using nix.
We'd like to create environments where requirements for individual packages and combinations of these packages are available.
For the projects' python packages:
-
Do not install, environment with requirements only.
-
Install selected packages.
-
Install selected packages in editable mode.