Hacker ApprovedDepartments

ty Python type checker

Hacker Approved

The most recommended of 6 Python type checkers

Fast, free Python type checker from Astral with clear diagnostics that fits alongside uv and ruff. Critics say it's less accurate than rivals and lacks Django support.

Fast, free Python type checker from Astral with clear diagnostics that fits alongside uv and ruff. Critics say it's less accurate than rivals and lacks Django support.

100 people gave an opinion

recommend it
74
criticize it
26
approval share
74%
Each figure is one person. RecommendsCriticizes

Recommended in 11 of 13 months

  1. November 2025: recommended
  2. December 2025: recommended
  3. January 2026: recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: recommended
  11. September 2026: not recommended
  12. October 2026: recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 74 people recommend itNeeds 10 or more, met.
  • 2.8 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 11 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Fast, quick feedback in CI

    “It does a good job of being fast and easy to use while catching many issues without being overly draconian.”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “Went from type checking taking ~10 minutes in CI to now taking ~15 seconds and runs on pre-commit.”

    Comment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

    “rust-based tools (ty, pyrefly) have popped up, running sub-second.”

    Comment from 6 Jun 2026 in “Show HN: Typedframes – Pandas/polars column name checking at lint time”
  • Clear, helpful diagnostics

    “ty immediately found issues where we annotated that a duct was an acceptable input, but actually doing so would break things.”

    Comment from 16 Dec 2025 in “Announcing the Beta release of ty”

    “you'll get clear diagnostics for that particular example”

    Comment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “"rust inspired" diagnostics that are extremely helpful”

    Comment from 19 Dec 2025 in “Announcing the Beta release of ty”
  • Part of uv and ruff toolchain

    “Given the quality of uv and ruff and the experience of the team working on ty, I'm quite confident it's going to be great in that respect as well.”

    Comment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

    “wondering if I can ever work another python project after having experienced uv, ruff, and ty”

    Comment from 19 Mar 2026 in “Astral to Join OpenAI”

    “it's nice to know that uv (+ ty and many others) and Bun will stay maintained”

    Comment from 19 Mar 2026 in “Astral to Join OpenAI”

What people warn about

Each mark is one comment

  • Lacks Django and plugin support

    “Very exciting! I guess I'll have to wait for Django and Pydantic support to migrate to it”

    Comment from 16 Dec 2025 in “Announcing the Beta release of ty”

    “Ty doesn't support Django yet, and it doesn't have a plugin system, so third party developers can't improve it.”

    Comment from 16 Dec 2025 in “Announcing the Beta release of ty”

    “ty‘s hesitant support of Django(’s quirks) preempts the advantages for me.”

    Comment from 24 Oct 2026 in “Bringing uv and ty together”
  • Less accurate than other checkers

    “It's still very far from being competitive with SOTA type checkers like basedpyright.”

    Comment from 30 Nov 2025 in “Ty – A fast Python type checker, written in Rust”

    “A large fraction of the findings were ty guessing the type and being wrong.”

    Comment from 24 Oct 2026 in “Bringing uv and ty together”

    “Ty is quantitatively the worst of the well-known type checkers”

    Comment from 19 Mar 2026 in “Astral to Join OpenAI”
  • Young project, still maturing

    “It's a good default for a pre-1.0 tool that aims to type check existing code.”

    Comment from 24 Oct 2026 in “Bringing uv and ty together”

    “With the possible exception of ty since that's still pretty new”

    Comment from 10 Oct 2026 in “Cloudflare acquires Deno”

    “It is definitely not as good, but it is also really new.”

    Comment from 6 Jan 2026 in “I switched from VSCode to Zed”

Other Python type checkers people recommend

The four most recommended other Python type checkers, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

ty Python type checker compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
ty Python type checkerThis page742674%11—Approved
mypy341471%10—Approved
Pyright311666%11——
Pyrefly28878%81 mo3 ownersApproved
basedpyright9756%7——
See all 6 Python type checkers, ranked

What people said

40 of the 112 comments that mention it, newest first. Each links to the original comment.

“It's a good default for a pre-1.0 tool that aims to type check existing code.”

RecommendsComment from 24 Oct 2026 in “Bringing uv and ty together”

“A large fraction of the findings were ty guessing the type and being wrong.”

CriticizesComment from 24 Oct 2026 in “Bringing uv and ty together”

“It's cool to see ty support for scripts. That's something I really needed”

RecommendsComment from 24 Oct 2026 in “Bringing uv and ty together”

“even now aren't adding support until after `ty` is integrated”

MixedComment from 24 Oct 2026 in “Bringing uv and ty together”

“ty‘s hesitant support of Django(’s quirks) preempts the advantages for me.”

CriticizesComment from 24 Oct 2026 in “Bringing uv and ty together”

“One step closer to bringing the Rust experience to Python. Good.”

