Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Over the past few months, I've switched a few decently-sized python codebases from MyPy (which I used for years) to PyreFly (because the MyPy LSP ecosystem is somewhere between crumbling and deprecated at this point), and finally to Ty after it left beta this week. I'm now running a fully Astral-ized (rust-ized!) setup:

1. packaging with uv (instead of pip or poetry),

2. type checking with ty (instead of the default MyPy or Meta's Pyrefly),

3. linting with ruff (instead of Jedi),

4. building with uv build (instead of the default setuptools or poetry build),

5. and publishing with uv publish (instead of the default twine)

...and I'm just here to just say that I highly recommend it!

Obviously obsessing over type checking libraries can quickly become bikeshedding for the typical project, but I think the cohesive setup ends up adding a surprising amount of value. That goes double if you're running containers.[1]

TBH I see Astral and Pydantic as a league of their own in terms of advancing Python, for one simple reason: I can trust them to almost always make opiniated decisions that I agree with. The FastApi/SQLModel guy is close, but there's still some headscratchers -- not the case with the former two. Whether it's docs, source code, or the actual interfaces, I feel like I'm in good hands.

TL;DR: This newly-minted fanboy recommends you try out ty w/ uv & ruff!

[1]https://docs.astral.sh/uv/guides/integration/docker/#availab...





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: