PyCon LT 2022

To see our schedule with full functionality, like timezone conversion and personal scheduling, please enable JavaScript and go here.
09:50
09:50
10min
Introduction
Aidis Stukas

Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here. Nothing to see here.

Main Room
10:00
10:00
60min
Use typing to speed up your apps with mypyc
Łukasz Langa

Type annotations are documentation. They're meant for humans to quickly figure out what arguments a given function accepts and what it returns. But can this information be utilized by Python to make code run faster? Yes and no!

In this talk, we'll cover a few methods of optimizing code using type annotations. We'll talk about why good human-readable types aren't the same as types that a machine would want to get to optimize. We'll look at real-world optimized Cython code from EdgeDB, and real-world code compiled with mypyc (the Black auto-formatter).

Keynote
Main Room
11:00
11:00
30min
Break
Python Room
11:00
30min
Break
PyData Room
11:30
11:30
45min
AWS CDK with Python
Laimonas Sutkus

In todays modern world it is no longer enough to know the programming language. It is even no longer enough to know a framework. Devops practices become more and more engrained into developers day-to-day activities. In this talk we will show you how to utilise AWS CDK to write python code that manages infrastructure.

Python
Workshop Room
11:30
30min
Trojan Source Code - Can we trust open-source anymore?
Cheuk Ting Ho

Recently, a paper titled Trojan Source is published to demonstrate how a visibly valid contribution can contain malicious code by exporting the Unicode control characters. Some of these have been tested on Python and it works. How can it happen? Shall the Python and open-source communities be concerned?

Python
Python Room
11:30
30min
Up and Down the Ladder of Experimentation
Jev Gamper

I am biased. I cannot stop seeing complex systems. Complex systems are characterised by many components that interact in multiple ways among each other and with their environment. That lens of complexity science enables to see no limits in scaling experimentation at Vinted. Experimentation has many components to it. From low level - what sort of hashing algorithm you use for randomisation? To medium level - how do you scale metrics computation? To what statistical methods you use to ensure meeting high level business objectives? And you know what is the common thread among all these layers at Vinted - it is Python!

PyData
PyData Room
12:00
12:00
30min
It's (not) about the data!
Andrea Coifman

Given the vast amount of resources we have online on becoming a data scientist, it is only natural to feel overwhelmed and lost. Those who manage to start a career in the field, eventually spend majority of the time trying to find their dreamed (non-existent) position [Financial Times, 2017]. I am not here to give you extra unnecessary resources, I am here to showcase how you can leverage your interests to achieve a successful data science career. Bring passion, curiosity and a computer. You need no more!

PyData
PyData Room
12:00
30min
TypedDict, Dataclasses and Pydantic in action
Justinas Kuizinas

We're always using type hints in our code, but when working with microservices or when doing some integrations I started noticing that type hints alone are not enough to help us. In this presentation, I'll try to show my experience of how I moved and what benefits I got from using dict type hints to TypedDict, then to Dataclasses, and lastly to Pydantic. At the end of the day, it helped me to save a lot of time not only when implementing features, but also with the maintenance of already implemented parts of code.

Python
Python Room
12:30
12:30
60min
Lunch
Python Room
12:30
60min
Lunch
PyData Room
13:30
13:30
30min
Beyond pandas: The great Python dataframe showdown
Juan Luis Cano Rodríguez

The pandas library is one of the key factors that enabled the growth of Python in the Data Science industry and continues to help data scientists thrive almost 15 years after its creation. Because of this success, nowadays there are several open-source projects that claim to improve pandas in various ways.

In this talk we will go over some of the most widely used dataframe Python libraries beyond pandas, clarify the relationship between them, compare them in terms of project scope and proximity to the original pandas API, and offer advice on when to use each of them.

PyData
PyData Room
14:00
14:00
30min
Artificial Intelligence in Radiology - are we there yet?
Darius Barušauskas

Deep learning applications have been adopted widely across many industries. Radiology is no exception - it certainly can be considered a breakthrough technology. Healthcare institutions have put trust in Oxipit's Deep Learning technology to improve their Radiology workflow. We will discuss necessary steps for building Deep Learning solutions using Oxipit as an example.

