Saltar al contenido

75: Open-sourcing Pyrefly - A faster Python type checker written in Rust

15 de mayo de 2025 · 32 min

Notas del episodio

Pyrefly is a faster, open-source Python type checker written in Rust, succeeding Pyre. But what prompted the rewrite and what besides the language choice ended up making it faster? Host Pascal talks to Maggie, Rebecca and returning guest Neil about the unexpected complexities of building an incremental type checker that scales to mono repositories in episode 75.

Got feedback? Send it to us on Threads (https://threads.net/@metatechpod), Instagram (https://instagram.com/metatechpod) and don't forget to follow our host Pascal (https://mastodon.social/@passy, https://threads.net/@passy_). Fancy working with us? Check out https://www.metacareers.com/.

Links

Timestamps

  • Intro 0:06

  • Rebecca Introduction 1:45

  • Maggie Introduction 2:45

  • Neil (Re-)Introduction 3:12

  • Team Mission 3:56

  • History of Typing in Python 4:29

  • The State of Typed Python at Meta 5:32

  • fbcode 6:02

  • Original Motivation for building Pyre 6:19

  • Justifying the Rewrite 7:48

  • Pyrefly vs the Rest 9:41

  • Why Rust? 10:45

  • Fearless Concurrency 12:02

  • Why is it faster? 12:37

  • Python community and Rust 14:57

  • Pyrefly wasm crate 15:46

  • Upgrade experience 17:34

  • Type checking differences 19:12

  • IDE experience 21:31

  • State of Pyrefly at Meta 22:27

  • Being open-source-first 23:36

  • Open-source challenges 25:06

  • Unexpected challenges 26:39

  • Outro 31:05

Todos los episodios de Meta Tech Podcast

Ajustes

Visualización

Idioma

Determina qué emisoras ves primero en la página de inicio.

Historial

Las emisoras y episodios escuchados recientemente y tus últimas búsquedas solo se guardan en este navegador.

Avisos

Un breve aviso cuando un pódcast que sigues tiene un episodio nuevo. Puedes desactivar pódcast concretos con la campana de su página.

Cuenta

Guarda tus favoritos: en la app y en la web.

Atajos de teclado

/
Abrir búsqueda
Espacio
Reproducir o pausar
← →
En el reproductor: 15 s atrás, 30 s adelante (episodios) · en una fila: siguiente tarjeta
↑ ↓
En una fila: destino dentro de la tarjeta
Inicio / Fin
En una fila: primera o última tarjeta
Esc
Cerrar ventana o menú
?
Este resumen
Reproduciendo ahora

Ir a la emisora

A continuación

    Añade episodios con «A continuación»: sonarán después del episodio actual.