-
Notifications
You must be signed in to change notification settings - Fork 46
Open
Labels
Milestone
Description
Considering upgrading the CI from nox-based, to uv-based.
There are 3 available approaches:
- Use
noxas-is, withpipbackend - Use
noxwithuvbackend - Use pure
uv
Performance was tested on two runs of the CI across Python 3.10 to 3.13 (see example).
Relative to the run-time of the current nox-based CI, nox with uv backend was faster (took ~77% of the time), and pure uv slightly faster again (took ~73% of the time). My suggestion is that we maintain nox, which is cleaner to have in the CI testing across many platforms, but move to a uv backend to get most of the speed-up.
At the same time, this change would allow us to pick up uv for our development workflow (and wouldn't prevent other approaches). It would:
- simplify the repo (we can remove
requirements.txtfiles, absorbing dependencies into thepyproject.toml)- users install either with
pip install -e .[dev]or more easily withuv sync --all-extras
- users install either with
- we could commit the
uv.lockfile, and periodically update it, if we wanted to have more control over dependencies- having this in the repo would mean exactly replicable development environments by default (no new venv/conda env or pip install steps)
Reactions are currently unavailable