Happy Path Programming

#114 ty: Fast Python Type Checking with Carl Meyer

Jul 25, 2025
Carl Meyer, a pivotal developer for the ty Python type checker created by Astral, discusses the evolution of static typing in Python. He dives into the challenges and successes of building a type checker in Rust, emphasizing performance and integration with AI coding tools. The conversation explores the importance of type annotations for both safety and developer productivity, comparing Python's type system with others like TypeScript and Rust. Meyer also highlights the role of concurrency and incremental computation in improving type-checking efficiency.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ADVICE

Gradual Typing Strategy Advice

  • Avoid inferring strict types from limited information in untyped Python code bases.
  • Use unknown type unions to reduce initial type errors and facilitate gradual annotation adoption.
ANECDOTE

Instagram Typing Transition Story

  • Carl Meyer shared how he led the Instagram server Python code base transition from Python 2 to 3 and introduced typing.
  • They achieved near 100% type annotation coverage, drastically improving code clarity and developer experience.
ADVICE

Embrace Python's Gradual Typing

  • Use gradual typing in Python by annotating where it makes sense and falling back on any for dynamic parts.
  • This balances type safety with flexibility for complex or dynamic code sections.
Get the Snipd Podcast app to discover more snips from this episode
Get the app