Featured image of post Recap EuroPython 2026

Recap EuroPython 2026

Qstars IT travels to Kraków 🇵🇱 for the 25th anniversary of EuroPython.

July is already starting to feel like a (not-so) distant past. With summer coming to an end in Europe, we reminisce over our time in the historic city of Kraków and EuroPython 2026.

Making room for 1200

EuroPython is Europe’s premier Python conference, gathering nerds and tinkerers alike from across the continent and beyond. A lot goes into hosting an event with over 1200(!) attendees, and this year - just as in previous years - the experience was excellent.

Six talks run across multiple tracks within the International Congress Center, each session lasting about 35 minutes or so. From core CPython internals to the sort of niche hacks that only make sense once you’ve seen them with your own eyes, there is too much to choose from! Factor in more breakout sessions, the PyLadies and PyCon organizers lunches and the hallfway booths with various companies, frameworks and collectives. You’re inundated with ideas, skills and perspectives. I think it’s safe to say everyone goes home with the urge to tinker on a project.

Hats off to the city of Kraków, which, together with the EPS, made public transport free for all attendees. When you picked up your badge you received a special sticker that ticket inspectors recognised, giving you free access to the trams and buses across the city, including the ride to the airport.

 Wawel castle at night, Kraków

Safe, open and for everyone

You’ll notice community keeps coming up in these recaps. That’s on purpose. We covered it in our 2025 and 2024 recaps, so we won’t make the whole case again here.

There was plenty of variation in the food and drinks on offer. Quiet rooms and prayer rooms were spread throughout the venue. The conference also took part in the Sunflower Initiative, further underlining the EuroPython Society’s deep commitment to accessibility and inclusivity.

Wearing a sunflower lanyard signals that someone has a non-visible disability. It means you don’t have to explain yourself, and it makes it easier for everyone around you to account for the fact that you may need a little more time or space.

A lot of it comes down to how seriously the Code of Conduct is taken, with the starting point that everyone should feel safe and welcome. The organisation is transparent about it too: the Code of Conduct working group publishes a public report on its work and the incidents it handled. That attention to inclusivity and safety contributes to an open and pleasant atmosphere, and it makes it easy to strike up a conversation.

Then there is the Thursday Social Event, hosted every year on the (surprise) Thursday evening. Tickets cost €25 and tend to sell out quick. This year Forum Fun & Food had plenty on offer: an arcade hall, a bowling alley, board games, and Latin dancing for anyone who dared to go all out. For those who preferred it, the World Cup match was showcased on a big screen.

 Black Python Devs booth at EuroPython

Carried by volunteers

The organisation and execution of EuroPython run entirely on volunteers. Both the year-round organising teams and the shifts during the conference days are made possible by the hard work of a small group.

Volunteering is well worth considering if you’re attending. It’s a fun way to meet new people, and it costs relatively little time. Especially if you schedule your shifts around talks you were going to attend anyway. Chairing a room in particular is a great low-effort way to get talking to speakers.

Interested in Volunteering at EuroPython?

Read our colleague Benny’s writeup about the volunteer experience at EuroPython

PyCon NL

Since 2019 the Netherlands has been home to the annual python conference. What started as a small user group has flourished into a full fledged conference. For most of it’s lifetime the planning, funding and hosting of the event was carried out by a single commercial organization. Starting 2026 the conference is run entirely by community members and volunteers via the non-profit PyNetherlands foundation.

Thanks to this change in leadership the Python Conference can now officially call itself a PyCon! Here at Qstars we’re a proud sponsor of PyCon NL and we want to thank the entire organising team, who work tirelessly to turn this into reality.

Three members of the PyCon NL team in matching Python t-shirts, standing beside the PyCon NL banner at their booth
The PyCon NL team at their booth in Kraków

The PyCon NL board were at EuroPython to spread the word, complete with their own booth and a slot on the main stage to promote the event. Armed with boundless enthusiasm, a few packs of stroopwafels, and hundreds of stickers, the team welcomed attendees to visit Utrecht this October. They connected with a range of organisations, including the EuroPython Society and the Python Software Foundation — a wonderful way to put PyCon NL on the international map and strengthen ties with the wider Python community.

Talks

Below is a small selection of the talks we attended. All talks are recorded by the EuroPython Society and can be rewatched on YouTube.

Friendly Borders: Graph algorithms reveal Eurovision voting patterns — Domagoj Marić

An interesting and above all practical talk about using graph algorithms in Python for data analysis. Domagoj introduced the room to graph theory with an interactive demo. He did this by using Eurovision voting data to show how you can surface relationships and patterns within datasets.

Eurovision votes make a fun dataset to plot relationships against: by modelling countries as nodes and their voting behaviour as edges, graph analysis and community detection let you discover which countries are strongly connected and where voting blocs or mutual preferences show up.

What made this talk special was that graph theory wasn’t treated as a purely theoretical subject. It was approachable and tied to a recognisable example, showing how far you can get with Python and fairly beginner analysis techniques.

From Code Hero to Team Leader: Learning to Let Go — Manivannan Selvaraj

A talk about a trap most experienced developers run into sooner or later: becoming the ‘Code Hero’. You’re the one who knows everything, solves problems quickly, and gets pulled in whenever something breaks.

You might recognise it from lines like:

  • “It only takes 5 minutes.”
  • “You’re the only one who knows this.”
  • “Can you join for just a minute?”
  • “Sorry to bother you.”

On the surface that sounds desirable, maybe even heroic. For a healthy team it isn’t. The goal should be that everyone can operate independently, rather than all knowledge and decisions converging on one person.

Related trap: solving everything by “just picking it up quickly”. That teaches the people around you that you’re the fastest route to a solution, so next time they come to you again. Chasing being the best coder gives you a unique position, but your calendar fills up fast, you get interrupted during holidays and weekends, and burnout follows.

Becoming the decision machine looks like:

  • Every meeting waits for you to start.
  • Every design needs your approval.

The remedy: give direction, not decisions. Set rules everyone can follow — consistently wrong beats a dozen conflicting opinions. Documentation is key, and keep it up to date. Share the why: take colleagues through the reasoning behind a choice, and write it down where it matters.

Invest in growing your colleagues, not in finished PRs:

  • Ask questions.
  • The goal isn’t to create engineers who code like you.
  • The goal is to create engineers who don’t need you.

Heroes fix today. Leaders build tomorrow.

Direction over decisions. Context over code. People over PRs. Trust over heroics.

Rethinking AsyncIO from scratch for free-threaded Python — Giovanni Barillari

Free-threaded Python is a good opportunity to adjust how we think about concurrency in the language. AsyncIO was originally designed around the GIL and runs asynchronous code in a single thread. This talk posed the question: how would we design async again for a Python without a GIL?

Giovanni’s answer is TonIO, a new asynchronous runtime designed to work across multiple threads. It’s written in Rust and built on top of the mio library to facilitate the event-driven I/O. Unlike asyncio, the runtime isn’t bound to a single event loop in a single thread; the number of runtime threads is configurable and defaults to the CPU core count.

TonIO uses a scheduler to distribute coroutines across threads. Tasks are started with spawn() and then wait on I/O, timers or other primitives. For work that genuinely blocks a thread there is spawn_blocking(), which moves it to a separate thread pool.

The project is still in alpha and currently only supports free-threaded Python on Unix, but it gives an interesting picture of what a free-threaded async implementation could look like.

Python and HTTP/3: feel the difference in performance — Daniel Vahla

A practical demonstration of HTTP/3 and WebTransport and how they compare to HTTP/2 and WebSockets. Using a live multiplayer Snake game, the talk showed what happens when a network connection becomes unstable and how each protocol copes.

It covered how head-of-line blocking in HTTP/1.1 and HTTP/2 causes delay, and how HTTP/3, QUIC and WebTransport reduce it. Current Python support was touched on too, with aioquic, Hypercorn and Starlette.

Interesting and forward-looking. The technology still feels early for broad adoption, partly because support in the Python ecosystem isn’t uniformly mature. Still, it’s worth having HTTP/3 and WebTransport on your radar, certainly for applications where real-time communication and poor or fluctuating connections play a role.

Beyond the conference venue

A conference week is more than the schedule. Kraków’s local Python user group PyKonik hosted the BeerKonik 🍻 meetup during the week, which was as sociable as it sounds. Various other activities were organised throughout the week. Bouldering evenings, dinners, guided tours of the old town: the informal side of EuroPython is arguably it’s best part!

Closing words

For Python developers, EuroPython is a must. There is plenty on offer both content-wise and socially, and there is something for everyone. The days are long; leaving the hotel at 08:00 and getting back around 19:00, including lots of walking around the city. The sociability, insights and chats with fellow Pythonistas really make it all more than worth it. We already can’t wait for the next edition of EuroPython!

All talks are being released on the EuroPython YouTube channel. And if you couldn’t make it to Kraków: PyCon NL takes place in October at the Jaarbeurs in Utrecht, we hope to see you there! :-)

 Wawel castle above the Vistula, seen from the opposite bank

Built with Hugo
Theme Stack designed by Jimmy