Uploaded August 2026 | Updated September 2026, 2 weeks ago
[EuroPython 2026 - S3A on 2026-07-15]
🎤 *From Code Hero to Team Leader: Learning to Let Go by Manivannan Selvaraj*
🔗 https://ep2026.europython.eu/session/from-code-hero-to-team-leader-learning-to-let-go
📝 Abstract:
As engineers grow in their careers, many of us try to support our teams by writing more code, reviewing every pull request, and stepping in to fix the hardest problems. It feels helpful and responsible. Over time though, this approach can unintentionally create too much dependency on one person.
This talk explores the shift from being the person who solves everything to becoming someone who helps the whole team succeed.
Drawing from lessons learned through experience(often the hard way :)) and from colleagues and mentors along the way, I will share practical shifts that make a difference: creating clearer technical direction, improving design conversations, sharing context early, mentoring thoughtfully and building systems that reduce reliance on any single “hero.”
If you are a mid or senior engineer who is always busy but still feels that too much depends on you, this talk aims to offer useful ideas for your own journey.
---
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 - S3A on 2026-07-15]
🎤 *From Code Hero to Team Leader: Learning to Let Go by Manivannan Selvaraj*
🔗 https://ep2026.europython.eu/session/from-code-hero-to-team-leader-learning-to-let-go
📝 Abstract:
As engineers grow in their careers, many of us try to support our teams by writing more code, reviewing every pull request, and stepping in to fix the hardest problems. It feels helpful and responsible. Over time though, this approach can unintentionally create too much dependency on one person.
This talk explores the shift from being the person who solves everything to becoming someone who helps the whole team succeed.
Drawing from lessons learned through experience(often the hard way :)) and from colleagues and mentors along the way, I will share practical shifts that make a difference: creating clearer technical direction, improving design conversations, sharing context early, mentoring thoughtfully and building systems that reduce reliance on any single “hero.”
If you are a mid or senior engineer who is always busy but still feels that too much depends on you, this talk aims to offer useful ideas for your own journey.
---
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: creativecommons.org/licenses/by-nc-sa/4.0
![Hacking Truth: Python and the Limits of Mathematics - Miguel Ángel Fernández Gutiérrez
[EuroPython 2026 - S2 on 2026-07-15]
🎤 *Hacking Truth: Python and the Limits of Mathematics by Miguel Ángel Fernández Gutiérrez*
🔗 https://ep2026.europython.eu/session/hacking-truth-python-and-the-limits-of-mathematics
🛠️ Resources: https://go.mianfg.me/ep26
📝 Abstract:
Are mathematics a reliable way to explain reality? Can we trust them? And more importantly: what role could Python play in such profound questions?
Gödel’s Incompleteness Theorems are pillars of mathematics and computer science, revealing inherent limits in our ability to formalize truth and reason about the world. Their implications reach far beyond logic, touching philosophy, the foundations of computing, and the limits of machine reasoning. Despite their importance, understanding _why_ these results hold can feel inaccessible and abstract.
In this talk, we tackle that difficulty directly. Python will be used not only as a programming language, but as a conceptual tool to understand Gödel’s First Incompleteness Theorem through algorithmic thinking.
We will see how computational ideas make abstract concepts tangible, exploring the intellectual journey from Hilbert’s dream of a complete mathematics to the breakthroughs of Gödel, Church, and Turing. Through this lens, Python helps illuminate the boundaries of logic and computation, offering a new perspective on how mathematics works... and where its limits lie.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Hacking Truth: Python and the Limits of Mathematics - Miguel Ángel Fernández Gutiérrez](https://i.ytimg.com/vi/oWsqoKkP_sw/mqdefault.jpg)


![Keynote: How Complex Systems Taught Me To Fail - Imogen Wright
[EuroPython 2026 - Keynote - S1 on 2026-07-15]
🎤 *How Complex Systems Taught Me To Fail by Imogen Wright*
🔗 https://ep2026.europython.eu/session/how-complex-systems-taught-me-to-fail
📝 Abstract:
This talk traces a meandering story of twenty years of invention, triumph and disaster, touching on theoretical physics, cloud computing, viral genetics, pandemic responses, and nearly dying in an NHS A&E queue. Youll pick up four generally applicable laws of complex systems, gain some superpowers for averting an apocalypse, and hopefully laugh a bit along the way. This isnt much of a technical talk and it is neither sanitised nor triumphant — expect sarcasm, most of all during the rough patches. My hope is that youll leave seeing your own work differently, especially if its quiet and unglamorous. Resilience is a property of systems, not their components, and its the people who notice small changes and tend locally who make the biggest differences of all.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Keynote: How Complex Systems Taught Me To Fail - Imogen Wright](https://i.ytimg.com/vi/p6m4TuDK2Bw/mqdefault.jpg)
![Supercharging Litestar: Extensibility Through Plugins - Jacob Coffee
[EuroPython 2026 - S1 on 2026-07-16]
🎤 *Supercharging Litestar: Extensibility Through Plugins by Jacob Coffee*
🔗 https://ep2026.europython.eu/session/supercharging-litestar-extensibility-through-plugins
📝 Abstract:
Discover how to extend Litestars core functionality using its powerful plugin system.
This talk demonstrates practical ways to enhance Litestar applications through custom plugins, highlighting the frameworks extensibility and ease of use. Litestar solves the challenge of building flexible Python web applications without adding excessive complexity.
In this talk, you’ll see how its plugin system offers a convenient way to package and distribute code for routes, middleware, security, dependencies, and more—all in a single contained unit. Similar to Flask blueprints or pytest plugins, Litestar plugins let you streamline development by removing boilerplate and providing a clear path for extending or sharing functionality across projects.
By the end, you’ll have concrete steps for building, integrating, and distributing plugin-driven solutions that simplify your Litestar applications at any scale.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Supercharging Litestar: Extensibility Through Plugins - Jacob Coffee](https://i.ytimg.com/vi/pD_WepVsvfU/mqdefault.jpg)
![Speeding Up Python with Free Threading and Mypyc - Jukka Lehtosalo
[EuroPython 2026 - S1 on 2026-07-17]
🎤 *Speeding Up Python with Free Threading and Mypyc by Jukka Lehtosalo*
🔗 https://ep2026.europython.eu/session/speeding-up-python-with-free-threading-and-mypyc
📝 Abstract:
It’s common to hear complaints about Python being slow. In this talk, I will show how to make _some_ Python programs dramatically faster by using Python 3.14’s free threading and ahead-of-time compilation to C extensions using the mypyc compiler, while staying entirely in Python (and CPython).
Free threading can deliver large speedups for CPU-bound code that can be adapted for parallel execution, while mypyc speeds up workloads that benefit from reduced interpreter overhead and that can use static typing. If each can give a 10x speedup in an ideal use case, can we get a “holy grail” 100x speedup by using both?
I’ll introduce several small examples inspired by real-world workloads, measuring and explaining what happens when you apply free threading, mypyc, or both. In practice, relatively few programs are perfect fits for both techniques at once, but when they are, you can get substantial gains. Having both tools available gives you options for attacking a wide range of performance problems.
Along the way, I’ll cover various bottlenecks you are likely to encounter while optimizing real-world workloads. These often limit performance scaling. Ill explain how to diagnose and improve allocation-heavy code and thread contention caused by reference counting, in particular.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Speeding Up Python with Free Threading and Mypyc - Jukka Lehtosalo](https://i.ytimg.com/vi/pVFt8vhQMx8/mqdefault.jpg)
![Supporting Android and iOS in your Python package - Malcolm Smith
[EuroPython 2026 - S3A on 2026-07-17]
🎤 *Supporting Android and iOS in your Python package by Malcolm Smith*
🔗 https://ep2026.europython.eu/session/supporting-android-and-ios-in-your-python-package
📝 Abstract:
One of the most exciting recent developments in Python is the addition of Android and iOS as officially-supported platforms. This allows us to reach far more users on the devices where they spend the most time.
What does this mean for you as a Python package maintainer? If your package is pure-Python, then itll probably just work. But if it uses C, Cython, Rust, or any other native-compiled language, then youll have to take some steps to make it available to these new platforms.
The mobile support status of the most popular packages on PyPI can be seen at https://beeware.org/mobile-wheels. Lets help push those numbers up! Come to this talk to learn about:
- Why mobile platforms are important for the future of Python
- How to build your package for Android and iOS using cibuildwheel
- How to test your mobile builds – even if you dont have Android or iOS hardware
- How to distribute mobile packages to your users
- How to automate all of these things in your CI system
At the sprints, there will also be an opportunity to put this into practice, by getting personal assistance from the BeeWare team in building your package for mobile.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Supporting Android and iOS in your Python package - Malcolm Smith](https://i.ytimg.com/vi/pZ64kXOnID4/mqdefault.jpg)

![Building a Smart Home Device with MicroPython - Michał Karzyński
[EuroPython 2026 - S2 on 2026-07-16]
🎤 *Building a Smart Home Device with MicroPython by Michał Karzyński*
🔗 https://ep2026.europython.eu/session/building-a-smart-home-device-with-micropython
📝 Abstract:
Your smart home is a wireless network of connected devices which all talk to each other by sending messages into a central hub. If you control the hubs messaging queue, you can control and monitor the network and even create your own custom devices that end up visible in services like Apple or Google Home.
In this talk I will show you what it takes to create such a custom device using an affordable ESP32 microcontroller running MicroPython. Well briefly look at the capabilities of the ESP32 family and why it is a good choice for WiFi-enabled projects. Well talk about the tooling that makes development a pleasure, from flashing firmware to interacting with the board using WebREPL, installing lightweight dependencies with mip, testing, logging, and more.
We will also discuss the MQTT protocol, how our custom devices can send and receive messages, how to integrate third-party Zigbee devices, and how to use Home Assistant as a bridge between our MQTT server and Apple or Google Home. Well see how to use the Mosquitto broker and client tools such as paho.mqtt and how Zigbee2MQTT allows remote sensors to join the same messaging layer.
My goal is to give a practical overview of the hardware and software pieces involved: ESP32, MicroPython tooling, MQTT infrastructure, Zigbee integration, and Home Assistant bridging. If you are comfortable with Python and curious about embedded systems, 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/ Building a Smart Home Device with MicroPython - Michał Karzyński](https://i.ytimg.com/vi/qRfo0rD4cdY/mqdefault.jpg)
![Binary Dependencies: Identifying the Hidden Packages We All Depend On - Vlad-Stefan Harbuz
[EuroPython 2026 - S2 on 2026-07-16]
🎤 *Binary Dependencies: Identifying the Hidden Packages We All Depend On by Vlad-Stefan Harbuz*
🔗 https://ep2026.europython.eu/session/binary-dependencies-identifying-the-hidden-packages-we-all-depend-on
📝 Abstract:
Package manifests like *pyproject.toml* record source-level dependencies: _pandas_ depends on _numpys_ code. The story is different for binary dependencies, which exist whenever compiled code, like C code, is called from Python. _numpy_ depends on _OpenBLASs_ binaries, but this dependency relationship is not recorded anywhere. This makes _OpenBLAS_ a _phantom (https://www.endorlabs.com/learn/dependency-resolution-in-python-beware-the-phantom-dependency) binary dependency._
Phantom dependencies are therefore hidden from programmers and researchers, which is bad for at least two reasons.
First, security. If one of your binary dependencies has a vulnerability, this means your project is probably also vulnerable — but you wont reliably find out about this, since your dependency is invisible.
Secondly, sustainability. If we cant keep track of our binary dependencies, we cant keep track of their maintainers either, which means we cant credit and financially support (https://opensourcepledge.com/) them. This can lead to maintainer burnout (https://opensourcepledge.com/blog/burnout-in-open-source-a-structural-problem-we-can-fix-together/) which has already created serious supply chain issues.
Python is not only tremendously popular, but also valued for its ability to easily interface with compiled libraries. According to my research, around 20% of Python packages have binary dependencies.
This means that the problem of phantom binary dependencies is widespread, and puts the public at risk of harm, eg if critical infrastructure like hospitals or transportation is compromised by exploiting the aforementioned weaknesses.
I aim to describe how the problem of phantom binary dependencies can be fixed within the Python ecosystem, and demo some of my preliminary work.
First, binary dependencies must be identified. Tools like _auditwheel (https://github.com/pypa/auditwheel/)_ and _elfdeps (https://github.com/python-wheel-build/elfdeps/)_ are able to identify a projects required dynamic libraries (https://vlad.website/how-binary-dependencies-work/ ). If we create better APIs for these tools, and integrate them with package managers such as _pip_ and _uv,_ we can give developers and researchers visibility into binary dependencies, dispelling the phantom.
Beyond this, standards like PEP 725 (https://peps.python.org/pep-0725/) , PEP 770 (https://peps.python.org/pep-0770/) and PEP 804 (https://peps.python.org/pep-0804/) specify how we might record binary dependency relationships in an easily accessible way. Ill explain how we can build on these standards to create tools that will allow users and researchers to explore binary dependencies and identify security issues by default.
Lastly, I want to talk about the road towards the ultimate aim of having binary dependencies be managed not by Python package managers, but by system package managers, as they should be. This will require interoperation between package managers, and Ill explain how this might work.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Binary Dependencies: Identifying the Hidden Packages We All Depend On - Vlad-Stefan Harbuz](https://i.ytimg.com/vi/qooQD1tLVTg/mqdefault.jpg)
