Uploaded August 2026 | Updated September 2026, 2 weeks ago
[EuroPython 2026 - S2 on 2026-07-16]
๐ค *EuroPython 2026 CPython Panel*
๐ https://ep2026.europython.eu/session/cpython-panel
๐ Abstract:
CPython is changing quickly, with major work happening across performance, the JIT, subinterpreters, free-threading, typing, documentation, tooling, and the contributor workflow.
This panel brings together core developers with both long-term experience and newer perspectives to discuss where CPython is heading, why these changes matter, and how new ideas become part of the project.
The conversation will also focus on how people can contribute, whether by testing new features, reporting bugs, fixing issues, improving documentation, reviewing changes, or proposing their own ideas.
The goal is to help attendees understand how CPython works today, where it is going next, and where they can get involved.
* Hosts: Diego Russo
* Panelists:
* Alex Waygood
* Eric Snow
* Ken Jin
* Peter Bierma
* Yuri Selivanov
* Mark Shannon
---
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: creativecommons.org/licenses/by-nc-sa/4.0
[EuroPython 2026 - S2 on 2026-07-16]
๐ค *EuroPython 2026 CPython Panel*
๐ https://ep2026.europython.eu/session/cpython-panel
๐ Abstract:
CPython is changing quickly, with major work happening across performance, the JIT, subinterpreters, free-threading, typing, documentation, tooling, and the contributor workflow.
This panel brings together core developers with both long-term experience and newer perspectives to discuss where CPython is heading, why these changes matter, and how new ideas become part of the project.
The conversation will also focus on how people can contribute, whether by testing new features, reporting bugs, fixing issues, improving documentation, reviewing changes, or proposing their own ideas.
The goal is to help attendees understand how CPython works today, where it is going next, and where they can get involved.
* Hosts: Diego Russo
* Panelists:
* Alex Waygood
* Eric Snow
* Ken Jin
* Peter Bierma
* Yuri Selivanov
* Mark Shannon
---
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: creativecommons.org/licenses/by-nc-sa/4.0
![What is this footgun called unittest.mock, and how to avoid misusing it - Claudiu Belu
[EuroPython 2026 - S3B on 2026-07-16]
๐ค *What is this footgun called unittest.mock, and how to avoid misusing it by Claudiu Belu*
๐ https://ep2026.europython.eu/session/what-is-this-footgun-called-unittest-mock-and-how-to-avoid-misusing-it
๐ Abstract:
Has this ever happened to you? Youre happily coding a new feature in your Python project, and at some point, you make a hasty call:
self._thing.do_someting(rnicro_meters=10)
Youve written unit tests for it, including an assertion line:
mock_do_someting.assret_called_once_with(rnicro_meters=10)
The tests pass, the CI is green, the PR is reviewed and merged. But some time later, the service crashes because the real method does not have the `rnicro_meters` keyword argument in the first place. What happened? And more importantly, did you notice any of the mistakes above? This is a problem weve faced more than a few times over the past few years, and thats a few too many.
Unit tests are crucial in any sort of Python development, from small libraries to large distributed systems. `unittest.mock` is used to isolate dependencies and mock external calls in order to keep the tests simple and focused. But mistakes can slip by (e.g.: attribute typos, wrong keyword arguments, wrong patch locations), just like the three mistakes above, leading to false positive tests and a false sense of confidence in our code quality. This can happen because `Mock` and `MagicMock` silently auto-creates attributes on the fly, even when those attributes do not exist on the real object. These issues become even more pronounced as dependencies change and projects evolve.
In this session, weโll look at why these false positives happen, and how to avoid them. Topics include:
- Understand how `Mock` and `MagicMock` allow invalid attributes and calls.
- Common pitfalls and anti-patterns with `Mock`, `MagicMock`, and `patch`.
- Using `spec`, `spec_set`, and `autospec` to force mocks to match real objects.
- Ensuring patched functions and methods have their signatures validated.
- How to avoid patching the wrong import path.
- Introducing guardrails in existing projects (e.g. OpenStackโs approach) without rewriting the entire test suite.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ What is this footgun called unittest.mock, and how to avoid misusing it - Claudiu Belu](https://i.ytimg.com/vi/Xcg38WPtqgo/mqdefault.jpg)
![Learning from the not-so-secret Python security cabal - Seth Michael Larson
[EuroPython 2026 - S1 on 2026-07-16]
๐ค *Learning from the not-so-secret Python security cabal by Seth Michael Larson*
๐ https://ep2026.europython.eu/session/learning-from-the-not-so-secret-python-security-cabal
๐ Abstract:
The CPython runtime is some of the most-used software in the world. Part of maintaining a secure software project like CPython is participating in coordinated vulnerability disclosure (CVD). This process allows security researchers and maintainers of projects to work together to fix vulnerabilities and alert the public, keeping all Python programmers and users safe.
In this talk attendees will learn about how the Python language organizes its security team, how to balance security and open source contribution in coordinated vulnerability disclosure, and the latest in how open source projects can maintain a sustainable vulnerability disclosure program. Attendees that arenโt currently contributing to open source projects, but have an interest in their dependencies being secure, will learn ways they can contribute meaningfully to the security of open source projects they depend on.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Learning from the not-so-secret Python security cabal - Seth Michael Larson](https://i.ytimg.com/vi/Xmr89QEr720/mqdefault.jpg)
![Plugins in python - how it is done - Grzegorz Bokota
[EuroPython 2026 - S2 on 2026-07-17]
๐ค *Plugins in python - how it is done by Grzegorz Bokota*
๐ https://ep2026.europython.eu/session/plugins-in-python-how-it-is-done
๐ Abstract:
Have you ever wondered how popular tools like pytest or tox are able to discover and use plugins? In this talk we will learn about entry-points in Python package metadata and how they enable plugin discovery. We will review how some popular projects are using this mechanism to create their plugin systems. After a walkthrough of the basics, we will explore how you can use this to create a plugin mechanism for your own project. We will explore possible hook implementations and their advantages and disadvantages. Finally we will learn how to make plugins discoverable on PyPi.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Plugins in python - how it is done - Grzegorz Bokota](https://i.ytimg.com/vi/Xs2IQ37mWJE/mqdefault.jpg)
![Explaining the 5 types of database and how to choose between them โ Tibs
[EuroPython 2025 โ Terrace 2B on 2025-07-18]
๐ค *Explaining the 5 types of database and how to choose between them by Tibs*
๐ https://ep2025.europython.eu/session/explaining-the-5-types-of-database-and-how-to-choose-between-them
๐ Abstract:
What database should you choose? Worse, what _kind_ of database should you choose?
My aim is to give you enough information to make that choice, or at least be aware of what the alternatives are.
Id argue that there are five important database types at the moment, differing in how they regard the shape of their data. Ill give a brief introduction to each, explaining how it works, and discuss why you might want to use that particular type of database, depending on your data and what you want to do with it. Ill show case at least one open source example of each.
Ill cover:
* Relational (PostgreSQLยฎ, SQLite)
* Columnar (ClickHouseยฎ)
* Document (OpenSearchยฎ)
* Key Value (Valkeyโข๏ธ)
* and as an extra, Graph (Neo4Jยฎ)
The slides are available at https://github.com/Aiven-Labs/the-5-types-of-database
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Explaining the 5 types of database and how to choose between them โ Tibs](https://i.ytimg.com/vi/YZmyumwFWOg/mqdefault.jpg)

![Become a Python Core Developer in 3 Easy Steps - Tomas Roun
[EuroPython 2026 - S1 on 2026-07-17]
๐ค *Become a Python Core Developer in 3 Easy Steps by Tomas Roun*
๐ https://ep2026.europython.eu/session/become-a-python-core-developer-in-3-easy-steps
๐ Abstract:
Step 1: Fix a bug
Step 2: ???
Step 3: Core developer
Ok, its not that simple but its also not as mysterious as it might seem!
About three years ago I fixed an obscure bug in the unittest module. Today, Im a core developer. This talk is about what happened in between, and how you can start contributing too!
Over the years, I got to work on many different areas of Python. Ive fixed bugs in the parser, added import autocomplete to the REPL, worked on gettext tooling, and eventually found my way to the JIT compiler, all things I knew little about before diving in.
Getting started contributing to CPython can be intimidating, so Ill share some practical things I learned along the way. At the same time, I will spend some time talking about the whole process of how does one go from being just a Python user to becoming a Core developer (with stats included).
If youve ever wanted to contribute to Python but werent sure where to start, this talk is for you!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Become a Python Core Developer in 3 Easy Steps - Tomas Roun](https://i.ytimg.com/vi/ZMxuMIFmDuc/mqdefault.jpg)
![EuroPython 2026 - Python Quiz ๐
[EuroPython 2026 - S1 on 2026-07-15]
๐ค *Python Quiz ๐*
๐ https://ep2026.europython.eu/session/python-quiz
๐ Abstract:
Join us for a fast, fun, and brain-twisting quiz all about Python, the tools, and the community.
Test your knowledge, race against the clock, and compete with fellow EuroPython attendees for a shot at some awesome prizes.
Whether youโre a seasoned developer or just love a good challenge, this showdown is your time to shine.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ EuroPython 2026 - Python Quiz ๐](https://i.ytimg.com/vi/ZgM8uCj8fBU/mqdefault.jpg)


![Should you trust Trusted Publishing? - Nikita Karamov
[EuroPython 2026 - S3B on 2026-07-15]
๐ค *Should you trust Trusted Publishing? by Nikita Karamov*
๐ https://ep2026.europython.eu/session/should-you-trust-trusted-publishing
๐ Abstract:
In 2023, PyPI started supporting Trusted Publishers: A way to publish Python packages to PyPI without relying on insecure password and short-lived tokens. Three years later, this approach has become the default answer to package registries security, as it found its way into NPM, crates.io, and RubyGems. But does it actually offer the benefits we hoped it would? Can you really trust the green checkmark, and if you cant, whats the point?
In this talk, I want to look closely at what Trusted Publishers are, and what we _might_ think they are; who they do and do not protect. Well explore the potential centralization problem of relying on Big Tech, US-based CI providers, leaving little room for smaller players like Codeberg and Sourcehut, as well as self-hosted Git forges and CI engines.
But even when using GitHub, Trusted Publisher may be tricky to get right, exposing different backdoors for the attacker to exploit. I want to discuss the illusion of security Trusted Publishers may give the inexperienced PyPI user; that is, if they actually decide to look at the hidden details of the published artifacts. How can we safeguard our Python projects, and should it be us who safeguards it? I will propose some solutions to this issue, including how the package managers and the PyPI registry itself can help us in this task.
Lastly, well reminisce about the past in search of answer. Maybe OpenPGP โWeb of Trustโ wasnt such a bad idea after all? Can we regain our independence in deciding who we do and dont trust?
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Should you trust Trusted Publishing? - Nikita Karamov](https://i.ytimg.com/vi/_GyFAYbjAOE/mqdefault.jpg)
![Hold on! You have a data team in PyCon Taiwan! โ Wei Lee
[EuroPython 2025 โ Terrace 2B on 2025-07-18]
๐ค *Hold on! You have a data team in PyCon Taiwan! by Wei Lee*
๐ https://ep2025.europython.eu/session/hold-on-you-have-a-data-team-in-pycon-taiwan
๐ Abstract:
When organizing a conference, we often encounter questions such as how to set an appropriate ticket price, how many t-shirts to produce, and how many lunch boxes to estimate. Frequently, our estimates rely on wild guesses, which can lead to inaccuracies. To tackle this issue, we aimed to establish PyCon Taiwan as a data-driven community and formed a data team back in 2021. As the Python community continues to grow with an increasing number of data professionals, this presents a great opportunity for us to attract more volunteers to join PyCon Taiwan.
In our community, we offer an excellent experimental playground for data enthusiasts to test their ideas and explore new technologies. In this talk, I will share how PyCon Taiwan built our internal ETL system using Apache Airflow and discuss our plans to migrate to the soon-to-be-released Airflow 3.0. Additionally, I will explain how we collect data and how it helps us make decisions based on evidence rather than gut feelings.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Hold on! You have a data team in PyCon Taiwan! โ Wei Lee](https://i.ytimg.com/vi/__3ir15XIdE/mqdefault.jpg)