Uploaded August 2026 | Updated September 2026, 2 weeks ago
[EuroPython 2026 - S3A on 2026-07-15]
๐ค *How to Maintain 60 Integrations and Not Go Bananas by Ivana Kellyer*
๐ https://ep2026.europython.eu/session/how-to-maintain-60-integrations-and-not-go-bananas
๐ Abstract:
Say you've built a library whose main value is providing built-in integrations with a considerable number (say 60+) of different Python packages. That's cool, and your users are loving the out-of-the-box experience. (Being blissfully unaware of the lengths you had to go to in the background to make things work "seamlessly" helps.) Everything seems to be working fine, you get the odd bug report or feature request, the usual.
Then one day you wake up and your otherwise fairly chill issue tracker is drowning in folks experiencing an issue with your library that breaks their app. Your first thought is, why is this coming up now, when your last release was two weeks ago? And then you realize: It's not your release that broke the library.
All the third party code you're integrating with? It's become *your* code by extension. You need to react if something changes upstream and breaks your integration in unexpected ways. You can write your integrations so defensively that no one will ever want to read them again, but it's not enough: you can't anticipate every single change each of the 60+ packages will ever make.
Let's assume having your users act as a release monitoring system by notifying you on your issue tracker is not what you want. How do you go about this? You'll want somehow to detect breakage early, so you can go fix things before your users are hit by them. And ideally you'd do it in a way that maintaining it is not a nightmare.
This talk will take you through one such journey, from recognizing the problem, to various attempts at making it better, to eventually arriving at a solution that's good enough for now (tm).
You might like this talk if you:
- Have to deal with integrations in some shape or form
- Are relying on third-party packages heavily
- Don't like maintaining things by hand
- Like to have that "this can be automated with a script" itch scratched
- Are intrigued that there's a talk that has the word "bananas" in the title
---
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]
๐ค *How to Maintain 60 Integrations and Not Go Bananas by Ivana Kellyer*
๐ https://ep2026.europython.eu/session/how-to-maintain-60-integrations-and-not-go-bananas
๐ Abstract:
Say you've built a library whose main value is providing built-in integrations with a considerable number (say 60+) of different Python packages. That's cool, and your users are loving the out-of-the-box experience. (Being blissfully unaware of the lengths you had to go to in the background to make things work "seamlessly" helps.) Everything seems to be working fine, you get the odd bug report or feature request, the usual.
Then one day you wake up and your otherwise fairly chill issue tracker is drowning in folks experiencing an issue with your library that breaks their app. Your first thought is, why is this coming up now, when your last release was two weeks ago? And then you realize: It's not your release that broke the library.
All the third party code you're integrating with? It's become *your* code by extension. You need to react if something changes upstream and breaks your integration in unexpected ways. You can write your integrations so defensively that no one will ever want to read them again, but it's not enough: you can't anticipate every single change each of the 60+ packages will ever make.
Let's assume having your users act as a release monitoring system by notifying you on your issue tracker is not what you want. How do you go about this? You'll want somehow to detect breakage early, so you can go fix things before your users are hit by them. And ideally you'd do it in a way that maintaining it is not a nightmare.
This talk will take you through one such journey, from recognizing the problem, to various attempts at making it better, to eventually arriving at a solution that's good enough for now (tm).
You might like this talk if you:
- Have to deal with integrations in some shape or form
- Are relying on third-party packages heavily
- Don't like maintaining things by hand
- Like to have that "this can be automated with a script" itch scratched
- Are intrigued that there's a talk that has the word "bananas" in the title
---
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: creativecommons.org/licenses/by-nc-sa/4.0

