[x] The following lines at the top of a noxfile will cause nox to be many times faster if uv is installed. For example, a sphinx job takes 4 seconds instead of 22 seconds (that includes the time sphinx takes, so basically installation is nearly 0).
[ ] We should also at least point people at uv pip install, as it's able to install anything in around 0 seconds (10-100x faster than pip). We could even cover how to use uv pip compile to lock your environment, though uv's --exclude-newer basically makes this no longer important, as you can recover a working build based on a date. It might be a bit advanced, but the --resolution=lowest-direct resolution strategy is also great for testing your minimum version limits. And uv venv can make a virtual environment in less time that it takes Python to start up.
Swapping the pip-tools example for uv might make sense. uv is much faster and can target python versions without having them installed, and doesn't include itself in the environment it's compiling.
Update
noxfile.py
, and maybe other areas withuv
.[x] The following lines at the top of a noxfile will cause nox to be many times faster if
uv
is installed. For example, a sphinx job takes 4 seconds instead of 22 seconds (that includes the time sphinx takes, so basically installation is nearly 0).see #71
[ ] We should also at least point people at
uv pip install
, as it's able to install anything in around 0 seconds (10-100x faster than pip). We could even cover how to useuv pip compile
to lock your environment, though uv's--exclude-newer
basically makes this no longer important, as you can recover a working build based on a date. It might be a bit advanced, but the--resolution=lowest-direct
resolution strategy is also great for testing your minimum version limits. Anduv venv
can make a virtual environment in less time that it takes Python to start up.see #89
Originally posted by @henryiii in https://github.com/INTERSECT-training/packaging/issues/12#issuecomment-2142545146