As I mentioned earlier, it's a bit more difficult to have good exit strategies with ruff, given that the specs around linting are much more loose. It's even harder to have a good exit strategy for ty, even though there's good specs, because there's not a great type checker to use instead¹.

___
¹As has been pointed out to me, mypy is, for all its strengths and weaknesses, not a type checker. It doesn't follow formal mathematical type checking rules, it follows linting heuristics.

So: an exit strategy relies on good specs and parallel tooling. For ruff, we have parallel tooling. For ty, we have good specs. For uv, we have both.

That only matters if we take that exit, but we're still in the kinda-sorta OK case to some approximate degree.

But what about the next time some infrastructure gets yoinked out from the Python ecosystem? How do we make sure we keep having good exit strategies?

That's when I get back to the first fact: AI is an attack on open source.

0

If you have a fediverse account, you can quote this note from your own instance. Search https://wandering.shop/users/xgranade/statuses/116259915527398709 on your instance and quote it. (Note that quoting is not supported in Mastodon.)