Description
I developed Rye primarily for my personal use, and it largely achieves what I intended. It makes me happy personally. However, its current state is not sufficiently advanced to be broadly valuable for the Python development community.
That said, I think some parts of it work better and others not so much. Which is a long way to say that it requires some further discussions of what to do with it.
Separating Fetching?
What I think it does really well is to just give you Python. When you use rye, it does not just help you manage your Python projects, it also just gives you a Python installation ready to go, no matter which platform you are on. That is something that has been enabled thanks to the amazing python-build-standalone Python builds by @indygreg.
One thought that I had was to separate out the shim business from the rest of rye? Decision very much not made.
Missing Piece: A Resolver
The biggest issue with Rye is that Rye just uses pip-tools behind the scenes. When I originally built it (long before open sourcing) I was just hoping that the ecosystem will eventually move up and settle on a good resolver and installer. Unfortunately that did not happen, and nothing really materially improved over the last year. We have two larger package managers with PDM and Poetry but pip is where it was before, and not much has changed. I can see that there is stuff cooking though, as for
instance Prefix is now also trying to poke around in that ecosystem as well and I know from others too.
I am absolutely not willing to invest time into this myself because this is a many people job, and I just do not have the time for it.
Pipedream: Multi Version Support
Originally my next step plan for Rye was to revive my multi-import system from way back when. My theory is that Python really needs multi-version support if more complex resolvers become commonplace (that means to be able to support two versions of a library at once in a project, eg having both openai==0.9 and openai==1.0 available). This was also recently brought up again on Twitter and I very much hope that it can be a reality. However multi-version support needs primarily some agreement by a resolver and installer where to put different versions of libraries.
Once a resolver is in place, I really would love to see if multi-version Python can be made a reality.
Future: Help Needed
Rye remains largely as it began—a solo endeavor. Due to time constraints, I'm unable to advance the project significantly on my own. Its future is uncertain, and its continuation hinges on collaborative support. If you're keen to dive in and contribute, your involvement could be what is needed. The success and evolution of Rye now largely rely on expanding the team beyond just myself. If you're interested in being a part of this journey, please reach out. Your help could shape the direction and capabilities of Rye.
Since I did not have the resources over the last year I wanted to have, I put some of my ideas into writing instead: