Skip to content
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

Consider moving from poetry to rye #394

Open
ItsDrike opened this issue Oct 26, 2024 · 0 comments
Open

Consider moving from poetry to rye #394

ItsDrike opened this issue Oct 26, 2024 · 0 comments
Labels
a: dependencies Related to package dependencies and management p: 3 - low This can wait t: rewrite Complete or partial rewrite of something

Comments

@ItsDrike
Copy link
Member

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 my setup-poetry.

@ItsDrike ItsDrike added p: 3 - low This can wait t: rewrite Complete or partial rewrite of something a: dependencies Related to package dependencies and management labels Oct 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a: dependencies Related to package dependencies and management p: 3 - low This can wait t: rewrite Complete or partial rewrite of something
Projects
None yet
Development

No branches or pull requests

1 participant