Cracking the Python Monorepo

One Big Python Codebase: Hype vs Headaches, and a Whole Lot of Testing

TLDR: A developer touts a faster, easier one‑folder Python setup using uv and Dagger, claiming end‑to‑end caching and simple workflows. Commenters clap back that testing is the real bottleneck, some say switch to typed languages, and many smell ad vibes—while submodule survivors cheer anything that ends their pain.

A new post promises a dreamy “one big code folder” life for Python teams using shiny tools like uv and Dagger. The pitch: less fiddling, more building, and even caching all the way through linters and tests. But the crowd? They came for the demo and stayed for the drama. The loudest chorus is yelling: it’s not packaging that burns money—it’s tests, tests, tests. One commenter demands, basically, “Cool story, but how do you speed up the test avalanche?” Another lights the fuse with a spicy take: if your codebase is big enough for a monorepo, switch to a statically typed language already—cue the Python vs. “just use Rust/Java” skirmish. Meanwhile, a skeptical corner calls the post “an ad for Dagger,” rolling eyes at the uv hype train. On the flip side, scarred veterans of git submodules are proudly Team Monorepo, swapping horror stories about having to run a magical command and pray no leftover files explode the build. The facts: the blog says uv workspaces tame dependencies and Dagger scripts make pipelines fast and modular. The vibe: prove the test speedups, or it’s all marketing glitter.

Key Points

  • Monorepos help coordinate local dependencies, ensuring projects update together and remain compatible.
  • Dagster’s large Python monorepo faced slow CI/CD and complex legacy packaging that required careful multi-file changes.
  • The author started migrating to uv; earlier limitations around conflicting dev dependencies have since been addressed.
  • Modern tools now ease Python monorepo setup and maintenance, with uv and Dagger enabling efficient, modular pipelines.
  • uv workspaces streamline dependency management, and Dagger enables containerized pipelines with end-to-end caching, running locally and in CI.

Hottest takes

“It’s spent on running the tests.” — sluongng
“you benefit from working in a statically typed language” — Arainach
“Reads more like an advertisement for dagger” — freshbob
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.