-
Notifications
You must be signed in to change notification settings - Fork 881
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
What about pixi and rip? #1572
Comments
Hi! We've talked to each other before and there's definitely more that we can do together, but it's worth pointing out that there has already been collaboration — it's just not obvious. For example, they are using a couple foundational crates that @konstin published e.g. And we are using an HTTP crate from them: Additionally, all of our test scenarios have also been open source at packse long before we announced One barrier to collaboration is that they use a different resolver than us; they wrote resolvo but we are using PubGrub. These solvers have some fundamental differences, and during our design phase we decided to commit to PubGrub instead of a
And work on We have more crates in uv that we can publish for shared-use once we stabilize them, but everything is permissively licensed and open source. We're excited to have everything public now — it's going to make collaboration a lot easier. Regarding benchmarks, it's tough to create a robust benchmark. If you're interested in exploring it, I'd recommend adding |
Thanks, I appreciate this! Agree with everything @zanieb wrote above. We've chatted with various folks on the Prefix team at different points in time, and my feeling is that we just have different goals and focus areas (though with some overlap of course). But at the very least, there will still be opportunities for us to collaborate on some of the underlying libraries (like those mentioned above). On the benchmarks... Benchmarking is tricky. We put a lot of time into the benchmark script in the repo. As a heads up, the command above seems to be comparing I'm happy to produce some rigorous benchmarks if folks are interested -- we could probably add
So that shows something like a > 2.5x speed-up with |
Thanks @charliermarsh and @zanieb ! Started to add pixi in the bench script in #1581 |
Hey 👋 Indeed, the differences are nicely pointed out by Charlie and Zanie and we're just as happy to collaborate on some of the underlying issues. I also did some benchmarking and indeed
And lastly Anyways, as Charlie and Zanie mentioned we do share a bunch of underlying crates and hopefully we can share more going forward :) |
On the topic of resolver benchmarks, can I suggest that people take a look at the approach pip-resolver-benchmarks takes. My understanding is the library is experimental right now, but being able to collect full real world scenarios at a point in time and elliminate network variability (without just relying on cache) are both very helpful. |
Thanks for the reference! That project inspired our packaging scenarios — we're very interested in being able to use those benchmark scenarios as inputs. And thanks for chiming in Wolf! Here are some issues regarding the behaviors mentioned: |
just a question to satisfy my own intellectual curiosity around resolvers, what made you settle on PubGrub over libsolv or alternatives? |
FYI Charlie talks about that here: https://discuss.python.org/t/uv-another-rust-tool-written-to-replace-pip/46039/56 |
Following up on @wolfv's response, We've decided to integrate |
Thanks for the update! I'm going to close this as I think all the major questions here have been answered. |
Hello there,
I have been looking forward to improved package management for python, and am excited by the uv announcement. I have also been following with interest the developments made by the prefix team in pixi and rip.
Benchmarking uv with rip seems to show, anecdotally, that rip is as fast or faster than uv (I may be doing this completely wrong though):
Pixi and uv seem to have very similar goals (albeit pixi ambitions to cater to other languages than python).
I am wondering about the opportunities to share, at least, (some) underlying libraries to achieve these goals faster.
The text was updated successfully, but these errors were encountered: