-
-
Notifications
You must be signed in to change notification settings - Fork 2
Migrate from Rye to uv #123
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
Conversation
|
Thanks! I've been on the cusp of doing this for a few weeks now (with many of my projects) so this is helpful and the push I need.
No worries. As you've probably seen I've got things set up in I suspect you're right about the build system pin too, which as you'll have seen was down to a rye issue (well, was informed by a rye issue). |
davep
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RIP rye, you served me well!
|
Just to update and for any future reader: this kills my ability to publish right now as it looks like When I get a moment I'll see if I can figure out the correct way to rework the |
|
Based on what I've tried so far, it seems that uv adds some really annoying friction when it comes to publishing (at least in respect to how I've generally worked) and I'm not sure I really have the time to dive into this at the moment. I'll sit on this for a wee while but I might have to roll this PR back and hold off on #124 until I can find some tooling that doesn't make this an absolute chore. |
|
One idea for the short term: continue with Rye for publishing, and uv for everything else. |
|
One thing I am curious about and I find confusing here: while I accept that rye doesn't seem to handle Python 3.14 (which is a concern), what's the veracity of the the "Rye is no longer developed as of February 2025." line? It seems to be in contradiction with rye's README, which says:
in the suggestion to start to look at using uv instead. It's all rather confusing. :-/ |
|
Rye hasn't seen any commits or releases since February. They have a PR open to formally retire it, put "Rye is no longer developed" in the README, and "Rye is no longer developed as of February" on the website: astral-sh/rye#1476. I think it's just a matter of time before that is merged. |
Another run at #123 with thanks to @hugovk for the initial PR and the push to get to grips with this. This commit is pretty much the same as was done in that PR, and carries over a lot of code. However I initially had to back it out because it killed my ability to publish Hike. Now I've done a much of reading I think I'm confident that it can be used without too much effort. That is, I think I've managed to gain the minimum amount of trust I need in it to be able to make the switch. It's... not as good as rye, as I'm seeing it so far, but advantages exist and I can work around the friction that uv introduces. Of course the main motivation is that the bait and switch of rye->uv has finally happened. It's yet another reason for folk to view Python packaging tools with deep (and justified) suspicion.
|
As a followup, astral-sh/rye#1476 is now merged making it clear Rye is no longer developed: |
|
Thanks. Hopefully the maintainers encourage making a noise to alert existing users to this (as much as possible). I likely wouldn't have noticed for some time to come had you not given me the heads up. (Reminds me why I love tools that at least roll out a version with a deprecation warning) |
According to astral-sh/rye#1476:
That PR has a Rye->uv migration guide, which I've followed here.
The CI passes. I've not tested things
publish.I expect we can also relax this requirement, but I've left that for now: