A few weeks ago, from 14-20 July, I not only had the pleasure of being one of the 1,400 attendees of EuroPython 2025 in Prague, but I also had the honour of giving my talk about “Your Very First Contribution to Open Source”.
picture from outside of the conference center
Pleasure before business
Already the evening before the conference, the organizers invited us to the speakers’ dinner at Mánes restaurant on the Vltava riverfront in Prague.
The food was amazing, and well deserved after a brisk 40-minute walk from the hotel to the venue with my friend Hynek Schlawack, time which I used wisely to get up to speed with best practices for structuring Python projects.
I had fascinating chats with Jacob Hallén about the original design session on pytest, I caught up with Florian Bruhin, one of the pytest maintainers, met many friends such as Manivannan Selvaraj and Kushal Das and for the very first time I met Paul Everitt in person, one of the creators of the Zope application framework, which I kind of owe my first career - rumors say we still use Zope - but at this point I can neither confirm nor deny.
from left to right - me, Miguel, Mani and Reuven
Day 1
The first day started with a fascinating keynote from Savanna Bailey and her journey to become a CPython core developer. Thanks for your contributions, thanks for being a role-model for many aspiring future open source contributors, and thanks for your work on Pylance/VS Code in the early days
Hynek Schlawack is not only a prolific open source maintainer, but his talks are very insightful and popular - something I learned when I naively tried to get a cup of coffee before heading over to his room, which was fully booked by then. His talk will definitely be a must-watch once released on YouTube.
Right after my good friend Manivannan Selvaraj gave his talk about “Mentoring Both Ways: Helping Others While Leveling Up Yourself!” where Mani shared many insights from his rich experience.
Mani on stage
I did not even need to stand up to enjoy the next highlight of the conference: Gina Häußge spoke about her decade-long experience as an open source maintainer, but this time about the downsides of that: “How to deal with toxic people”.
Gina mentioned both hilarious but also very worrisome examples from her past, and how she can to cope with that - spoiler, a punching bag in her office is heavily involved.
Gina on stage
After a delicious lunch, I went to the speaker’s room for the very last minute touches on my upcoming talk.
This also means I missed the talk of Karolina Surma about “Bridging the gap: Viewing your project through a downstream packager’s lens”, a talk I will watch on YouTube as soon as possible.
Getting on stage
With five more tracks in parallel, with talks featured by Paolo Melchiorre and Yury Selivanov, I was quite happy that my talk about “Your Very First Contribution to Open Source” was still very well attended.
me on stage a couple of minutes before the room filled (true story)
After letting the serial maintainer Anthony Sottile know that he is probably not the target audience for this talk, I successfully
removed some barriers and anxiety that prevents people from contributing to open source - I know this was a success, as quite a lot of people approached me directly after the talk.
While I missed the opportunity to take part in the sprints on the weekend, we agreed to meet again the next day to have an impromptu workshop on contributing to open source documentation via the Open Documentation Academy - a fantastic way to get into open source.
The day concluded with Petr Baudis’ keynote “Building a large SaaS AI product with Python: The tale of three ecosystems”, a Python quiz with quite some tricky questions and of course, the highlight of every conference, the lightning talks.
While most of the attendees enjoyed their evening at the summer edition of Pyvo, a word play which combines Python with the Czech word for beer (“pivo”), I had a relaxed evening with some fellow new and old friends at a nearby Vietnamese restaurant.
Day 2
The second day started with Brett Cannon’s keynote “Why it took 4 years to get a lock files specification”. Brett has been a CPython core dev for decades.
The keynote was packed with interesting details, many back and forths, and a lot of humor. The only question I had after this keynote… “Why did it only take four years?” - the lock files specification is a highly complex thing, with so many different stakeholders involved.
Right after the keynote, I met with the attendees who reached out the day before directly after my talk, who wanted to create their first open source contribution.
me with some first time open source contributors - hooray!
We had a look at a couple of open issues at the Open Documentation Academy. This is an initiative, created by my dear colleague Graham Morrison, which is about the most inclusive way to get people into open source. You can quote me on that.
The future contributors were full of enthusiasm and drive, which will hopefully transcend the conference.
After the session, they left very valuable feedback, which I have brought back to our documentation team, so we can find ways to make contributions even easier.
Just before lunch, I was invited to the open source maintainers open space, along with many well-known folks in the Python ecosystem, from prolific open source maintainers like Anthony Sottile, Hynek Schlawack, Sviatoslav Sydorenko, and Florian Bruhin, to downstream packagers from Fedora.
selfie of the open source maintainer open space
Topics ranged from monetization to best practices to how to prevent LLM scrapers from taking your services down.
After a delicious lunch, I attended the CPython Core Development Panel, hosted by Łukasz Langa & Pablo Galindo Salgado. The Panelists, Hugo van Kemenade, Emily Morehouse-Valcarcel, Brett Cannon, Mark Shannon, and Savannah Bailey spoke about current developments, new trends, and things that should have been removed from Python 3, and obviously, about the Python 2 to 3 migration. They also answered many questions from the audience.
The conference day continued with another high-profile keynote from Sebastián Ramirez, where he let us have a look “Behind the scenes of FastAPI and friends for developers and builders”. He gave us detailed insight into how FastAPI was born, what kind of principles he is driven by, and in general, he shared many great tips on how to build and run an open source project used by lots of people.
Traditionally, the conference day ended with the lightning talks - the highlight of every conference. Armin Ronacher gave a very emotional lightning talk about Python, his life and his career.
Armin on stage
There is no end
Did I say “ended”? After the conference is before the social evening, which was hosted on Střelecký island, in the middle of Prague. I had another “short” walk with Hynek, but this time we have been accompanied by Brett Cannon and a few other folks. I was also witness when the new mantra “bump the version and move on” was coined by Brett.
me and Brett
The organizers prepared a full programme. Line dance, game tables, beer and cocktail stands, and many more things, but the weather tried to play games with us.
It could not spoil our fun. In the queue for the drinks, I met a couple of super fun and nice folks, with whom I spend the rest of the day playing “Neunerln”, a simple Bavarian alternative to Uno - my fellow players questioned the “simple” when, after 20 minutes, I was still explaining the special local rules my kids came up with.
Day 3
The third day started with a whirlwind overview of the current state of AI, by Nerea Luis. While nobody can predict the future, Nerea outlined some trends, e.g., that the way we look up and search information will change dramatically.
Next up was Miguel Grinberg with “Microdot, the impossibly small web framework for Python and MicroPython.” I do not know what was more impressive. The tiny resources offered by the devices, the extremely few lines of code the framework consists of, or the fact that Miguel just wanted to scratch his own itch, and so the idea and the framework were born.
After that talk, I enjoyed the hallway track and discussions with various folks about best practices for setting up CI pipelines.
me and Sviatoslav discussing best practices for setting up CI pipelines
One of the last sessions was one of the most anticipated ones. A 20-minute excerpt from “Python: the documentary” was shown, followed by a panel discussion powered by Armin Ronacher, Brett Cannon, and Paul Everitt.
The conference closed with the last lightning talks of the conference and the “Conference Closing”. No new date and place were announced, but a mysterious “close by” was mentioned, whatever that means
There is only one thing left to mention - the conference had been a blast!
Thanks so much to the organizers, the many, many supporters, all speakers, all attendees, all sponsors, and Canonical and its amazing community team for making it possible for me to attend there.