PyData
PyData Room
14:00
30min
Bringing digital signatures and PKI to the masses with Python
Matthias Valvekens

The situation of the past two years has served as a catalyst for further digitalisation of all sorts of administrative processes all over the world. In virtually all of these processes, public-key infrastructure (PKI) plays an important role.

In this talk, you'll get a crash course on what the modern PKI landscape looks like, and on the role that Python can play in making digital signing workflows accessible to a wide range of users in a responsible manner.

Python
Python Room
14:00
55min
ipyvizzu - a new, open-source charting tool to create animated data stories with Python in Jupyter
Peter Vidos

Sharing and explaining the results of your analysis can be a lot easier and much more fun when you can create an animated story of the charts containing your insights. ipyvizzu enables just that using a simple Python interface.

In this workshop, one of the creators of ipyvizzu introduces this tool and helps the audience in taking the first steps in utilizing the power of animation in storytelling. After the workshop, the members will be able to build and present animated data stories on their own.

PyData
Workshop Room
14:30
14:30
30min
RedLock a smart lock for distributed systems
Anas El Amraoui

Locking could be done in many different ways, some of them are quite heavy (slow), others can be dangerous (deadlocks), in this session we will go through some simple ways of locking a resource and profile the different approaches.

We will go through the algorithm of RedLock which could be implemented with many others storage solutions, we will see pros and cons and if time allows also its implementation with multiple Redis instances.

For the demo Django and Redis will be used and to profile the http calls locust will be used.

Python
Python Room
14:30
30min
Select ML from Databases
Nithish Raghunandanan

This talk introduces a new workflow for building your machine learning models using the capabilities of modern databases that support machine learning use cases natively. There is an overview of how machine learning models are being created today to how they could look in the near future by utilising the features provided by current databases.

PyData
PyData Room
15:00
15:00
30min
Main Room
15:00
30min
Break
Python Room
15:00
30min
Break
PyData Room
15:30
15:30
30min
Lightning Talks 1

Lightning talks are designed to be short presentations between five and ten minutes long, but are usually capped at five minutes. Most conferences will allot a segment of roughly 30 to 90 minutes long to speakers. Talks are arranged one after the other during the sessions. The talks are usually given at conferences in order for the event to have many speakers discuss a multitude of topics. The conferences are held in order for individuals to be able to share their ideas and concepts to people who have experience in the specific field.

Lightning talks
Main Room
16:00
16:00
60min
`int` is to `list` as `float` is to `tuple`
James Powell

Okay, so that's plainly preposterous. How is int related to list at all, much less float to tuple? Sure, int is a collection type—just one that you can't iterate over—wait, what? int is a collection type‽ What's going on here?
Join us for this keynote to find out what this all means, and why it all matters.

It's easy to get caught up in all the superficial details we are presented with or forced to learn in order to get our work done. We may even relish the opportunity to collect hundreds of little facts that we can show off to our colleagues and coworkers.

But by the fifth time you show someone the four or five or six ways to merge two dictionaries, or the eighteenth time you tweet about why hash(-2) == -2 but also hash(-1) == -2, or hour six in your explanation of why it makes sense that int is actually a collection type, well, by that point you really start to wonder: why does this all matter? Does it all matter? How does this provide any real value to me in my life?†

And yet, lurking behind each one of these seemingly superficial questions is a great depth of knowledge and understanding, spanning topics that are, in fact, immediately relevant to you, to your work, and to your life. You just have to find them.

In this keynote, we'll discuss a deliberate process and a structured framework for distinguishing “knowledge” and “meaning” from “mechanics” and “detail,” and see how each one of these nonsensical or pointless questions can be the starting point for a richer understanding of the code we write and the world of programming we inhabit.

† It took less than fifteen minutes for Thomas Caswell (Matplotlib, Bluesky) to reach this point when I started going on about such things, and he is to be given credit for this bizarre yet surprisingly apropos analogy. list is in fact similar to int in the way that float is to tuple.

