Post

Today, we’re announcing the preview release of ty, an extremely fast type checker and language server for Python, written in Rust. In early testing, it's 10x, 50x, even 100x faster than existing type checkers. (We've seen >600x speed-ups over Mypy in some real-world projects.)

Our goal with ty is to build the best static analysis toolchain for Python -- to push the boundaries of how helpful a type checker can be in a highly dynamic ecosystem. And we want it to be capable of scaling to tens or even hundreds of millions of lines of code.

With the preview release, we don't expect ty to be usable in production. It's feature-incomplete, and you should expect to encounter bugs or even fatal errors.

Instead, this release is about giving users a _preview_ of what to expect from ty, and a call to follow along as we work towards a stable release later this year.

Like Ruff and uv, ty is open-source and MIT-licensed, so you can use the same tool on the command line, in CI, in any editor, across your team, etc.

Alongside the preview release, we're also shipping an official VS Code extension. And you can use `ty server` directly in any editor that supports the Language Server Protocol (Neovim, etc.).

Over the past few months, we've focused on: 1. Defining the core architecture (highly incremental, to power a language server -- built on the same underlying engine as rust-analyzer). 2. Implementing a bunch of type system features (e.g., generics, overloads, protocols).

0 reposts7 likes

From here, we'll be implementing the rest of the typing spec, and iterating closely with users as we push towards a production-ready release. If you're interested in helping us get there, give it a try :)

Like Ruff and uv, we're building this project in the open alongside a community of contributors -- over a thousand PRs in total across 30+ authors. So first: thank you to everyone that's contributed to ty over the past few months!