2023-07-04, 16:00–16:20, Main hall
Dependency management, virtual environments, publishing packages - all of these activities are a part of daily life when working with Python, but are too often high friction and fragile. Recent advancements make the situation much better.
pyproject.toml file is the new standard for declaring Python projects, and it tells a story. Evidence for its significance is the
tomllib built-in module introduced in Python 3.11. Many Python tools and linters adopted it as their primary configuration source. You should also use it - whether you publish a library, build an application or even write scripts/notebooks.
This talk will take us through the story of modern Python build systems and package managers. We'll learn where they come into play in the development life-cycle, their benefits, and their limitations.
Specifically, we will mention: Hatch, Poetry, PDM, Flit, and Rye.
We will cover dependency resolution and locking with
.lock files and how to utilize them for reproducible environments and CI environment caches, facilitating development across large teams.
We will migrate together a Python project from the legacy
setup.py file with many additional files into a single
pyproject.toml with Poetry.