Listen

Description

Monorepos -- you've heard the talks, you've read the blog posts, maybe you've seen a few tantalizing glimpses into how Google or Meta organize their massive codebases. But it's often in the abstract and behind closed doors. What if you could crack open a real, production monorepo, one with over a million lines of Python and over 100 of sub-packages, and actually see how it's built, step by step, using modern tools and standards? That's exactly what Apache Airflow gives us.



On this episode, I sit down with Jarek Potiuk and Amogh Desai, two of Airflow's top contributors, to go inside one of the largest open-source Python monorepos in the world and learn how they manage it with uv, pyproject.toml, and the latest packaging standards, so you can apply those same patterns to your own projects.



Episode sponsors



Agentic AI Course

Python in Production

Talk Python Courses


Guests

Amogh Desai: github.com

Jarek's GitHub: github.com



definition of a monorepo: monorepo.tools

airflow: airflow.apache.org

Activity: github.com

OpenAI: airflowsummit.org

Part 1. Pains of big modular Python projects: medium.com

Part 2. Modern Python packaging standards and tools for monorepos: medium.com

Part 3. Monorepo on steroids - modular prek hooks: medium.com

Part 4. Shared “static” libraries in Airflow monorepo: medium.com

PEP-440: peps.python.org

PEP-517: peps.python.org

PEP-518: peps.python.org

PEP-566: peps.python.org

PEP-561: peps.python.org

PEP-660: peps.python.org

PEP-621: peps.python.org

PEP-685: peps.python.org

PEP-723: peps.python.org

PEP-735: peps.python.org

uv: docs.astral.sh

uv workspaces: blobs.talkpython.fm

prek.j178.dev: prek.j178.dev

your presentation at FOSDEM26: fosdem.org

Tallyman: github.com



Watch this episode on YouTube: youtube.com

Episode #540 deep-dive: talkpython.fm/540

Episode transcripts: talkpython.fm



Theme Song: Developer Rap

🥁 Served in a Flask 🎸: talkpython.fm/flasksong



---== Don't be a stranger ==---

YouTube: youtube.com/@talkpython



Bluesky: @talkpython.fm

Mastodon: @talkpython@fosstodon.org

X.com: @talkpython



Michael on Bluesky: @mkennedy.codes

Michael on Mastodon: @mkennedy@fosstodon.org

Michael on X.com: @mkennedy