Python packaging sits at the core of how we install and distribute Python software, yet the underlying model is usually left implicit. This talk explains how the pieces fit together: build frontends and backends, the role of pyproject.toml, and key PEPs.
Many Python developers interact with packaging only as users of libraries. Without ever publishing a package themselves, important concepts can remain misunderstood. This confusion is potentially amplified because developers often recognize names like build frontends, build backends, wheels, and sdists, or see pyproject.toml sections such as [build-system], [project], and [tool], without really knowing how these pieces fit together in practice.
The goal of this talk is to provide an overview for people who regularly encounter the terminology of the Python packaging ecosystem but struggle to place it in context. You should arrive with a somewhat messy mental model and leave with a clear sense of what belongs where and why.
Where practical examples are useful, uv will be used, but the talk is intentionally tool-agnostic and focuses on explaining the underlying concepts rather than promoting a specific workflow.