uv2nix does not contain an override collection by design.
The uv2nix_hammer is a tool to automatically generate such overrides on demand.
These overrides are then collected in this repository so that downstream users can easily use uv2nix for the most common python packages.
Current state (2024-12-06): The sweep through the 15.6k 'most important' python packages, prefering wheels is done.
About 14.1k have been built successfully. some 1200 have ended up on the exclusion list. Of those, about 65 are marked 'todo' and might be fixed with a bit of work / manual overrides (PRs welcome). This has lead to 3440 overrides.
Poetry2nix might also benefit from these overrides, there's an example how to use them below. Note that poetry2nix builds python packages very differently from uv2nix, namely using nixpkgs python builders which have all kinds of drawbacks.
Example uv2nix flake.nix
Example poetry2nix flake.nix poetry2nix example
- Limited to 'important' python packages by some arbitrary definition (downloads, number of dependants, user requess).
- TyberiusPrime will only do x86-64-linux. PRs for other architectures welcome, but they probably need to be upstream in uv2nix-hammer
- TyberiusPrime will not spent time getting cryto (-mining) packages to build.
- TyberiusPrime has a time limit on getting any package running.
- Redo it without '--wheel', preferring source packages (for the target packages).
- Maybe do it without preferWheel for all packages
The first thing you might want to check is if there's a 'Downgrade*' rule in overrides//rules.toml (or it's dependencies :( ). That might teach you that you have to restrict something else to be 'not the newest version'. Sorry, no automatic checking for that yet.
One of your packages (or at least one dependency) has a limbo dependency - it's not declared correctly and uv didn't lock it. You can add it to the dependencies in you pyproject.toml.
Cython recently underwent a non-backwards compatible jump from 0.29 to 1.0. uv2nix_hammer_overrrides provides the former as cython_0, like nixpkgs does. It's not pretty, but it works for now.