PyCon Israel 2023

🇮🇱 Build Systems, Package Managers, pyproject.toml and you - how to work with Python in 2023
07-04, 17:00–17:20 (Africa/Cairo), 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.

The 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 file with many additional files into a single pyproject.toml with Poetry.

Session language


Target audience


Jonathan is an experienced software and algorithm engineer who embraced Python 7 years ago for scientific computing in the Physics degree. Ever since, he has continued to love it and make a living with it in different projects and companies. Jonathan has worked with Python on computer vision, deep learning, quantum computing, and backend engineering projects.