top | item 41994966

(no title)

jmduke | 1 year ago

I have no relation with the Astral team but have been an early and aggressive adopter of everything they've released and it's all been easy, fast, and ergonomic. Over the past eighteen months I've:

1. Replaced `flake8` with `ruff`;

2. Replaced `black` with `ruff`;

3. Replaced `pip` with `uv`;

4. Replaced `poetry` with `uv`.

Their next project appears to be exactly what I _wish_ their next project to be — a replacement for pyright et al (https://github.com/astral-sh/ruff/discussions/10581). Type checking is my least favorite part of my Python toolchain at the moment; I can't wait to take it for a spin.

discuss

order

adhamsalama|1 year ago

What benefits does uv have over poetry?

dagw|1 year ago

In addition to what everybody else has mentioned, uv plays nice with other people's build tools. I use scikit-build-core for building most of my python packages and making scikit-build-core play nicely with poetry was somewhere between very hard and impossible. UV trivially lets me combine the two so I can let uv do what it does best (manage and install python versions and dependencies) and then have it get out of the way and let scikit-build-core take over and do what it does best.

jasongill|1 year ago

uv also manages the Python version as well, and it doesn't require jumping through hoops and hacking to get it to play nicely with Docker. uv is much more of a production-ready setup than pip or poetry from my experience moving to uv over the last few weeks

the_mitsuhiko|1 year ago

Speed, compatibility, ergonomics, standards compliance.

roland35|1 year ago

Pylance is nicer than pyright, but unfortunately I don't think you can use it outside of vs code

joshSzep|1 year ago

pylance is pyright under the hood, isn't it? it's the main reason I use pyright over mypy: I work in VSCode and I want compatible type checking

anentropic|1 year ago

It's not clear to me that they are building an alternate type checker per se

Seems like `ruff server` is an LSP?

baggiponte|1 year ago

Yes but only for linting (the flake8 rules etc). The end goal is to have proper type checking and, I think, proper LSP refactoring capabilities.

baggiponte|1 year ago

they are working on it! the internal name is currently red-knot (you can see it in their GH History and in the discord). First thing is a type checker, I think, then the renaming capabilities and such.

antman|1 year ago

True, what I would really need is a uv based pyinstaller alternative