PyCon LT 2022
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.
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).
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.
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?
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!
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!
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.
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.
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.
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.
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.
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.
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.
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.
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
.
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.
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.
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.
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.
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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?
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.
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.