Python monorepos: what, why and how

Scale your codebase with the right architecture and tooling

Benjy Weinberger

Architecture Best Practice Clean Code Development Engineering

See in schedule

As organizations and repos grow, we have to choose how to manage codebases in a scalable way. We have two architectural alternatives:

- *Multirepo:* split the codebase into increasing numbers of small repos, along team or project boundaries.
- *Monorepo:* Maintain one large repository containing code for many projects and libraries, with multiple teams collaborating across it.

In this talk we'll discuss the advantages of monorepos for Python codebases, and the kinds of tooling and processes we can use to make working in a Python monorepo effective.

At the end of this talk you will understand the tradeoffs of different codebase architecture choices, and how to evaluate tooling and processes that keep your repo humming along at scale.

No prior knowledge is required.

Type: Talk (30 mins); Python level: Beginner; Domain level: Beginner


Benjy Weinberger

Toolchain

Benjy Weinberger is a software engineer with over 25 years' experience in building scalable distributed systems, at companies including Google, Twitter and Foursquare. He is a core contributor to the Pants open-source build system, and the co-founder of Toolchain, a startup building a distributed build cloud.