PyCon CZ

PyCon CZ 23
15–17 September

Asyncio without Asyncio a workshop with Yan Yanchii

Sunday 17 September 14:00 (3 hours)
Room 351

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”.


Laptop with Python 3.8 or newer installed


Familiarity with asyncio and http proxy

Basic data structures and algorithms knowledge is a nice to have

What do you need to know to enjoy this workshop

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.

Yan Yanchii

I'm a senior software engineer at, a leading global travel tech company headquartered in the Czech Republic, and I work on the Search team.

Originally from Ukraine, I speak six languages and have a strong passion for computer science and low-level programming. Despite my young age of 25, I've gained extensive experience and expertise in Python and C. I particularly enjoy delving into CPython and its internal workings. My preference for creating things from scratch, as opposed to relying on pre-made solutions, has helped me develop a profound grasp of the technical foundations of software development.

I'm thrilled to share my knowledge and enthusiasm for Python and low-level programming with the Python community.

Sunday 17 September

14:00 Room 301

Moje první API ve Flasku

Miroslav Brabenec, Petra Číhalová & Lenka Erbenová
Beginner’s track only in Czech
14:00 Room 302
14:00 Room 343
14:00 Room 346
14:00 Room 347

Transform Your Data Game: Mastering Data Modeling and Analytics with dbt

Jozef Regináč, Jaroslav Bezděk, Barbora Drinková & Pavel Ježek
PyData track
14:00 Room 351
14:00 Room 349

Master ESP32‑CAM with help of MicroPython

Tomislav Arnaudov & Marc Martínez Badenes