Consider moving from poetry to rye #394
Labels
a: dependencies
Related to package dependencies and management
p: 3 - low
This can wait
t: rewrite
Complete or partial rewrite of something
Rye is a more modern alternative to poetry package manager, which uses some better (more pythonic) practices in comparison to poetry, such as when it comes to listing production dependencies in pyproject.toml in a proper standard way. It's also faster in installing dependencies and often easier to use when it comes to using multiple python versions. Rye was made by the same group of people that created ruff (our linter & formatter) and it's core is written in rust.
The only disadvantage to rye is that it lacks support for dependency group, instead choosing a approach where all development dependencies are listed in a single group. This isn't a huge issue, although it is nice to see which dependencies are used for what, and having the option to not install the groups that we don't need. That said, sometimes, these groups can become an annoyance too, for example, each github action needs a standalone cache for poetry dependencies, because it usually installs different groups. Another example of groups not being ideal is having to repeat the same dependency in multiple groups.
If we do choose to proceed with rye, another important thing to consider is which github action to use to set up the project, as
ItsDrike/setup-poetry
would obviously not be viable anymore, and I'm not aware of a similar action for a rye setup that includes proper caching. I'm willing to write an alternative action myself that would accomplish something similar to mysetup-poetry
.The text was updated successfully, but these errors were encountered: