Navigated to Open-sourcing Pyrefly - A faster Python type checker written in Rust

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

May 15
32 mins

Episode Transcript

Hello and welcome to episode 75 of the MetaTech podcast, an interview podcast by Meta where we talk to engineers who work on our different technologies. My name is Pascal and I am thrilled that Poland's season has finally returned to the Northern Hemisphere. It's that magical time where the mute button becomes our best friend and we all compete in...

Episode Description

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

 

See all episodes