PyCon CZ

PyCon CZ 23
15–17 September
Prague

Codename Tulip: The Making of Async a talk by Álvaro Durán

Saturday 16 September 12:30 (30 minutes)
__main__

Have you ever ordered something from Starbucks? Like most other businesses, it is primarily interested in maximising the number of orders fulfilled, and that’s why they use asynchronous processing: when you ask for your coffee, the cashier marks a cup with your order and places it into a queue. Queuing orders decouples cashiers and baristas, allowing the cashier to keep taking orders and the deployment of many baristas at peak times. At scale, it would be absurd to see a cashier taking an order and fulfilling it before moving on with the next customer. Yet, we often rely on very similar strategies when we code.

Asynchronous programming has become a huge hit, and there are two main reasons for it. First, it mitigates the problems of systems that make multiple external requests to serve one incoming request (fan-out), making them way faster. And second, it helps save money on infrastructure by using resources better.

However, many Python developers, while intrigued, are intimidated by this programming paradigm, and so the goal of this talk is to help figure out how the heck all of this works. In order to do so, what I’m going to do is to review how async was incorporated into Python using the building blocks that all Python developers are already familiar with, such as iterators and generator expressions.

We will use that foundation to dive into coroutines, the yield from syntax, and finally, async/await. At the end of the talk, we may build a simple web-crawler using what we’ve learnt, and understand the internals of async web services such as Starlette or aiohttp.

What do you need to know to enjoy this talk

Python level

Medium knowledge: You use frameworks and third-party libraries.

About the topic

No previous knowledge of the topic is required, basic concepts will be explained.

Álvaro Durán

I started using Python when I was a data scientist, but quickly found out that what I like the most is building software for others to use. Hence, most of the stuff I've learned over the years has to do with optimizing software from the point of view of the user. That means less pointers and merge sort, more SQL and asynchronous programming!

I am a developer with a unique blend of expertise in finance, software engineering, and data. When I'm building software, my mind veers towards thorough testing and expressive code. That's why I love Python!

When not in front of the keyboard, I'm often found reading voraciously, near a pizza shop, or traveling. I may come across as too serious, but if you come bearing funny memes, or cookies, I can't help smiling.

Saturday 16 September

11:50 __floor__

Panelová diskuze: mýty a stereotypy o IT

Mia Bajić, Honza Javorek, Lucie Tvrdíková, Šárka Melicharová & Roman Hraška
Beginner’s track only in Czech
11:50 __init__
12:20 __main__

Break

12:20

Lunch

12:30 __main__
12:40 __floor__

Lunch

13:00 __main__

Lunch

13:20 __floor__