This conference includes 9 sessions of 30min each (25min talk + 5min Q&A). The call for papers has already ended. If you are interested in taking part in XtremePython 2022 we recommend you to follow us on Twitter at https://twitter.com/xtremepython.
In order to ease the participation from all over the world we chose to start the conference at 11:30 (GMT).
Python in Education for Generation Z [Beginners]
The students who belong to Generation Z or post-millennials have access to gadgets such as smartphones even before they go to school. This makes them technology savvy and at the same time, they get bored easily in a traditional classroom setting. It becomes necessary to use modern tools and techniques in the classroom to engage students in activities. Also, governments are promoting the “Bring Your Own Device (BYOD)” concept in education which can be a boon to those who cannot afford a computer or laptop. In this talk, I will introduce the QPython which can be installed on a smartphone to execute Python programs. I will also introduce visual programming tools like Google Blockly, and flowgorithm to generate Python code. Next, I will discuss a friendly package to generate developer-friendly error messages. Next, I will demonstrate code visualization packages in Python such as code2flow and pycallgraph. Finally, I will discuss conducting science experiments on the go using smartphone.
A Guided Tour of Caching Patterns [Beginners]
When your application starts slowing down, the reason is probably a bottleneck somewhere in the execution chain. Sometimes, this bottleneck is due to a bug. Sometimes, somebody didn’t set up the optimal configuration. And sometimes, the process of fetching the data is the bottleneck.
Sefik Ilkin Serengil
How Did DeepFace Become The Best Facial Recognition Library for Python [Intermediate]
DeepFace is the most popular facial recognition library nowadays. Users can build and run facial recognition with a few lines of code. In this talk, we are going to unbox DeepFace to build facial recognition pipelines.
How we Dealt with Poor Code Analysis Support in Our Generator, Metaclasses, and Code Generation Heavy Projects [Intermediate]
Projects that heavily rely on such Python features as metaclasses, decorators, or code-generation face a problem of poor support by static code analysis tools. This results in little to no suggestions in IDE or broken mypy tests.
Python + Github Actions + Kubernetes : Your Path to achieve Nirvana [Intermediate]
Python is one of THE most popular programming languages. Kubernetes is the industry standard container orchestration tool. Github Actions is the best thing that has happened to GitHub since Git. What do we see in common here ? All of these tools are #1 in their category. What if we can use all of them to achieve 100% automated code shipping, giving developers some free time ? In this talk I will walk you through a live demonstration of how you can ship your lovely python code from your local machine to the kubernetes cluster running anywhere in this universe, fully automated through GitHub Actions. All of this is as easy as writing python code, trust me. By the end of this presentation, you would have a sound understanding of building a GitOps life cycle of your python application for Kubernetes.
Geospatial Analysis using Python [Beginners]
Most industries are more or less connected to Location and mapping. Therefore, it is important to spread awareness and literate developers to understand different aspects of the GIS (Geographic Information System) industry. The first Part of this talk focuses on different GIS Data types and on the available ways for reading them. This includes understanding different data formats such as **Shapefiles, GeoJSON, WKT, CSV, TIFF, GeoTIFF, etc.**. The second part of this talk focuses on geospatial analysis with python. We will start with working with some core GIS functionalities using `GDAL` and `OGR` on the terminal and will become familiar with the role of python libraries such as `pandas, geopandas, fiona, shapely, matplotlib, PySAL, rasterio`. Pre-requisite for this talk: 1. Basic knowledge of python 2. Basic knowledge of GIS and GIS Data formats Access.
Bodo: Supercomputing-Like Performance and Scale for Python/Pandas [Intermediate]
Python is often praised for simplicity but criticized for low performance and scalability. Bodo is a new compute engine that brings supercomputing-like performance and scalability to native Python analytics code automatically. With Bodo, Python/Pandas code scales to 10,000+ cores and petabytes of data without any rewrites into Scala, C++ or non-native APIs, opening doors to new opportunities in data analytics and machine learning. This is made possible using a new just-in-time (JIT) inferential compiler technology that can automate the optimization process of world-class performance experts. We will discuss how this technology works and present examples and demonstrations.
Getting Started with OpenTelemetry in Python [Beginners]
Tracing and observability are becoming very popular as distributed services are getting more complex. To better understand our architecture and to be able to troubleshoot production issues faster, we need to track how requests are populated throughout the system. By monitoring the interactions between the different components we are able to overcome some of the native complexity of distributed services. In this talk, I will review the concept of tracing by examining the open-source project OpenTelemetry and specifically its Python version. I will also cover how to utilize open source solutions, along with commercial products, to get the most out of tracing data OpenTelemetry collects.
Structural Patterns Matching in Python [Intermediate]
One of the main new features that were introduced with the release of Python 3.10 is Structural Patterns Matching. Inspired by other programming languages, such as Scala, Haskell and Ruby, this new feature allows us to improve the readability of our code. This highly practical session overviews the possibilities when using structural patterns matching, and introduces the motivation for doing so.