NixCon 2025

Python packaging with nixpkgs, pyproject.nix & uv2nix
2025-09-06 , Lecture Hall (5.002)

There is a broad range of possibilities when packaging Python with Nix.
The amount of Python formats alone can be overwhelming: requirements.txt, setup.py & pyproject.toml, not to mention Conda!

This talk aims to explain Python packaging with Nix, focusing on pyproject.nix & uv2nix, but I will also talk about other approaches and their trade-offs.

We'll start off with a short primer on the different Python packaging formats & methods while explaining a few of the things that make Python packaging particularly murky & difficult.

Then we'll go through a range of Nix packaging possibilities, starting with using plain nixpkgs & culminating in pyproject.nix & uv2nix.
Along the way the pros and cons of each will be explored and what approach to use when and where.


YouTube recording: YouTube recording

Freelance Nix consultant and author of many tools in the Python/Nix space such as poetry2nix, pyproject.nix and uv2nix.
In nixpkgs he mostly enjoys working on lower level plumbing such as lib & stdenv, but also maintains Emacs & it's package ecosystem.
Python developer in a previous life.