Live data from Hacker News

Rye: A Vision Continued

lucumr.pocoo.org

41–45 of 45 posts

Re: Rye: A Vision Continued

#41
post #2

I think it’s interesting that rye uses ruff ( https://github.com/astral-sh/ruff ) for linting and formatting. That’s the right call, and it’s also correct to bundle that in for an integrated dev experience. I had to guess, that’s the path that the Astral team would take as well - expand ruff’s capabilities so it can do everything a Python developer needs. So the vision that Armin is describing here might be achieved…

I just learned that "ruff fmt" exists. Why would I use that over black? I've been using black for a couple years now, I'm loathe to change but ruff has a lot of good press.

Some people use ruff because it’s much faster. Others do it because it’s one tool instead of multiple.

Re: Rye: A Vision Continued

#42
post #31

Not to dig on this project, but I find it constantly befuddling how awful the Python dev ecosystem is. And has barely improved after a decade of being so popular. The ergonomics of coding with Java or C# in 2010 are still so far beyond anything in Python in 2024, I constantly question why it's so popular.

If you have to question yourself that then you seriously lack experience with the language.

I've been using it for many years. It's fine to start a greenfield project, but I'm at an org with 12+ years of tech debt and every generation of application has a different build system and almost all of them are brittle as dry leaves. My metric for the value of a language isn't how convenient it is write, but how durable it is in maintenance. And for my money, Python is still vastly inferior to strongly-typed languages. Build tools, doc tools, and readable stack traces outweigh syntax or semantics.

Re: Rye: A Vision Continued

#43
post #15

I've been using rye for all of my python projects and it has generally been great. There's a slightly annoying piece at the beginning when you first set up a project because "rye init" doesn't actually produce a valid empty project - you have to add a few lines to pyproject.toml, but it certainly beats a lot of the other things I've used.

How does Rye compare to Poetry?

I think Rye and Poetry offer very similar user experiences very well, but for me what makes Rye really special is that it is just using python standard tools.

If I start a new project using Poetry, every contributor will need to install and use Poetry, since it breaks a lot of Python standards and has its own syntax for things like package version dependencies.

If i start using Rye, nobody else has to use Rye unless they want to, the project just has a: - requirements-dev.lock and requirements.lock file - pyproject.toml file - that's it.

Re: Rye: A Vision Continued

#44

Earlier quoted context omitted.

Here's a handy Venn diagram which shows where Rye currently sits in the ecosystem: https://alpopkes.com/posts/python/figures/venn_diagram.png Poetry and Rye mostly do the same things, but Rye additionally does Python version management. I was personally recently reminded* that not only should one use dedicated environments for their projects, but also lock their specific Python versions. I've used Rye so far for Pyth…

I adamantly believe that software projects should never rely on system dependencies. It’s just a totally broken concept and fundamentally bad idea, imho.

[dead]

Re: Rye: A Vision Continued

#45
post #2

I think it’s interesting that rye uses ruff ( https://github.com/astral-sh/ruff ) for linting and formatting. That’s the right call, and it’s also correct to bundle that in for an integrated dev experience. I had to guess, that’s the path that the Astral team would take as well - expand ruff’s capabilities so it can do everything a Python developer needs. So the vision that Armin is describing here might be achieved…

I just learned that "ruff fmt" exists. Why would I use that over black? I've been using black for a couple years now, I'm loathe to change but ruff has a lot of good press.

It's so much faster, it's night and day.
Post reply on HN