Astral team has a very good track record, so there's no doubt that Ty will be the type checker people will be using, just like everyone standardized on Ruff. The deal with type checkers is that they can be useful even if they don't catch everything, as you can disable the checks that are not ready.
Facebook/Meta has a competing type checker coming up, also written in rust: https://pyrefly.org/ - but the deal with Meta stuff often is that they are optimized to deal with Meta problems and Meta code bases, ignoring the wider community. On Fri, Jul 4, 2025 at 1:04 PM Edward K. Ream <edream...@gmail.com> wrote: > On Thursday, July 3, 2025 at 5:43:45 PM UTC-5 Edward K. Ream wrote: > > On Thu, Jul 3, 2025 at 11:45 AM Ville M. Vainio <viva...@gmail.com> wrote: > > I'm not sure types are that relevant to Ruff, Astral is building Ty as > their type checker: https://github.com/astral-sh/ty > > > Ruff issue #970 <https://github.com/astral-sh/ruff/issues/970> tracks > compliance with pylint. This issue explicitly mentions type inference and > multi-file analysis. > > Ah. At last I see the source of our confusion. Ruff's type inference > engine used to be known as red knot. It has been renamed to Ty. > > There are 298 open Ty issues <https://github.com/astral-sh/ty/issues>, so > it remains to be seen when Ty will become operational and how fast it will > be. > > Googling "red ruff type inference" yielded this AI (presumably Gemini) > summary: > > QQQ > Red Ruff, now known as Ty, is a new type checker being developed by the > Astral team, the creators of Ruff, and is designed to be a distinct > alternative to tools like Mypy and Pyright. It focuses on strong type > inference, even in unannotated code, and aims to minimize false positives. > This > means it tries to infer types automatically and avoids reporting errors on > code that works correctly but lacks explicit type hints. [1 > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 2 > <https://talkpython.fm/episodes/show/506/ty-astrals-new-type-checker-formerly-red-knot>, > 3 <https://github.com/astral-sh/ruff/discussions/15149>] > > Here's a more detailed breakdown: > > - Emphasis on Type Inference: Red Ruff prioritizes inferring types > from code, even without explicit annotations. This is in contrast to > some other type checkers that might require more annotations to function > correctly. [1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 3 <https://github.com/astral-sh/ruff/discussions/15149>, 3 > <https://github.com/astral-sh/ruff/discussions/15149>] > - Minimizing False Positives: The developers of Red Ruff aim to avoid > reporting errors on code that is already correct. This makes it easier > for developers to gradually adopt type checking without being overwhelmed > by errors in existing code. [1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 3 <https://github.com/astral-sh/ruff/discussions/15149>, 3 > <https://github.com/astral-sh/ruff/discussions/15149>, 4 > > <https://www.reddit.com/r/Python/comments/1idk4ko/the_creators_of_ruff_and_uv_are_building_a_new/>, > 5 > > <https://github.com/astral-sh/ruff/issues/1149#:~:text=edgarrmondragon%20commented%20on%20Dec%208%2C%202022%20edited,by%20some%20tools%20in%20the%20flake8%20ecosystem:>] > > - Not a Drop-in Replacement: While Red Ruff is designed to be a > powerful type checker, it's not intended to be a complete replacement for > existing tools like Mypy or Pyright. It will have its own set of > features and design choices, offering a different approach to type > checking. [3 <https://github.com/astral-sh/ruff/discussions/15149>, 3 > <https://github.com/astral-sh/ruff/discussions/15149>] > - Part of a Broader Toolchain: Red Ruff (now Ty) is part of a larger > developer tool suite being built by Astral, which includes the Ruff linter > and formatter. This suite aims to provide a comprehensive set of tools > for Python development. [2 > > <https://talkpython.fm/episodes/show/506/ty-astrals-new-type-checker-formerly-red-knot>, > 2 > > <https://talkpython.fm/episodes/show/506/ty-astrals-new-type-checker-formerly-red-knot>] > > - Active Development: Red Ruff is still under active development, and > it's not yet officially released, according to a blog post about the tool. > You > can try it out from the source code, but expect ongoing changes and > improvements. [1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 1 > > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.>, > 6 > > <https://pydevtools.com/handbook/explanation/how-do-ruff-and-pylint-compare/#:~:text=While%20Pylint%20implements%20approximately%20409%20rules%2C%20Ruff,development%20with%20frequent%20updates%20and%20expanding%20capabilities.> > ] > > *AI responses may include mistakes.* > [1] > https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html > <https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html#:~:text=%23%20Setting%20up%20the%20Red%20Knot%20Type,can%20try%20it%20out%20from%20the%20source.> > [2] > https://talkpython.fm/episodes/show/506/ty-astrals-new-type-checker-formerly-red-knot > [3] https://github.com/astral-sh/ruff/discussions/15149 > [4] > https://www.reddit.com/r/Python/comments/1idk4ko/the_creators_of_ruff_and_uv_are_building_a_new/ > [5] https://github.com/astral-sh/ruff/issues/1149 > <https://github.com/astral-sh/ruff/issues/1149#:~:text=edgarrmondragon%20commented%20on%20Dec%208%2C%202022%20edited,by%20some%20tools%20in%20the%20flake8%20ecosystem:> > [6] > https://pydevtools.com/handbook/explanation/how-do-ruff-and-pylint-compare/ > <https://pydevtools.com/handbook/explanation/how-do-ruff-and-pylint-compare/#:~:text=While%20Pylint%20implements%20approximately%20409%20rules%2C%20Ruff,development%20with%20frequent%20updates%20and%20expanding%20capabilities.> > > QQQ > > I copied the text using the copy button. Many reference numbers are > strangely repeated, as you can see. > > HTH. > > Edward > > -- > You received this message because you are subscribed to the Google Groups > "leo-editor" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to leo-editor+unsubscr...@googlegroups.com. > To view this discussion visit > https://groups.google.com/d/msgid/leo-editor/cb8cfade-b411-4aff-aca1-d4cd692bdfa4n%40googlegroups.com > <https://groups.google.com/d/msgid/leo-editor/cb8cfade-b411-4aff-aca1-d4cd692bdfa4n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to leo-editor+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/leo-editor/CAPuzRuOGd44FYczLF9g%2BokODdFG0hvfbmaeydyGM%2BiEpYZZ1oQ%40mail.gmail.com.