-
Notifications
You must be signed in to change notification settings - Fork 31
dev: swap poetry for uv. #212
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: main
Are you sure you want to change the base?
Conversation
poetry has a very conservative approach to locking versions. Uv seems to prefer specifying quite widely, but then locking in the lockfile.
|
(test failure again is just codecov rate limiting. I think you mange the account @tehkillerbee : if you get a moment would you be able to copy a token and put it in a repo / org secret? then we could pull it in and avoid the rate limit. But that's def low prio.) |
|
btw this PR reduces ci time from 30s to 17s worst case :D |
|
I did consider using uv as well for a project related to work. However, I have not yet looked into it. I have no issue switching to uv, although I prefer if we then use the same package management tool for python-tidal. Is this difficult to implement for python-tidal as well? |
|
No not at all. I'll make a PR over there later. In other news happy Christmas! |
Thank you for your contributions. I'll have a look ASAP. Not sure of your time zone but happy new year when you get to it 🎉 |
|
Oh no rush, I just finally got some time to work on side projects. I'm in France now as it happens; happy new year! |
This PR also swaps tooling... this time
poetryforuv. Again, I'm hesitant about this one and think it might merit more discussion, hence keeping it separate (this PR is a strict superset of my ruff PR, so that one can go in separately).The argument for switching to yet another packaging tool is that, again, I've used it for ages professionally and
uvis quite unlike any other python package manager I've used. It's ridiculously fast: often as much as 100x faster than poetry for resolving deps, and it seems to have taken the python world by storm. Much as I don't really like python these days and would rather write rust, uv almost makes me like it again.I understand if you'd rather stick with poetry, but I really do recommend checking out this branch and making a few changes (
uv add foo,uv lock,uv sync) to see just how much nicer it is.(This PR also sets up the repo to work on nixos, in a purely opt-in way, since that's now my os of choice. Getting that to work with gstreamer for local dev is my actual motivation for uv here, and the intended work is coming in the next PR.)