RecommendsComment from 24 Oct 2026 in “Bringing uv and ty together”

“having them as a first class feature of the package manager will save so much unnecessary pain”

RecommendsComment from 24 Oct 2026 in “Bringing uv and ty together”

“With the possible exception of ty since that's still pretty new”

RecommendsComment from 10 Oct 2026 in “Cloudflare acquires Deno”

“Great to see ruff, ty and uv being actively developed”

RecommendsComment from 26 Jul 2026 in “Ruff v0.16.0 – Significant new updates – 413 default rules up from 59”

“ty seems to work better, and is not a one man show/bus factor of 1”

MixedComment from 11 Jul 2026 in “Scarf has moved away from Haskell”

“Went from type checking taking ~10 minutes in CI to now taking ~15 seconds and runs on pre-commit.”

RecommendsComment from 9 Jun 2026 in “Are you expected to run five Python type-checkers now?”

“other than `uv` and `ty`, I don't feel a whole lot has improved in Python land”

RecommendsComment from 8 Jun 2026 in “Learn PHP in 2026 (Yes, Really)”

“rust-based tools (ty, pyrefly) have popped up, running sub-second.”

RecommendsComment from 6 Jun 2026 in “Show HN: Typedframes – Pandas/polars column name checking at lint time”

“There are plenty of options for static type checking in Python. Choose your favorite or just use Ty”

RecommendsComment from 24 May 2026 in “Constraint Decay: The Fragility of LLM Agents in Back End Code Generation”

“Ty is quantitatively the worst of the well-known type checkers”

CriticizesComment from 19 Mar 2026 in “Astral to Join OpenAI”

“wondering if I can ever work another python project after having experienced uv, ruff, and ty”

RecommendsComment from 19 Mar 2026 in “Astral to Join OpenAI”

“Ty, Ruff, UV, all great tools I recently started really using”

RecommendsComment from 19 Mar 2026 in “Astral to Join OpenAI”

“it's nice to know that uv (+ ty and many others) and Bun will stay maintained”

RecommendsComment from 19 Mar 2026 in “Astral to Join OpenAI”

“ty sometimes finds real issues that are actually allowed by the spec”

MixedComment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“Given the quality of uv and ruff and the experience of the team working on ty, I'm quite confident it's going to be great in that respect as well.”

RecommendsComment from 17 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“you'll get clear diagnostics for that particular example”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“I am worried about the false negatives/positive rate however.”

CriticizesComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“And it makes it infinitely easier for them to get with thr times and start typing their code!”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“It does a good job of being fast and easy to use while catching many issues without being overly draconian.”

RecommendsComment from 16 Mar 2026 in “Comparing Python Type Checkers: Typing Spec Conformance”

“If you're starting a new project, there's no reason you shouldn't.”

RecommendsComment from 16 Mar 2026 in “Type systems are leaky abstractions: the case of Map.take!/2”

“the type safety/security issues can hopefully be mitigated by ty and pyodide”

RecommendsComment from 7 Feb 2026 in “Python interpreter written in Rust for use by AI”

“I immediately set up up ruff, ty, pytest, pre-commit hook and GH workflow to run ruff/ty/pytest”

RecommendsComment from 28 Jan 2026 in “Notes on Starting to Use Django”

“It is definitely not as good, but it is also really new.”

MixedComment from 6 Jan 2026 in “I switched from VSCode to Zed”

“Python can type check single file scripts (even with PEP 723 deps) with ty”

RecommendsComment from 31 Dec 2025 in “Go Away Python”

“It's not great, but in this very thread there's a person from the conformance team”

MixedComment from 19 Dec 2025 in “Announcing the Beta release of ty”

“"rust inspired" diagnostics that are extremely helpful”

RecommendsComment from 19 Dec 2025 in “Announcing the Beta release of ty”

“Django support will be a game changer on top of the game changer ty is!”

RecommendsComment from 17 Dec 2025 in “Announcing the Beta release of ty”

“it doesn't work well with TypedDicts and that's a show-stopper for us”

MixedComment from 17 Dec 2025 in “Announcing the Beta release of ty”

“I'd be tempted to use this solely due to their support of intersection (A & B) types”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“ty immediately found issues where we annotated that a duct was an acceptable input, but actually doing so would break things.”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“Ty doesn't support Django yet, and it doesn't have a plugin system, so third party developers can't improve it.”

CriticizesComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“Very exciting! I guess I'll have to wait for Django and Pydantic support to migrate to it”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“ty is actually a big step in this direction as it provides multi-file analysis and type inference.”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“TIL that ty is also a language server, which means it replaces not only mypy, but also Pyright”

RecommendsComment from 16 Dec 2025 in “Announcing the Beta release of ty”

“It's still very far from being competitive with SOTA type checkers like basedpyright.”

MixedComment from 30 Nov 2025 in “Ty – A fast Python type checker, written in Rust”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.