Keynote
Main Room
10:00
10:00
60min
MLOps with FastAPI, RabbitMQ and Kubernetes using Skipper
Andrej Baranovskij

This session is about a simple and flexible ML microservices engine called Skipper. It is open source solution and it runs on Python. During this technical session, you will learn how to run FastAPI endpoints on Kubernetes and enable microservices communication through RabbitMQ with Python API. Besides technical info, the author will share why he was inspired to build this solution and how he participates in Python community.

Keynote
Main Room
11:00
11:00
30min
Break
Main Room
11:00
30min
Break
Python Room
11:00
30min
Break
PyData Room
11:30
11:30
30min
Data-driven products: from zero to hero
Karolina Griciunė

Machine learning (ML) models rarely make it to production. Often these projects start with intention ‘let’s make something cool’, but they get stuck in local Jupyter notebooks or Power Point presentations. What does it take to complete a data-driven product?
I will talk about the importance of the problem and it's context definition, will give examples of overcomplication and together we will go through the steps required to build a data-driven product.

PyData
PyData Room
11:30
60min
Hacking a Python Compiler, a Game Engine and Some Other Dark Magic to Build a Pythonic Online Learn to Code Tool for Kids
Rokas Cvirka, Gedas Lukšas, Mantas Urbonas

We decided to make a coding cool for the young generation … and created a modern gamelike online tool for kids to explore programming. In this talk we’ll talk about the bumpy road we had during this fantastic journey. Morally, the mission was about modernising the approach to teach coding. Technically, it threw us on a neck breaking adventure from hacking a compiler to writing a high scalability SaaS platform to making Python wrappers around 2D JS game engine to writing serverless lambda functions on Azure and what not.

Education Summit
Workshop Room
11:30
30min
Scaling Websockets
Albertas Gimbutas

Websockets protocol has provided bi-directional communication capabilities for web developers. However, the scalability of Websockets is not as simple as stateless REST API. In this presentation I will define a basic architecture using Websockets and try to scale it. The measured results should provide a better understanding what throughput capabilities of Websockets are and whether this protocol might be suited for your needs.

Python
Python Room
12:00
12:00
30min
A new framework for testing
Pēteris Ratnieks

We propose a new method of testing that seems to work really well, but is not formalized in any way. It has been applied in 3 projects of which 2 were serious business (the other is a hackathon project).

No existing testing framework (python or otherwise) embraces this approach, but the core of the idea fits in 50 lines of code.

Python
Python Room
12:00
30min
User-Centric Machine Learning
Ivan Klimuk

Building end-to-end ML systems can be challenging, especially when it's part of a complex user experience in a health app. This is a story of how a user-focused mindset and product thinking helped Flo Health to build the best ML powered cycle predictions on the market.

PyData
PyData Room
12:30
12:30
60min
Lunch
Main Room
12:30
60min
Lunch
Python Room
12:30
60min
Lunch
PyData Room
13:30
13:30
25min
How we taught a.i. to schools in Finland, Malta, Kaunas
Paulius Briedis, Darius Grigaliūnas

School of Robotics (VšĮ Robotikos mokykla) has been looking for ways to teach a.i. for the younger generation for many years. After receiving Erasmus+ grant and gathering an international team - we have made 3 distinct courses mostly using Python. One - to control robotic arm for pick and place tasks on a conveyor belt. Another to make computer game characters using Unity ML Agents. And the third to use NVIDIA Jetbot robotic cars with cameras for self driving experiments.

Education Summit
Workshop Room
13:30
30min
MLOps: challenges faced when deploying machine learning models to production
Philippe de Meulenaer

Deploying a machine learning model to production the right way is not a trivial task, and involves many components. This talk aims first to walk the listener through the realm of MLOps by reviewing the typical challenges faced when deploying machine learning models, and then to flesh out a mature MLOps setup using the Databricks platform.

PyData
PyData Room
13:30
30min
Processing identity doc NFC chips: Pythonic way to handle parsing and cryptography
Kostas Jakeliūnas

At ZealiD, we had to implement eMRTD RFID / NFC chip reading, parsing and cryptographic verification in Python. This proved to be an interesting excursion into ASN.1 data structures and handling crypto in Python. I'll walk you through this journey of discovery and will highlight Python's strengths and gotchas here.

We had to make sure we do this properly as it forms part of our qualified remote TRA process and qualified certificate issuance.

Combining ability to traverse and prototype asn1crypto library structures and later apply mypy proved useful. I'll show you why!

Python
Python Room
14:00
14:00
30min
Detecting and removing outliers in your data
Sara Iris Garcia

Almost every time in a data analysis, you will inevitable find the presence of unexpected or weird values in your data. The majority of statistical and machine learning algorithms will fail to converge or generalize with dirty data, therefore It is critical for the analyst to know how to identify and remove outliers in the data.

In this talk, I will show you the most common techniques to eliminate outliers in the data using Python, and will give you useful tips on how to spot them.

PyData
PyData Room
14:00
30min
Implementing Ray Tracing in Python
Petras Zdanavičius

Ray tracing is a rendering method. It simulates the physical behavior of light and it allows to achieve generation of very realistic images.

In this talk I will show an old-school CPU based Python implementation. Python is relatively slow programming language so a ray tracer written in Python is also going to be slow. I will show several (some of them hacky) tricks to speed up CPU intense calculations.

Python
Python Room
14:00
30min
Python Handbook for schools
Rokas Cvirka, Artūras Nikončukas

The great learning experience is a stepping stone to becoming a professional in your field. All you need to have is good motivation and a proper toolset. Having first steps in the right direction is crucial for a successful career and we’re here to help future developers.

This talk will introduce you to the latest tool we all were looking for.

Education Summit
Workshop Room
14:30
14:30
30min
"Programming Platform "Angis" trough the Eyes of a Teenager"
Rokas Cvirka, Ugne Ubartaite

In this talk, Ugnė Ubartaitė will take you through her journey in the mythical programming world of 'Angis'. She will review how different points were presented by the creators. From storyline and user interface to complexity of the problem-solving and how different Python programming concepts were presented for teenagers.

Education Summit
Workshop Room
14:30
30min
How I Learned to Stop Worrying and Love Python
Dr. Inga Popovaitė

The abundance of behavioral data online and cutting-edge computational techniques seem to promise an easier way to explain and model complex human behavior. However, elegant math theories and multiplex models are largely disconnected from social science theories. There is a divide between “traditional” social scientists and data scientists in approach to data analysis.
I offer ways to address this divide in order to further advance computational social science and give examples of use of Python in social science research, from data collection to data analysis.

PyData
PyData Room
14:30
30min
Py:Script: could it be used as a frontend framework?
Emma Delescolle

A few weeks ago, Py:Script was announced. This means that Python can now run in the browser, no transpiling or compiling of any kind needed.

This is great news but does it mean we will now be able to run well-known Python web frameworks in the browser? Or maybe we need to make schmol adjustments in order to make it work?

Python
Python Room
15:00
15:00
30min
Break
Main Room
15:00
30min
Break
Python Room
15:00
30min
Break
PyData Room
15:30
15:30
30min
Lightning Talks 2

Lightning talks are designed to be short presentations between five and ten minutes long, but are usually capped at five minutes. Most conferences will allot a segment of roughly 30 to 90 minutes long to speakers. Talks are arranged one after the other during the sessions. The talks are usually given at conferences in order for the event to have many speakers discuss a multitude of topics. The conferences are held in order for individuals to be able to share their ideas and concepts to people who have experience in the specific field.

Lightning talks
Main Room
16:00
16:00
60min
Await for it: mixing async and blocking code
Sebastián Ramírez

Tips and tricks to properly mix async code with blocking code, using modern libraries, and taking advantage of the new concurrency features of the language while keeping compatibility with already existing code and libraries.

It will include the basics of what concurrency is, how to take advantage of it in the simplest use cases, and how to safely mix it with regular code.

Keynote
Main Room