-
Notifications
You must be signed in to change notification settings - Fork 8
chore: Prefer uv over pip for dependencies #29
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
base: master
Are you sure you want to change the base?
Conversation
|
@mg-twentyone @andreasgriffin as users/contributors do you have any feedback/preferences on this? |
|
This failed test will pass once #28 is merged, it's just that problem with python version. |
first of all, thanks @brenorb for your PR. uv is an interesting tool that is faster than pip for package installation and dependency resolution. It's also written in Rust, making it a good fit with UniFFI bindings from Rust lib. Additionally, it allows for more centralized dependency management using project.toml. Anyway, imho this is not the right approach to switch from pip to uv for the following reasons:
To summarize, imho if we want to consider this switch, we should carefully analyze all the implications and try to implement it in a more consistent way. |
|
Sorry to take a while to answer, it took a while as this is not so straightforward. My idea was not to improve the speed, but to move from old practices to modern and standard Python practices. TLDR
|
|
Is there any necessity to keep the |
|
@andreasgriffin They could be replaced by putting the requirements in the |
|
I want to say that I've been using uv for a few weeks now and it's... superb. Like just way better. It just... works??? Coming from pip I had just accepted my fate and the dev workflow for Python to be terrible but no more! Thank you @brenorb for showing me this awesome tool. I definitely think we should try to support it in some capacity in bdk-python. |
|
YES! The way I would do it would be to replace pip the instalation script (with optional fallback to pip, your call) and in the CI. Tell me how you prefer and I'll do it. |
Description
Alter the scripts for preferring
uvoverpip, if it's available. Also triespip3ifpipis not available.uvis the modern way to manage dependencies on python, it's faster than the alternatives and written on rust.Closes #26
Checklists
All Submissions:
[ ] I rancargo fmtandcargo clippybefore committing