Note: this list might change
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.
Building Secure and Customized REST APIs with Django and DRF
Kuldeep Pisda, Vasundhara Shukla
This tutorial explains how to use Django and Django Rest Framework (DRF) to create REST APIs quickly. It covers implementing permissions on endpoints, serving different responses based on user permissions, and adding pagination. Additionally, it includes creating custom endpoints for specific needs. This tutorial suits those building scalable, secure, and customized REST APIs.
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.
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.
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.
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.
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.
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.
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.
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.".
Develop your Python cloud applications offline with LocalStack
Waldemar Hummer, Thomas Rausch, Alexander 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.
sktime - python toolbox for time series
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.
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.
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.