![Design Pressure: The Invisible Hand That Shapes Your Code - Hynek Schlawack
[EuroPython 2026 - S4 on 2026-07-17]
๐ค *Design Pressure: The Invisible Hand That Shapes Your Code by Hynek Schlawack*
๐ https://ep2026.europython.eu/session/design-pressure-the-invisible-hand-that-shapes-your-code
๐ Abstract:
Ever had this weird gut feeling that something is off in your code, but couldnt put the finger on _why_? Are you starting your projects with the best intentions, following all best practices, _and_ still feel like your architecture turns weird eventually? Are you telling your AI bot to write clean code but entropy keeps getting the best of you?
**Maybe, its not your fault**! Maybe, the tools or methodology youre using are applying **design pressure** that youre not cognizant of, but that influences the shape of your code.
The best way to prevent that is becoming aware of the forces at play. So, lets look at what design pressure is, look at the most prominent examples of good and bad, and explore how to leverage the former and quell the latter. Because you can only deal with something you know exists.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Design Pressure: The Invisible Hand That Shapes Your Code - Hynek Schlawack](https://i.ytimg.com/vi/aM2dfmh33lI/mqdefault.jpg)
![GPU Programming in Pure Python - Bryce Adelstein Lelbach
[EuroPython 2026 - S3A on 2026-07-16]
๐ค *GPU Programming in Pure Python by Bryce Adelstein Lelbach*
๐ https://ep2026.europython.eu/session/gpu-programming-in-pure-python
๐ Abstract:
GPU programming can be scary, but doesnt need to be! Did you know you can access the full performance of CUDA purely in Python? With the full CUDA Python stack, you have a friendly interface to get you started with GPU acceleration.
In this example-driven talk, well begin with a general discussion of the CUDA model and how to manage accelerator devices in Python with cuda.core. Next, well teach you how to create arrays and launch work with CuPy. Then, youll learn how to customize parallel algorithms with cuda.compute and write your own kernels that leverage cooperative algorithms with cuda.coop, and integrate seamlessly with accelerated libraries such as cuBLAS and cuDNN.
Well look at a variety of parallel examples, from counting words, to implementing softmax and row-wise reductions.
By the time the talk is over, youll be ready to start accelerating your Python code with GPUs!
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ GPU Programming in Pure Python - Bryce Adelstein Lelbach](https://i.ytimg.com/vi/aY8owo5hWgA/mqdefault.jpg)




![Hunting the Invisible: Indirect Prompt Injection in Python Pipelines - John Robert
[EuroPython 2026 - S4 on 2026-07-16]
๐ค *Hunting the Invisible: Indirect Prompt Injection in Python Pipelines by John Robert*
๐ https://ep2026.europython.eu/session/hunting-the-invisible-indirect-prompt-injection-in-python-pipelines
๐ Abstract:
AI agents are no longer just generating text, they are reading PDFs, scraping websites, calling APIs, and taking autonomous actions inside our Python applications. But what happens when the documents they read are malicious?
In this talk, weโll explore indirect prompt injection, a subtle but major attack where hidden instructions embedded in PDFs, HTML pages, or external data sources hijack an AI systemโs behavior. Unlike classic prompt injection, this attack doesnโt come from the user, it comes from the data your Python pipeline trusts.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License: https://creativecommons.org/licenses/by-nc-sa/4.0/ Hunting the Invisible: Indirect Prompt Injection in Python Pipelines - John Robert](https://i.ytimg.com/vi/ayF1OJEU8mA/mqdefault.jpg)


![The coolest feature in Python 3.14: sys.remote_exec() - Savannah Ostrowski
[EuroPython 2026 - S1 on 2026-07-17]
๐ค *The coolest feature in Python 3.14: sys.remote_exec() by Savannah Ostrowski*
๐ https://ep2026.europython.eu/session/the-coolest-feature-in-python-3-14-sys-remote-exec
๐ Abstract:
Have you ever needed to debug a live Python process but couldnt restart it? Didnt want to redeploy with debug flags or manage sidecar containers just to debug your application?
In this talk, Ill show you why `sys.remote_exec()` is one of the coolest features of Python 3.14! Ill cover the basics of Pythons new remote debugging capabilities and demonstrate how `sys.remote_exec()` can be combined with debugpy (an implementation of the Debug Adapter Protocol) to provide full IDE debugging experiences for live processes. Ill share what I learned building a tool that uses these primitives to attach debuggers to FastAPI applications running in local Kubernetes clusters.
Beyond debugging, well explore other use cases for `sys.remote_exec()` and how you can apply the feature to solve problems in your own 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/ The coolest feature in Python 3.14: sys.remote_exec() - Savannah Ostrowski](https://i.ytimg.com/vi/bVYh2LDPG3M/mqdefault.jpg)