pip

A module to package python projects via pip.

Under the hood, it uses ./pkgs/fetchPipMetadata to run pip install --dry-run --report [...] with reproducible inputs and converts the resulting installation report into a dream2nix lock file.

Note

Due to limitations in pips cross-platform support, the resulting lock-files are platform-specific! We therefore recommend setting paths.lockFile to lock.${system}.json for all projects where you use the pip module.

Check out the pdm module if you need a solution that allows locking for multiple platforms at once!

During building, it uses this lock file to build each dependency as well as the top-level package in separate derivations while allowing overrides and further customization via dream2nix module system.

👉 Browse Options