Accepted tutorial
Note: this list might change
Develop your Python cloud applications offline with LocalStack
Waldemar Hummer, Thomas Rausch, Alex Rashed
This tutorial provides a hands-on introduction to LocalStack - the leading platform to develop and test cloud applications entirely on your local machine!
LocalStack provides a set of 70+ AWS services, running in a local Docker container. The hugely popular open source project (46k+ Github stars, 130+ million downloads) is today considered a “must-have” in the toolbox of every AWS cloud developer around the globe.
Outline: (1) Intro to AWS cloud development with Python (2) Developing Python cloud apps with LocalStack (3) Advanced integrations for IaC and CI/CD pipelines (4) Python internals & advanced features in LocalStack (5) Summary and wrap-up
This interactive session covers live coding to showcase common use cases, settings for local debugging of Lambdas and containerized apps, as well as advanced features that can radically improve team collaboration. We'll also glance over the large ecosystem of tools & integrations - including Terraform, Pulumi, CDK, Serverless.
Geospatial Data Processing in Python: A Comprehensive Tutorial
In this tutorial, you will learn about the various Python modules for processing geospatial data, including GDAL, Rasterio, Pyproj, Shapely, Folium, Fiona, OSMnx, Libpysal, Geopandas, Pydeck, Whitebox, ESDA, and Leaflet. You will gain hands-on experience working with real-world geospatial data and learn how to perform tasks such as reading and writing spatial data, reprojecting data, performing spatial analyses, and creating interactive maps. This tutorial is suitable for beginners as well as intermediate Python users who want to expand their knowledge in the field of geospatial data processing.
Practical tools for documentation at scale
In a hands-on workshop I'll introduce some of the tools and methods I have developed to improve documentation consistently and effectively, at scale - by a thousand people or more, working on a hundred or so software products and other projects.
How to MLOps: Experiment tracking & deployment 📊
Jeroen Overschie, Yke Rusticus
What's this thing called MLOps? You may have heard about it by now, but never really understood what all the fuzz is about. Let's find out together!
In this tutorial, you will learn about MLOps and take your first steps in a hands-on way. To do so, we will be using Open Source tooling. We will be taking a simple example of Machine Learning use case and will gradually make it more ready for production 🚀.
We start with a simple time-series model in Python using scikit-learn and first add logging steps to make the performance of the model measurable. Don't worry: we will go through it step-by-step, so you won't be overwhelmed. Then, we will log our ML model and load it back into an inference step. Lastly, we will learn about deploying these actual models by Dockerizing our application 🙏.
Practical introduction to descriptors
Descriptors are not black magic and this practical tutorial will show you that. In fact, you use descriptors every day and you don't even know it!
Through a series of practical, hands-on exercises, you will learn
- how to create a descriptor;
- how to use the dunder methods
__get__
,__set__
, and__set_name__
; - what the descriptor protocol is; and
- where descriptors show up in day-to-day Python code.
Build, Serve, and Deploy a Fast, Production-Ready API with Python and Robyn
Join our hands-on workshop and discover how to build fast, production-ready APIs using Robyn, a developer-friendly web framework for Python. We'll guide you through key features like GraphQL, WebSockets, and data validation, as well as essential topics like app structure, database modeling, and code splitting. With our workshop, you'll gain practical experience and valuable insights into Robyn's simple and extensible API, middleware, and deployment process.
Build your first GraphQL API using Python 🍓
This workshop will teach you how to create your first GraphQL API using Python and Strawberry. We will be using using Fastapi 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.
To run this workshop you need to have at least python 3.8 and have followed the installation guide here: https://github.com/patrick91/strawberry-tiny-workshop
Decorators - A Deep Dive
Python offers decorator to implement re-usable code for cross-cutting task. The support the separation of cross-cutting concerns such as logging, caching, or checking of permissions. This can improve code modularity and maintainability.
This tutorial is an in-depth introduction to decorators. It covers the usage of decorators and how to implement simple and more advanced decorators. Use cases demonstrate how to work with decorators. In addition to showing how functions can use closures to create decorators, the tutorial introduces callable class instance as alternative. Class decorators can solve problems that use be to be tasks for metaclasses. The tutorial provides uses cases for class decorators.
While the focus is on best practices and practical applications, the tutorial also provides deeper insight into how Python works behind the scene. After the tutorial participants will feel comfortable with functions that take functions and return new functions.
Asyncio without Asyncio
This tutorial aims to demystify asyncio builtin module by implementing it from scratch without any dependencies other than the Python Standard Library. We will go through the problem of blocking IO and how it is possible to solve it without single "async" and "await" statement using native Python concepts. Then, we will demystify async/await syntax and see how it is implemented. We will also build our own scheduler which will have a similar API as asyncio, which will be able to run async functions the same way asyncio does. And finally we will build real asynchronous http proxy using our own asyncio implementation. Why reinvent the wheel? - "I hear and I forget. I see and I remember. I do and I understand.".
Architecting Data: A Programmer's Guide to Synthetic Data
Finding good datasets or web assets to build data products or websites with, respectively, can be time-consuming. For instance, data professionals might require data from heavily regulated industries like healthcare and finance. In contrast, software developers might want to skip the tedious task of collecting images, text, and videos for a website. Luckily, both scenarios can now benefit from the same solution, Synthetic Data.
Synthetic Data is artificially generated data created with machine learning models, algorithms, and simulations, and this workshop is designed to show you how to enter that synthetic world by teaching you how to create a full-stack tech product with five interrelated projects. These projects include reproducible data pipelines, a dashboard, machine learning models, a web interface, and a documentation site. So, if you want to enhance your data projects or find great assets to build websites with, come and spend 3 fun and knowledge-rich hours in this workshop.
Food For Rabbits: Celery From Zero to Hero
In a world, full of Micro-Services, distributing tasks is a constant challenge, and there's only one tool that can rule them all.
In this workshop, we'll introduce Celery - a tool for distributing tasks in an easy, fast, and flexible manner, and take you from zero to hero!
- We're going to understand why we need a distributed task system, and why to choose Celery.
- We'll write our first Celery task.
- Understand how to configure and run Celery.
- Familiarize ourselves with Celery's fundamental concepts.
- Dive into celery customizable options.
- Finally, we'll see a real-life example of how we used Celery in our production system and how we customized it to fit our needs, and discuss how you can do the same.
Build a terminal TODO app with Textual
Learn how to build powerful terminal-based user interfaces (TUIs) with ease using Textual - an open-source Python framework.
Throughout this tutorial, you'll learn how to use Textual's built-in widgets, reactive features, and message-passing system to create a dynamic and user-friendly TODO app that's perfect for managing your daily tasks.
From creating and displaying tasks to editing and deleting them, you'll cover all the essential features needed to make a functional TODO app.
You'll also learn how to use Textual CSS to style your TUI for a polished and elegant look, together with some tips and tricks to make it even easier to develop your TUIs in Textual.
This tutorial provides everything you need to get started with building TUIs in Python. By the end of the tutorial, you'll have a fully functional and stylish TODO app that showcases Textual's versatility and useful features.
pytest tips and tricks for a better testsuite
pytest lets you write simple tests fast - but also scales to very complex scenarios: Beyond the basics of no-boilerplate test functions, this training will show various intermediate/advanced features, as well as gems and tricks.
To attend this training, you should already be familiar with the pytest basics (e.g. writing test functions, parametrize, or what a fixture is) and want to learn how to take the next step to improve your test suites.
If you're already familiar with things like fixture caching scopes, autouse, or using the built-in tmp_path/monkeypatch/... fixtures: There will probably be some slides about concepts you already know, but there are also various little hidden tricks and gems I'll be showing.
Kubernetes <3 Python - Deploy Python apps & extend Kubernetes with Python
You don't have to be an Ops expert to make Kubernetes useful! In this workshop, you will learn how to overcome complexity, and love Kubernetes as a Platform to deploy a Python web application or your data science and machine learning pipelines. You will learn how and when to use basic elements of Kubernetes like Deployments and Stateful Sets.
Once you understand these basic elements, you will learn how to extend Kubernetes using Python. You will learn how to define custom resources and controllers to automate all things related to your applications' life cycle, from ETL through sending email for password reset to where your imagination stops.
In the end of this workshop, you will have deployed a python web application and successfully extend Kubernetes with so-called operators to manage the complete life-cycle of your application.
sktime - python toolbox for time series
Franz Kiraly, Sagar Mishra, Kiril Ralinovski
This tutorial presents sktime - a unified, open source framework for machine learning with time series in python. sktime provides interfaces to algorithms of various types, and modular tools for pipelining, composition, and tuning. You will learn how identify your learning task, and how to build, use, and evaluate different algorithms on real-world data sets.
All tutorial notebooks are available in this repository and runnable from the cloud: https://github.com/sktime/sktime-tutorial-europython-2023
Robust Data Transformation with Pandas: Typing, Validation, Testing
We will explore possibilities for making our data analyses and transformations in Pandas robust and production ready. We will see how advanced group-by, resample or rolling aggregations work on large time series weather data. (As a bonus, you will learn about Prague climate.) We will use type annotations and schema validations with the Pandera library to make our code more readable and robust. We will also show the potential of property-based testing using the Hypothesis package, with strategies generated from Pandera schemas. We will show how to avoid issues with time zones when working with time series data. By the end of the tutorial, you will have a deeper understanding of advanced Pandas aggregations and be able to write robust, production ready Pandas code.
Gathering data from the web using Python
Information is abundant and readily available on the internet. However, the sheer amount of data can be overwhelming and time-consuming to navigate through. That's where web scraping comes in - a powerful tool used to extract data from websites and turn it into a usable format.
In this tutorial, we will explore the basics of web scraping and how to implement it using Scrapy (a Python framework). Whether you are a data analyst, programmer, or researcher, this tutorial will equip you with the fundamental skills needed to create your own web scraper and extract valuable information from websites.