Skip to main content
EuroPythonCode of ConductLive đź“ą

Accepted tutorials

Note: this list might change


Python objects under the hood

Rodrigo GirĂŁo SerrĂŁo

Have you ever heard of Python's magic methods? I am sorry, but they are not that “magic”! I agree they are really cool, but dunder methods (the name they usually go by) are just regular Python methods that you implement! And it is my job to help you learn about them.

Dunder methods are the methods that you need to implement when you want your objects to interact with the syntax of Python. Do you want len to be callable on your objects? Implement __len__. Do you want your objects to be iterables? Implement __iter__. Do you want arithmetics to work on your objects? Implement __add__ (and a bunch of others!). Just to name a few things your objects could be doing.

In this training, we will go over a series of small use cases for many of the existing dunder methods: we will learn about the way in which each dunder method is supposed to work and then we implement it. This will make you a more well-rounded Python developer because you will have a greater appreciation for how things work in Python. I will also show you the approaches I follow when I am learning about a new dunder method and trying to understand how it works, which will help you explore the remainder dunder methods by yourself.

For this training, you need Python 3.8+ and your code editor of choice.

Get the slides, exercises, and other resources on Github.

Tutorial(c)Python Internals

How to setup your development workflow to keep your code clean

Guillaume Dequenne

Clean code is something every developer should aim for, but how to make sure code is actually clean? How much should be invested in that endeavor? Whose responsibility is it?

In this workshop, we will go through all the aspects and stages to setup your development workflow to help you take ownership of the quality of your code.

We will take a simple application as a starting point and simulate a full development cycle, including coding in the IDE and opening a pull request on GitHub. We will create a CI pipeline triggering code quality monitoring using Sonar tools. More specifically, we will be using SonarCloud as a central platform to monitor code quality and SonarLint to detect issues directly in the IDE.

At the end of the workshop, you will be ready to enable such integration for your own projects.


TDD in Python with pytest

Leonardo Giordani

This workshop will guide you step-by-step through the implementation of a very simple Python library following a strict TDD workflow. At the end of the workshop you will have grasped the main principles of TDD and learned the fundamentals of the Python testing library pytest.


How To Train Your Graphics Card (To Read)

Matthew Carrigan

This tutorial aims to introduce new users to modern NLP using the open-source HuggingFace Transformers library. We'll use massive, pre-existing language models that you might have heard of like BERT and GPT to solve real-world tasks. By the end of this tutorial you'll be able to classify documents, get your computer to read a text and answer questions about it, and even translate between languages!

TutorialPyData: Deep Learning, NLP, CV

Picking What to Watch Next - build a recommendation system

Cheuk Ting Ho

Recommendation algorithms are the driving force of many businesses: e-commerce, personalized advertisement, on-demand entertainment. Computer algorithms know what you like and present you with things that are customized for you. Here we will explore how to do that by building a system ourselves.

TutorialPyData: Machine Learning, Stats

Build a production ready GraphQL API using Python

Patrick Arminio

This workshop will teach you how to create a production ready GraphQL API using Python and Strawberry. We will be using using Django as our framework of choice, but most of the concept will be applicable to other frameworks too.

We'll learn how GraphQL works under the hood, and how we can leverage type hints to create end to end type safe GraphQL queries.

We'll also learn how to authenticate users when using GraphQL and how to make sure our APIs are performant.

If we have enough time we'll take a look at doing realtime APIs using GraphQL subscriptions and how to use GraphQL with frontend frameworks such as React.


[CANCELLED] Build your own linters

Rahul Jha

Despite a ton of wonderful linters out there, it pays off to scratch your itch and learn how to write one yourself. Anytime a pet peeve starts bothering you in code reviews, you’ll have all the tools at your disposal.


Build with Audio: The easy & hard way!

Vaibhav Srivastav

The audio (& speech) domain is going through a massive shift in terms of end-user performances. It is at the same tipping point as NLP was in 2017 before the Transformers revolution took over. We’ve gone from needing a copious amount of data to create Spoken Language Understanding systems to just needing a 10-minute snippet.

This tutorial will help you create strong code-first & scientific foundations in dealing with Audio data and build real-world applications like Automatic Speech Recognition (ASR) Audio Classification, and Speaker Verification using backbone models like Wav2Vec2.0, HuBERT, etc.

