FOSDEM Talk: Modern Python Monorepo with uv, Workspaces, and prek

February 5, 2026

Jarek Potiuk, Apache Airflow PMC member and the project’s top committer, gave a talk at FOSDEM 2026 on how Airflow manages its massive Python monorepo. The recording is now available.

Airflow ships over 120 separate Python distributions from a single repository, with 700+ dependencies and 3,600+ contributors. That scale forced the team to modernize their tooling. The talk walks through how they did it.

uv Workspaces for Monorepo Management

The new setup centers on uv workspaces. Rather than splitting 120 distributions across separate repositories or bundling everything into an unmanageable monolith, Airflow uses uv’s workspace feature to let distributions depend on each other via local sources instead of pulling from PyPI.

uv sync resolves over 900 packages in seconds. When a developer works on a specific provider (say, the Amazon provider), uv automatically installs only the dependencies needed for that distribution. Transitive local dependencies are resolved automatically too.

prek for Fast Pre-Commit at Scale

Standard pre-commit struggled with Airflow’s 90+ distributions and a single top-level configuration. Airflow switched to prek, a Rust-based drop-in replacement.

For monorepos, prek supports multiple pre-commit-config files throughout a repository and is monorepo-aware: running checks in a subdirectory only executes hooks relevant to that distribution. It also supports inline script metadata, allowing check scripts to run in their own virtual environments created via uv. prek is growing fast and becoming essential tooling for large Python projects.

Shared Libraries via Simulated Static Linking

One of the more novel ideas in the talk is Airflow’s approach to sharing code across distributions without creating tight coupling. Inspired by static libraries in C, they use symbolic links to vendor shared code (like logging utilities) into each consumer distribution’s source tree. Different distributions can use different versions of the same shared library at runtime, avoiding the usual “single version” constraint of Python packages.

Worth Watching

If you’re managing a Python monorepo or even a multi-package project, this talk is full of practical patterns. The combination of uv workspaces, prek, and creative approaches to code sharing shows what’s possible when a project of Airflow’s scale invests in modern tooling.

Watch the full talk here.

Last updated on

Please submit corrections and feedback...