Aller au contenu

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

15 mai 2025 · 32 min

Notes de l’épisode

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

Tous les épisodes de Meta Tech Podcast

Paramètres

Affichage

Langue

Détermine les stations affichées en premier sur la page d’accueil.

Historique

Les stations et épisodes écoutés récemment et tes dernières recherches sont seulement enregistrés dans ce navigateur.

Notifications

Un court message quand un podcast que tu suis publie un nouvel épisode. Désactive un podcast précis avec la cloche sur sa page.

Compte

Enregistrez vos favoris – dans l’app et sur le site.

Raccourcis clavier

/
Ouvrir la recherche
Espace
Lecture ou pause
← →
Dans le lecteur : 15 s en arrière, 30 s en avant (épisodes) · dans une rangée : tuile suivante
↑ ↓
Dans une rangée : cible dans la tuile
Début / Fin
Dans une rangée : première ou dernière tuile
Esc
Fermer la fenêtre ou le menu
?
Cet aperçu
En cours de lecture

Voir la station

À suivre

    Ajoutez des épisodes avec « À suivre » – ils seront lus après l'épisode en cours.