TutorialPyData: Deep Learning, NLP, CV

Inspect and try to interpret your scikit-learn machine-learning models

Guillaume Lemaitre

This tutorial is subdivided into three parts.

First, we focus on the family of linear models and present the common pitfalls to be aware of when interpreting the coefficients of such models.

Then, we look at a larger range of models (e.g. gradient-boosting) and put into practice available inspection techniques developed in scikit-learn to inspect such models.

Finally, we present other tools to interpret models, not currently available in scikit-learn, but widely used. in practice.

TutorialPyData: Machine Learning, Stats

Beyond the Basics: Data Visualization in Python

Stefanie Molin

The human brain excels at finding patterns in visual representations, which is why data visualizations are essential to any analysis. Done right, they bridge the gap between those analyzing the data and those consuming the analysis. However, learning to create impactful, aesthetically-pleasing visualizations can often be challenging. This session will equip you with the skills to make customized visualizations for your data using Python.

While there are many plotting libraries to choose from, the prolific Matplotlib library is always a great place to start. Since various Python data science libraries utilize Matplotlib under the hood, familiarity with Matplotlib itself gives you the flexibility to fine tune the resulting visualizations (e.g., add annotations, animate, etc.). This session will also introduce interactive visualizations using HoloViz, which provides a higher-level plotting API capable of using Matplotlib and Bokeh (a Python library for generating interactive, JavaScript-powered visualizations) under the hood.

TutorialPyData: Software Packages & Jupyter

Norvig's lispy: beautiful and illuminating Python code

Luciano Ramalho

Why isn't if a function? Why does Python need to add keywords from time to time? What precisely is a closure, what problem does it solve, and how does it work? These are some of the fundamental questions you'll be able to answer after this tutorial: an interactive exploration of Peter Norvig's–an interpreter for a subset of the Scheme dialect of Lisp in 132 lines of Python.

TutorialPython Friends

Three Musketeers: Sherlock Holmes, Mathematics and Python

Gajendra Deshpande

Mathematics is a science and one of the most important discoveries of the human race on earth. Math is everywhere and around us. It is in nature, music, sports, economics, engineering, and so on. In our daily life, we use mathematics knowingly and unknowingly. Many of us are unaware that forensic experts use mathematics to solve crime mysteries. In this workshop, we will explore how Sherlock Holmes, the famous fictional detective character created by Sir Arthur Conan Doyle uses Mathematics and Python programming language to solve crime mysteries. In short, the workshop begins with an introduction to forensic mathematics and covers basic principles thereby setting the stage. Then, we will solve simple crime puzzles using mathematics and simple python scripts. Finally, we will solve a few complex hypothetical crime mysteries using advanced python concepts. The participants will learn how to use the concepts of mathematics such as statistics, probability, trigonometry, and graph theory, and python and its packages such as SciPy, NumPy, and Matplotlib to solve the crime puzzles.

TutorialEducation, Teaching & Further Training

Bulletproof Python – Property-Based Testing with Hypothesis

Michael Seifert

Property-based testing is a great benefit to the robustness and maintainability of your software. Yet, the technique is still vastly underused in the Python community. The workshop gives a hands-on introduction to Hypothesis and practices different approaches for writing property-based tests.


Data Validation for Data Science

Natan Mish

Have you ever worked really hard on choosing the best algorithm, tuned the parameters to perfection, and built awesome feature engineering methods only to have everything break because of a null value? Then this tutorial is for you! Data validation is often neglected in the process of working on data science projects. In this tutorial, we will demonstrate the importance of implementing data validation for data science in commercial, open-source, and even hobby projects. We will then dive into some of the open-source tools available for validating data in Python and learn how to use them so that edge cases will never break our models. The open-source Python community will come to our help and we will explore wonderful packages such as Pydantic for defining data models, Pandera for complementing the use of Pandas, and Great Expectations for diving deep into the data. This tutorial will benefit anyone working on data projects in Python who want to learn about data validation. Some Python programming experience and understanding of data science are required. The examples used and the context of the discussion is around data science, but the knowledge can be implemented in any Python oriented project.

TutorialPyData: Data Engineering