惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
小众软件
小众软件
The Cloudflare Blog
S
SegmentFault 最新的问题
美团技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
博客园 - 聂微东
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
WordPress大学
WordPress大学
T
Tailwind CSS Blog
腾讯CDC
人人都是产品经理
人人都是产品经理
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
D
DataBreaches.Net
Apple Machine Learning Research
Apple Machine Learning Research
P
Proofpoint News Feed
J
Java Code Geeks
宝玉的分享
宝玉的分享

Meta Tech Podcast

Meta Tech Podcast: BONUS: Send Us Your Questions About Engineering at Meta Meta Tech Podcast: 87: Everything is Power: Battery Life Engineering for AI Glasses Meta Tech Podcast: 86: A Hard Cell: Engineering Ultra-Narrow Batteries for AI Glasses Meta Tech Podcast: 85: Reel Friends: Building Social Discovery that Scales to Billions Meta Tech Podcast: 84: Trust But Canary: Configuration Safety at Scale Meta Tech Podcast: 83: Patch Me If You Can: AI Codemods for Secure-by-Default Android Apps Meta Tech Podcast: 82: CSS at Scale with StyleX Meta Tech Podcast: 81: From Zero to Polish: Building Meta Ray-Ban Display Meta Tech Podcast: 80: Lowering emissions with the Open Compute Project Meta Tech Podcast: 79: Building Android apps in Meta’s monorepository with Buck2 Meta Tech Podcast: 78: Generating 3D Worlds with AI Meta Tech Podcast: ARCHIVE: What it's like to write code at Meta Meta Tech Podcast: 77: How to build a generic neuromotor interface Meta Tech Podcast: 76: From C to Rust on Mobile Meta Tech Podcast: 75: Open-sourcing Pyrefly - A faster Python type checker written in Rust Meta Tech Podcast: 74: Taking the plunge - The engineering journey of building a Subsea Cable Meta Tech Podcast: 73: Mobile GraphQL at Meta in 2025 Meta Tech Podcast: 72: Multimodal AI for Ray-Ban Meta glasses Meta Tech Podcast: 71: Translating Java to Kotlin at Scale Meta Tech Podcast: 70: Jetpack Compose at Meta Meta Tech Podcast: 69: To type or not to type — measuring productivity impact with DAT Meta Tech Podcast: 68: How to Build a Mixed Reality Headset Meta Tech Podcast: 67: Measuring Developer Productivity with Diff Authoring Time Meta Tech Podcast: 66: Inside Bento - Serverless Jupyter Notebooks at Meta Meta Tech Podcast: 65: Getting Ready for Post-Quantum Cryptography Meta Tech Podcast: 64: Caddy - Building the next generation of CAD software for Mixed Reality Meta Tech Podcast: 63: The key to a happy Rust/C++ relationship Meta Tech Podcast: 62: Building Threads for Web Meta Tech Podcast: 61: Image Quality Improvements at Scale Meta Tech Podcast: 60: Simplified Executable Deployment with DotSlash
Meta Tech Podcast: 57: Writing and linting Python at scale
2023-10-31 · via Meta Tech Podcast

Oct 30, 2023

Python at Meta is huge. Not only does it famously power Instagram's backend, but it underpins our configuration systems, much of our AI work and many services. Amethyst joins Pascal for this episode of the Meta Tech Podcast to talk about how the Python Foundation Team works to improve the developer experience of everyone working with Python at Meta and Fixit 2, the freshly open-sourced linter framework built on top of libcst.

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

Links

Timestamps

  • Intro 0:06

  • Intro Amethyst 1:57

  • Production vs Software Engineering 3:41

  • PE for language teams 5:40

  • Python at Meta 6:58

  • Python3 migration 10:15

  • Projects on the Python Foundation Team 16:30

  • libcst and codemods 21:55

  • What Python looks like at Meta 25:53

  • Meta's involvement in the Python community 30:30

  • The importance of lints at Meta 35:13

  • Why another linter? 39:11

  • Favourite lint 46:26

  • Outro 48:17

  • Bloopers 48:54