Python Conference 2022

We are very excited to welcome you in person to our Python Conference in Utrecht. If you are interested in the newest technologies, interesting subjects in the Python domain in general, would like to be inspired and meet other Python developers, please join us

  • When: April 5th, 2022

  • Where: Jaarbeurs Utrecht

  • Who: Python developers

  • Price: Free



The venue this year is at Jaarsbeurs Utrecht in the Media Plaza and Supernova conference centers. It is conveniently located next to Utrecht Central Station. But is also easily accessible by car. Click the "Location" button below for a detailed description on how to get to the venue.


14:00 - Opening

by ​Esther Roghair

14:05 - Trojan Source Malware - Can we trust open-source anymore?

by Cheuk Ting Ho

After researchers at the University of Cambridge published a paper about a malicious attack named Trojan Source, which exploited the fact that some program interpreters, like CPython, can handle Unicode. This has caused concerns in the open-source community about the malicious contribution that looks totally legitimate in human eyes but contains invisible attacks. As a member of the Python community, we should all be aware of that and understand how we can prevent this attack to happen.


In this talk, Cheuk will decode the finding in this paper to a level that can be understood by everyone. She will start with a joke example who you can mess up someone by using Unicode. She will explain what Unicode is and why it causes trouble. Afterward, she will explain the Python examples from the paper and why they can be dangerous. Lastly, she will open up a discussion on how we should defend ourselves from those attacks and what we can do as a community.

14:40 - MLOps

by Christiaan Lamers

Up to this day, when using machine learning in a project, the ad hoc approach is still taken. More often than not, data sets are not version controlled, results of experiments are lost and deployment of models is painstakingly done by hand. The result is that only 22 percent of companies using machine learning have successfully deployed a model. 
MLOps addresses this issue by formalising a streamlined process. MLOps combines Machine Learning, DevOps and Data Engineering. It automates and streamlines the full development process of Machine Learning models from raw data to deployed models.
Various MLOps frameworks exist. This talk shows how such frameworks can be used in MLOps.

15:25 - Break

Drinks, snacks and chatter

15:45 - Useful collections in Python that you should know

by Laysa Uchoa

Containers are objects that store data. For example, lists and dictionaries are familiar containers, but Python goes beyond and offers us advanced containers from its collections module. These containers each specialize in a specific job. The collections module can be directly imported into your code as it is a Python built-in module
In this talk, we will learn some of the most common containers, such as deque, namedtuple, Counter, defaultdict and others. Let's learn how they can make your code easier to write and more optimized!

16:15 - Docker all the way

by Johan Vergeer

One of the promises of Docker is that you will work with the same configuration everywhere, whether it is during development, testing or a production deployment. Since each of these stages has their own requirements, they each come with their own challenges. How do you prevent having to do a rebuild of the Docker container after every change during development? How do you run your tests inside the Docker container? And how do you keep your Docker image for production as small as possible? All while having an environment in each of the stages that is as close to production as possible.


We’ll go through some examples step-by-step, starting with a very naive approach, moving to Dockers multi-stage builds to create full-blown containers for development, containers for testing and lightweight containers for production. Finally, we’ll learn how to leverage docker-compose to configure a database and a proxy using Nginx.

17:00 - Break

Drinks, snacks and chatter

17:20 - Identity and nothingness in Python

by Daniele Procida

As Python programmers, we’re blessed - we have several different kinds of nothingness and identity at our fingertips. There’s something rich, beautiful and mysterious in them. It’s the same richness and mystery that logicians and philosophers have discovered in those concepts. Programmers are in fact working with key ideas that are also crucially important to ontology, epistemology and metaphysics.

Knowing about these connections might not make us better programmers, but it can add another dimension to our understanding of the discipline, and make the joy of programming even deeper.

18:10 - Ugly Type Annotations Hint At Ugly Code

by Łukasz Langa

You got on the type hints bandwagon? You annotate your functions away but sometimes typing is just so annoyingly verbose, isn't it? Sure, it is, a little! But more often than not, it's not the type hints that are ugly. It's your code!

In this talk I'll be sharing some software design principles that long-time typing users grew with experience. I'll be showing a few common Python coding anti-patterns that result in overly verbose type annotations, and how to refactor them. Finally, we'll talk about a few deliberate limitations of static typing and why they're good for you in the long term.

19:00 - After-party

Take a sip and a bite, share impressions or just relax.



Esther Roghair

Esther Roghair

Manager of Pythoneers Business Unit at Ordina Software Development.

Cheuk Ting Ho

Cheuk Ting Ho

After having a career in data science, Cheuk now brings her knowledge in data and passion for the tech community into TerminusDB as the developer relations lead. Cheuk constantly contributes to the open-source community by giving free tutorials on Twitch and organizing sprints to encourage diversity contributions.

Christiaan Lamers

Christiaan Lamers

Christiaan is a Software Engineer at Ordina with a background in Computer Science. He is passionate about the new problem solving possibilities brought by Machine Learning and Data Science. Christiaan is a PhD candidate at the Natural Computing Group at the Leiden Institute of Advanced Computer Science (LIACS) and a fellow of the Norwegian research institute NORCE.

Laysa Uchoa

Laysa Uchoa

Laysa is a developer working towards a more diverse and fun Python community by organizing Pyladies Munich Chapter. Her passion for sharing knowledge and OSS has led her to work as developer advocate for Aiven. She help users understand databases and do cool things with them. Besides Python, she like cyberpunk movies, tea, and human languages.

Johan Vergeer

Johan Vergeer

Johan is a software engineer at Ordina Pythoneers Python and clean code. He maintains his own blog, teaches at Ordina, has presented at several meetups and is a content creator at Real Python. He loves to share knowledge and help other software developers.

Daniele Procida.jpg

Daniele Procida

Daniele is a Director of Engineering at Canonical. He loves: Django (core developer), documentation (creator of the Diátaxis documentation framework) and the pan-African Python movement (enthusiastic co-organiser of PyCon Namibia and PyCon Africa).

Lukasz Langa

Łukasz Langa

Łukasz is equally interested in music and software engineering, as a classically-trained pianist and a long-time contributor to the Python programming language. He builds software for musical instruments. Łukasz makes music as RPLKTR. He is also the Release Manager for Python 3.8 and 3.9 and the creator of the popular code auto-formatter Black. He is currently the only one Python Developer in Residence at the Python Software Foundation.


it's free!