(One of my summaries of the 2025 pycon.de conference in Darmstadt, DE).
Pycon Italy, Bologna, https://www.pycon.it
Pydata Berlin, 1-3 September, https://pydata.org/berlin2025
Euroscipy, August, Kraków, Poland, https://euroscipy.org/
Paris, 31 Sept/1 October.
Humble data workshop https://humbledata.org/
Python barcamp. Much smaller than pycon.de. February or March 2026 in Karlsruhe (DE).
Freelancer barcamp Hamburg (DE), 26 July 2025.
Meta announcement: https://pythondeadlin.es/ , the biggest overview of python conferences.
Note: I probably made errors with names and titles or missed them: live-blogging lightning talks is a tad of a challenge…
There’s AI everywhere. AI will destroy the world. AI will destroy jobs. Help!
He made https://dont-fear-ai.com, where he explains AI concepts, shows building AI projects, discusses AI misconceptions.
Do you want to… meet new friends? Work on exciting open source and AI? Have fun with flags?
He introduced https://www.esoc.de, the European summer of code. The first European open source program. Stipends for contributors new to open source. Developer support. Project support.
You can start with basic requirements, just a list in requirements.txt
. You can
improve on that by having compiled requirements, so a file with generated pinned
versions. That’s much more reproducible in production.
Now he uses uv
. Much faster and supports compiled requirements. uv
use their own
uv.lock
file format, but they now (since two days!) also support pylock.toml
, a
now-standard format, see PEP 751,
Let’s implement an Italian queue in python. A queue is a linear data structure.
An Italian queue implements the SISO algorithm: something in, something out. He showed the implementation to much laughter of the crowd.
The implementation: https://github.com/baggiponte/italian-queues
Why LLM observability?
Complexity: LLMs and pipelines are hard to debug. What actually happens???
Costs: you need to track token usage per call.
Performance: latency matters for user experience.
Quality: understand failures and unexpected outcomes.
Current tracing tools: langsmith, logfire, helicone, arize. Pro: feature-rich and nice UI. Con: complex, vendor lock-in, extranal data dependencies.
He proposes structlog
, though python logging also works. https://www.structlog.org/
You use standard python. Structured json output (if you use structlog): easy to parse.
Slightly exaggerated :-)
Please delete your unit tests on ETL pipelines. They’re a waste of time. In the old times, everything was simple. Just a pipeline from raw to cleaned to transformed to result. Now you have 86 technologies and 142 steps in your pipeline!
You can’t even install all of those dependencies locally, so forget about the tests!
Tests get much to complex. @pytest.parametrize
with 20 lines and 5
parameters…. You have loads of parameters, half of which you don’t understand, half of
which are written by a colleague that left, half of which call external APIs that don’t
even work anymore.
So just delete them!
Create a Typst Table from a pandas data frame. He build a function to convert a pandas dataframe and converts it to typst, a tool to make LaTeX easier.
Code: https://krokotsch.eu/pypst/
Photo explanation: picture from the recent “on traxs” model railway exhibition in Utrecht (NL)
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):