-
-
Notifications
You must be signed in to change notification settings - Fork 557
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for astral-sh/uv
#3825
Comments
astral-sh/uv
This would be a great addition even though I would suggest waiting on using it with the PyPI publishing workflow (see astral-sh/uv#1663) and rather add it to the PR tests after astral-sh/uv#1646 is resolved from their end (I am indeed following |
Is using pip a bottleneck on any of our tests? |
No that's not the case, but as we have a large dependency tree I anticipate that we'd not just jump on |
I agree. Let's wait until wntrblm/nox#762 gets merged and receives some feedback by users.
We don't face a bottleneck as such since |
Yeah I would be against switching at an early stage for the tool. Pip is well tested and most users already have it installed. Maybe something to revisit in a year or so |
A new release for |
Seems interesting, this could also potentially decrease the build times of docker containers and the project setup times in cookiecutter templates and virtual environments or nox.
If this issue is not being already worked upon by someone, I would be happy to create a draft for future references. |
I still think we should not do this one. I don't see the gain for changing to a new tool when pip is well tested |
Just to reiterate, I don't think the pip install is a major bottleneck |
@santacodes @kratman on the contrary – I feel we can try it now, |
Properly using and caching |
I see that |
I just think that we can speed up CI in other ways than continually changing the build system. For instance when I removed the benchmarks from every PR it saved 30 minutes off the total runtime of the CI. Right now we have 46 CI jobs, at most 10 seem to run at once, and (last time I checked) on average they run around 20 minutes -> (46/10) × 20 ~ 80 minutes to run CI. If we cut down our build matrix by half it would save us 40 minutes and we would not need to make backend changes. To me it does not seem like pip is the bottle neck. For some of the builds we might save more time by trying to find ways to avoid building our dependencies from source |
Yes, that's right – removing a lot of the redundant CI would be quite helpful. But about the bottleneck part, I see that by replacing |
Maybe @santacodes you can try out with a draft PR (or in a branch on your fork) and we can see to it if everything works well in CI? If it doesn't, we can always close it and look at this at another time |
Sure, happy to try it out in my fork with CI resources to test the performance |
The We can keep this open for a while – with the exception of Footnotes
|
Some arguments for switching to uv (eventually; hence, keeping this issue open to keep an eye on the development) -
|
to add to the above: #3932 will remove |
Good to see this being adopted more. I'd be happy to switch to this once we see some of the big python packages (e.g. numpy) start to switch over. I do agree that pip isn't a major bottleneck in our testing. |
Description
uv is a quick Python package installer and resolver, made with Rust. It's meant to work just like pip and pip-tools, but faster.
Motivation
The introduction of the uv tool (https://astral.sh/blog/uv) marks a significant leap in package management efficiency. Offering notable speed improvements over pip, uv demonstrates superior performance across various scenarios. This enhanced speed translates to quicker package installations, contributing to smoother and more efficient workflow experiences.
Possible Implementation
pyproject.toml
publish_pypi.yml
Additional context
No response
The text was updated successfully, but these errors were encountered: