<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python Developer Tooling Handbook – Ty</title>
    <link>https://pydevtools.com/tags/ty/</link>
    <description>The Python Developer Tooling Handbook is a comprehensive guide to Python development tools including uv, ruff, pytest, mypy, ty, and more.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 27 Apr 2026 00:00:00 +0000</lastBuildDate>
    
	  <atom:link href="https://pydevtools.com/tags/ty/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>ty and pyrefly find different bugs</title>
      <link>https://pydevtools.com/blog/ty-and-pyrefly-find-different-bugs/</link>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/ty-and-pyrefly-find-different-bugs/</guid>
      <description>&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;

  &lt;div class=&#34;hx:w-full hx:min-w-0 hx:leading-7&#34;&gt;
    &lt;div class=&#34;hx:mt-6 hx:leading-7 hx:first:mt-0&#34;&gt;&lt;p&gt;&lt;strong&gt;Update 2026-04-29&lt;/strong&gt;: An earlier version of this post used a multi-line Liskov-violation panel from &lt;code&gt;rich/_null_file.py&lt;/code&gt; as an example of ty catching a real protocol bug. That diagnostic turned out to be a &lt;a href=&#34;https://github.com/astral-sh/ty/issues/2237&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ty false positive&lt;/a&gt;: ty reports the base parameter type as &lt;code&gt;Buffer&lt;/code&gt; when checking overrides on subclasses of &lt;code&gt;IO[str]&lt;/code&gt;, even though the parameterization should resolve &lt;code&gt;AnyStr&lt;/code&gt; to &lt;code&gt;str&lt;/code&gt;. mypy and pyright are both silent on the same code. The &amp;ldquo;Where ty pulls ahead&amp;rdquo; section has been rewritten with a tuple-arity finding instead, and the conclusion&amp;rsquo;s reference to &amp;ldquo;Liskov panels&amp;rdquo; has been dropped. Thanks to a reader for the catch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Astral Uses Its Own Tools</title>
      <link>https://pydevtools.com/blog/how-astral-uses-its-own-tools/</link>
      <pubDate>Thu, 23 Apr 2026 09:00:00 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/how-astral-uses-its-own-tools/</guid>
      <description>&lt;p&gt;Astral runs &lt;a href=&#34;https://pydevtools.com/handbook/reference/ruff/&#34;&gt;ruff&lt;/a&gt;, &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt;, and &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt; inside the repos that build them. Their &lt;code&gt;pyproject.toml&lt;/code&gt;, &lt;a href=&#34;https://pydevtools.com/handbook/how-to/how-to-set-up-pre-commit-hooks-for-a-python-project/&#34;&gt;&lt;code&gt;.pre-commit-config.yaml&lt;/code&gt;&lt;/a&gt;, and CI files are public, and a walk through the three shows how the people making ruff, ty, and uv wire their own toolchain into the projects that produce it.&lt;/p&gt;
&lt;h2&gt;Build ty from source and type-check Python with it&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;build-ty-from-source-and-type-check-python-with-it&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#build-ty-from-source-and-type-check-python-with-it&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The ruff repository ships ty as part of its crate tree. Three CI steps build ty from source and run it against the repo&amp;rsquo;s own Python:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Migrating from mypy to ty: Lessons from FastAPI</title>
      <link>https://pydevtools.com/blog/migrating-from-mypy-to-ty-lessons-from-fastapi/</link>
      <pubDate>Fri, 03 Apr 2026 00:00:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/migrating-from-mypy-to-ty-lessons-from-fastapi/</guid>
      <description>&lt;p&gt;Sebastián Ramírez, creator of &lt;a href=&#34;https://github.com/tiangolo/fastapi&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FastAPI&lt;/a&gt;, &lt;a href=&#34;https://x.com/tiangolo/status/1907849737048363046&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;recently announced&lt;/a&gt; that all his Python projects now use &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt; for type checking. That includes FastAPI, &lt;a href=&#34;https://github.com/fastapi/typer&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Typer&lt;/a&gt;, &lt;a href=&#34;https://github.com/fastapi/sqlmodel&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;SQLModel&lt;/a&gt;, &lt;a href=&#34;https://github.com/fastapi/asyncer&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Asyncer&lt;/a&gt;, and &lt;a href=&#34;https://github.com/fastapi/fastapi-cli&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;FastAPI CLI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Migrating the projects wasn&amp;rsquo;t a hard switch. It was incremental, messy in the middle, and completed at different speeds across different projects. That pattern offers a useful template for anyone considering the same move.&lt;/p&gt;
