harbor-py

Reusable Python uv2nix and pyproject-nix infrastructure for Nix flakes.

Downstream flakes keep project policy local while sharing the boring Python/Nix plumbing.

uv environments

`mkUvVirtualEnv` and `mkUvCheckEnv` return immutable uv2nix environments. Use `${env}/bin/python`.

Dev shells

`mkUvDevShell` extraPackages are Nix tools only. Python deps stay in pyproject.toml and uv.lock.

Overrides

Setuptools, Torch runtime, and TorchCodec FFmpeg helpers live under `pythonOverrides`.

Template

`nix flake init -t github:caniko/harbor-py` scaffolds a consumer.

Add it

Pin harbor-py and call `harbor-py.lib` from your flake.

Open full install guide