&lt;p&gt;Ramírez didn&amp;rsquo;t rip out &lt;a href=&#34;https://pydevtools.com/handbook/reference/mypy/&#34;&gt;mypy&lt;/a&gt; and replace it with ty in a single PR. Instead, he added ty alongside mypy and ran both checkers in parallel. Four of his five major repos still operate this way. Only SQLModel has fully dropped mypy.&lt;/p&gt;</description>
    </item>
    <item>
      <title>OpenAI to Acquire Astral</title>
      <link>https://pydevtools.com/blog/openai-acquires-astral/</link>
      <pubDate>Thu, 19 Mar 2026 00:00:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/openai-acquires-astral/</guid>
      <description>&lt;p&gt;OpenAI &lt;a href=&#34;https://openai.com/index/openai-to-acquire-astral/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;announced today&lt;/a&gt; that it will acquire &lt;a href=&#34;https://astral.sh/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Astral&lt;/a&gt;, the company behind &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt;, &lt;a href=&#34;https://pydevtools.com/handbook/reference/ruff/&#34;&gt;Ruff&lt;/a&gt;, and &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt;. The Astral team will join OpenAI&amp;rsquo;s Codex group after the deal closes, subject to regulatory approval.&lt;/p&gt;
&lt;h2&gt;What this means for Codex&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;what-this-means-for-codex&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#what-this-means-for-codex&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;a href=&#34;https://openai.com/index/codex/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Codex&lt;/a&gt;, OpenAI&amp;rsquo;s coding agent, has grown to over 2 million weekly active users, with 3x user growth and 5x usage increase since the start of 2026. Acquiring Astral gives OpenAI direct ownership of tools that millions of Python developers already depend on. OpenAI plans to integrate Astral&amp;rsquo;s tools more deeply into Codex so the agent can interact with the toolchain developers already use.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Charlie Marsh on uv, Coding Agents, and the Changing Open Source Contract</title>
      <link>https://pydevtools.com/blog/charlie-marsh-test-set-interview/</link>
      <pubDate>Tue, 24 Feb 2026 12:00:00 -0500</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/charlie-marsh-test-set-interview/</guid>
      <description>&lt;p&gt;Charlie Marsh (founder of &lt;a href=&#34;https://astral.sh/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Astral&lt;/a&gt;, creator of &lt;a href=&#34;https://pydevtools.com/handbook/reference/ruff/&#34;&gt;ruff&lt;/a&gt;, &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt;, and &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt;) joined Michael Chow and Wes McKinney on &lt;a href=&#34;https://posit.co/thetestset/episode/charlie-marsh-more-productive-but-a-lot-less-fun/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;The Test Set&lt;/a&gt;. They covered uv&amp;rsquo;s adoption strategy, how coding agents are changing Astral&amp;rsquo;s development process, and what&amp;rsquo;s happening to open source when writing code becomes cheap.&lt;/p&gt;
&lt;h2&gt;uv&amp;rsquo;s compatibility layer was the point&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;uvs-compatibility-layer-was-the-point&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#uvs-compatibility-layer-was-the-point&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;When uv first shipped, it only had &lt;code&gt;uv pip install&lt;/code&gt; and &lt;code&gt;uv venv&lt;/code&gt;. Some people found this odd. Charlie says it was deliberate:&lt;/p&gt;</description>
    </item>
    <item>
      <title>ty is Built with AI</title>
      <link>https://pydevtools.com/blog/ai-driven-software-development/</link>
      <pubDate>Fri, 02 Jan 2026 08:00:00 -0500</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/ai-driven-software-development/</guid>
      <description>&lt;p&gt;Tool creators are building their tools with AI coding assistants.&lt;/p&gt;
&lt;p&gt;Boris Cherny, creator of &lt;a href=&#34;https://code.claude.com/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Claude Code&lt;/a&gt;, &lt;a href=&#34;https://x.com/bcherny/status/2004626064187031831&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;didn&amp;rsquo;t open an IDE in December but wrote 200 PRs with Claude Code&lt;/a&gt;. Charlie Marsh, creator of &lt;a href=&#34;https://pydevtools.com/handbook/reference/ruff/&#34;&gt;ruff&lt;/a&gt;, &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt;, and &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt;, &lt;a href=&#34;https://x.com/charliermarsh/status/2006792788369965393&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;noted&lt;/a&gt; that all &lt;a href=&#34;https://github.com/astral-sh/ruff/pulls?q=is%3Apr&amp;#43;author%3Acharliermarsh&amp;#43;label%3Aty&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;his PRs&lt;/a&gt; to ty were created with Claude Code. The tools building themselves.&lt;/p&gt;
&lt;h2&gt;Integration with Python Tooling&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;integration-with-python-tooling&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#integration-with-python-tooling&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The handbook&amp;rsquo;s &lt;a href=&#34;https://pydevtools.com/handbook/explanation/modern-python-project-setup-guide-for-ai-assistants/&#34;&gt;Modern Python Project Setup Guide for AI Assistants&lt;/a&gt; provides structured guidance so AI tools default to &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt; and modern patterns rather than falling back to &lt;code&gt;pip&lt;/code&gt; commands.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ty: Astral&#39;s New Python Type Checker Released</title>
      <link>https://pydevtools.com/blog/ty-beta/</link>
      <pubDate>Tue, 16 Dec 2025 22:43:00 -0500</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/ty-beta/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://astral.sh&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Astral&lt;/a&gt; released &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt;, a Python type checker written in Rust, today. The company behind uv and Ruff designed ty as an alternative to &lt;a href=&#34;https://pydevtools.com/handbook/reference/mypy/&#34;&gt;mypy&lt;/a&gt; and &lt;a href=&#34;https://pydevtools.com/handbook/reference/pyright/&#34;&gt;pyright&lt;/a&gt;, with performance as a primary focus.&lt;/p&gt;
&lt;h2&gt;Speed Benchmarks&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;speed-benchmarks&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#speed-benchmarks&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;According to Astral&amp;rsquo;s benchmarks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ty checks the home-assistant project in 2.19 seconds (20x faster than mypy&amp;rsquo;s 45.66 seconds)&lt;/li&gt;
&lt;li&gt;After editing a file in PyTorch, ty recomputes diagnostics in 4.7ms (80x faster than pyright&amp;rsquo;s 386ms)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Key Features&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;key-features&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#key-features&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ty includes several design choices that distinguish it from existing type checkers:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Analysis of the New Wave of Python Type Checkers</title>
      <link>https://pydevtools.com/blog/analysis-of-the-new-wave-of-python-type-checkers/</link>
      <pubDate>Wed, 17 Sep 2025 20:31:00 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/analysis-of-the-new-wave-of-python-type-checkers/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://sinon.github.io/future-python-type-checkers/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Rob Hand&amp;rsquo;s comparison of emerging type checkers&lt;/a&gt; is the first comprehensive look at three new Rust-based tools: &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt; (Astral), &lt;a href=&#34;https://pydevtools.com/handbook/reference/pyrefly/&#34;&gt;pyrefly&lt;/a&gt; (Meta), and &lt;a href=&#34;https://pydevtools.com/handbook/reference/zuban/&#34;&gt;zuban&lt;/a&gt; (David Halter).&lt;/p&gt;
&lt;h2&gt;Key Findings&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;key-findings&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#key-findings&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Performance drives the rewrite. All three abandon Python implementations for Rust, targeting the bottlenecks that slow existing checkers on large codebases.&lt;/p&gt;
&lt;p&gt;Conformance scores don&amp;rsquo;t predict usefulness. ty passes only 15% of the &lt;a href=&#34;https://github.com/python/typing/tree/main/conformance&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;typing conformance suite&lt;/a&gt;&amp;rsquo;s tests but works well for everyday Python. The suite apparently focuses on edge cases most developers never hit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>ty&#39;s Breakthrough: Why Incremental Analysis Matters for Python</title>
      <link>https://pydevtools.com/blog/tys-breakthrough-why-incremental-analysis-matters-for-python/</link>
      <pubDate>Mon, 11 Aug 2025 09:22:00 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/tys-breakthrough-why-incremental-analysis-matters-for-python/</guid>
      <description>&lt;p&gt;In a recent &lt;a href=&#34;https://www.pybitespodcast.com/1501156/episodes/17587007-199-charlie-marsh-on-ty-uv-and-the-python-tooling-renaissance&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;PyBytes podcast interview&lt;/a&gt;, Astral&amp;rsquo;s Charlie Marsh shared insights into what makes their new type checker &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt; unique and how it aims to address longstanding challenges in Python type checking.&lt;/p&gt;
&lt;h2&gt;What is ty?&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;what-is-ty&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#what-is-ty&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;ty serves dual purposes: it functions as a standalone command-line type checker (similar to &lt;a href=&#34;https://pydevtools.com/handbook/reference/mypy/&#34;&gt;mypy&lt;/a&gt;) and as a language server that powers IDE features like go-to-definition, code completion, and real-time diagnostics.&lt;/p&gt;
&lt;p&gt;&amp;ldquo;We wanted to build a great type checker and a great language server, and they have things that are in common but they also have very different requirements,&amp;rdquo; Marsh explained. &amp;ldquo;If you don&amp;rsquo;t think about both of those from the start, you end up in a little bit of trouble.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    <item>
      <title>How Python&#39;s RFC Process Paved the Way for uv, Ruff, and Ty</title>
      <link>https://pydevtools.com/blog/peps-and-astral/</link>
      <pubDate>Fri, 01 Aug 2025 15:22:00 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/peps-and-astral/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://astral.sh/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Astral&lt;/a&gt;, an independent startup, has taken the Python world by storm over the last few years with three fast, robust Python developer tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://pydevtools.com/handbook/reference/ruff/&#34;&gt;ruff&lt;/a&gt; (linter and formatter)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt; (packaging and project management)&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt; (static type checker, still under development)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These tools came from the mind of Charlie Marsh, who is neither a Python core developer nor directed by the Python Steering Council. While being independently developed, these tools work seamlessly within the established Python ecosystem. This success stems partly from Astral&amp;rsquo;s attention to guidelines established by the Python Enhancement Proposal (&lt;a href=&#34;https://pydevtools.com/handbook/explanation/pep/&#34;&gt;PEP&lt;/a&gt;) process over the last twenty-five years.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Comparison of the Two New Typecheckers</title>
      <link>https://pydevtools.com/blog/comparison-of-the-two-new-typecheckers/</link>
      <pubDate>Wed, 28 May 2025 07:29:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/comparison-of-the-two-new-typecheckers/</guid>
      <description>&lt;p&gt;At PyCon 2025&amp;rsquo;s Typing Summit, participants saw the first demonstrations of Meta&amp;rsquo;s &lt;a href=&#34;https://pydevtools.com/blog/pyrefly-metas-new-type-checker-for-python/&#34;&gt;Pyrefly&lt;/a&gt; and Astral&amp;rsquo;s &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;&gt;ty&lt;/a&gt;, two new Python type checkers with significant speed and analysis improvements.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://blog.edward-li.com/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Edward Li&lt;/a&gt; helpfully took notes and provided a right-up.&lt;/p&gt;
&lt;p&gt;Here are some takeaways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Both tools show substantial speed gains&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pyrefly claims up to 1.8 million lines/sec (35× faster than Pyre, 14× faster than MyPy/pyright), while ty benchmarks show it running 2–3× faster than Pyrefly on real-world codebases.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The tools differ in their approach to type inference&lt;/p&gt;</description>
    </item>
    <item>
      <title>Early Explorations of Astral&#39;s Red Knot Type Checker</title>
      <link>https://pydevtools.com/blog/early-explorations-of-astrals-red-knot-type-checker/</link>
      <pubDate>Thu, 03 Apr 2025 15:19:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/early-explorations-of-astrals-red-knot-type-checker/</guid>
      <description>&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:rounded-lg hx:border hx:py-2 hx:ltr:pr-4 hx:rtl:pl-4 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;div class=&#34;hx:ltr:pl-3 hx:ltr:pr-2 hx:rtl:pr-3 hx:rtl:pl-2&#34;&gt;&lt;svg height=1.2em class=&#34;hx:inline-block hx:align-middle&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;&lt;/div&gt;

  &lt;div class=&#34;hx:w-full hx:min-w-0 hx:leading-7&#34;&gt;
    &lt;div class=&#34;hx:mt-6 hx:leading-7 hx:first:mt-0&#34;&gt;Update (May 5, 2025): Red Knot has been renamed &lt;a href=&#34;https://pydevtools.com/handbook/reference/ty/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;ty&lt;/a&gt;.&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;A recent &lt;a href=&#34;https://jurasofish.github.io/a-very-early-play-with-astrals-red-knot-static-type-checker.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;blog post by Michael Jurasovic&lt;/a&gt; explores Astral&amp;rsquo;s upcoming static type checker, Red Knot. The tool is under active development with an &lt;a href=&#34;https://github.com/astral-sh/ruff/milestone/22&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;alpha release targeted for PyCon 2025&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>It&#39;s happening! A Python Type Checker from Astral</title>
      <link>https://pydevtools.com/blog/its-happening-a-python-type-checker-from-astral/</link>
      <pubDate>Wed, 29 Jan 2025 15:39:00 +0000</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/blog/its-happening-a-python-type-checker-from-astral/</guid>
      <description>&lt;p&gt;After months of speculation, &lt;a href=&#34;https://astral.sh&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Astral&lt;/a&gt; (creators of Ruff and uv) has &lt;a href=&#34;https://x.com/charliermarsh/status/1884651482009477368&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;officially announced&lt;/a&gt; their work on a new static type checker for Python. Built from the ground up in Rust, this tool aims to bring Astral&amp;rsquo;s signature focus on performance to Python&amp;rsquo;s static typing ecosystem.&lt;/p&gt;
&lt;p&gt;Charlie Marsh, Astral founder, says that beyond performance, the project seeks to minimize &amp;ldquo;false positives, especially on untyped code, to make it easier for projects to adopt a type checker and expand coverage gradually over time, without being swamped in bogus type errors from the start.&amp;rdquo;&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
