The 6th edition of the Python
Conference in Minsk, Belarus
Organized by SPACE in cooperation with Python enthusiasts from Belarus, Russia, Ukraine
Andrew is a long-time Django contributor - author of South, Django Migrations, and Channels - and works on architecture, backend systems and infrastructure for his day job.

He has been doing backend programming for over 15 years, and Python for over a decade, and when he's not coding, you can find him flying small planes, playing around with electronics, and visiting every National Park he can.
Python has had asynchronous programming support for over five years - but we're still a long way from it being everywhere.

Learn some of the history behind Python async, and how it led to some problematic design choices; how to write libraries that are both synchronous and asynchronous at the same time; and the difficulties we are having in making Django have support of asynchronous Python.

We'll also look at some of the history of asynchronous programming, including its roots in formal proof languages like CSP, and how other languages are tackling similar issues.
Sebastián is the creator of FastAPI, a modern web API Python framework, and some other Open Source projects.

He has worked with different teams in many projects, from Latin America to the Middle East.

He does lots of Open Source, APIs, Python, JavaScript (TypeScript), Docker, DBs, ML, etc.
You know Machine Learning, your models are working well, the team likes the results… but now you need to "serve" them in an API so that others can interact with it (developers/frontend team/other code), for production.

In this talk, you will learn how to easily build a production-ready web (JSON) API for your ML models with FastAPI, including best practices by default. With very little code, you will get automatic/interactive documentation, data validation, authentication, and more.

On top of that, you will have autocomplete and type checks in your editor, even for your own data, no matter how complex its shape is.

The talk is targeted at Machine Learning practitioners who don't know web development yet but can be appropriate for anyone interested in building web APIs.
Software engineer at Amazon Web Services, Amsterdam.

Born and raised in Minsk but moved to the Netherlands to build cloud-based IDE - AWS Cloud9.
This talk will explain in details how modern IDEs and code editors provide language support, in particular for Python, what tools and protocols are used to make it possible.

It touches upon such topics as:
• Overview of Python IDEs
• Language features and LSP protocol
• Detailed look at tools used for Python language features
• Live demo of these tools

This talk can be interesting for anyone who is curious how IDE works in the context of Python.
Ronan Lamy has been a Python consultant and open-source developer for more than 10 years.

Born in France, he now lives in Bristol, UK. He's been a core developer of PyPy since 2012, with particular focus on Python 3 features, C-API emulation and the data science ecosystem.
Performance is a major concern for Python programmers. With the standard interpreter, CPython, performance-sensitive code needs to be rewritten in a faster, but less convenient, language such as C or Cython.

However, there is another implementation of the Python language: PyPy. It's a Python interpreter that features just-in-time compilation of Python code to machine code and efficient memory management. It supports Python 2.7 and 3.6 and most C extensions, including e.g numpy, Cython, scipy, pandas, so it can often be a drop-in replacement for CPython.

With PyPy, there is no need to choose between clear, Pythonic code and good performance.
Developer at Yandex.Weather.

Lena conducts experiments to improve weather forecasting with machine learning. Also she supports calculation of production models.
Numerical weather prediction models use all mankind's knowledge of atmospheric physics, a variety of data sources and the computation power of supercomputers. But still they are not absolutely correct.

I will describe how Yandex.Weather improves forecasts of physical models with CatBoost and other machine learning algorithms.

Besides that I will show the pipeline of nowcasting, which uses neural networks, geostationary satellite imagery and meteorological radars measurements to provide precipitation maps with temporal resolution up to 10 minutes.
Loves to scrutinize the disassembled code, work with metaprogramming and play with AST.

For the last 3 years Iuliia has been working as a backend developer as well as a BigData engineer in various projects.

In the spare time she writes some articles and tutorials (mostly about Apache Airflow) on Medium and tries to grow and contribute to Python communities inside the company and in Saint-Petersburg.
After suffering through several legacy-projects that had been thrown to me without any unit tests, I got a maniac idea that had been on my mind for a long time. "Can I implement some program that will make the same steps like I would, when covering legacy code with unit tests?" I want to share with you the experience I acquired while exploring this idea.

That will include Abstract Syntax Trees (AST), code generation, overview of different related tools and libs that exist in Python, little bit about tokenization, how all of that help me as a developer and of course we will take a look at different examples and use-cases from the actual results that I already have.
Roman is a machine learning engineer at Flo Health and Kaggle Competitions Master.

He has experience in constructing full-cycle ML solutions starting from problem statement and translating business needs to ML language ranging to implementing and delivering models to production.

Most of experience lies in domain of social networks analysis, natural language processing and business applications of machine learning. Also passionate about data science competitions and knowledge sharing.
In this talk I'll cover a full process of solving a real-world problem using machine learning.

How to decide whether it is a time to move from expert systems to ML, which prerequisites should be met before running ML initiative, which typical problems usually arise here.

Also I'll describe several ways to organize ml experiments in a proper way and setup reproducible training pipeline. Notes on models' artifacts managing will be made, and finally we'll talk about ways to deliver ML models.

This talk can be interesting for data scientists and ml engineers or for anyone who participates in a process of building ML \ DS culture in a company.
Kirill is a data scientist and Python-dev from St. Petersburg, Russia. He has a master's degree in Data Analysis. Worked as a freelance Python-dev and data scientist for 1.5 years. Now he is a data scientist at SEMrush.

Kirill is interested in a problem of experiments' reproducibility in ML and product management for ML-based products. Sometimes gives public talks related to these topics. He was a speaker at conferences "Big Data Days 2019" and "PiterPy2019" and at meetups.
In the 21st century, the era or "rock stars" in software development has come to an end. Now almost every good project is backed by a team of developers relying on the best practices evolved over the years of IT sector growth. These practices, such as using a single repository, storing a codebase under a version control system, code coverage with tests, defining code style conventions, help good engineers to collaborate effectively and create high-quality products.

Unfortunately, it is not so easy to adopt the best practices of software development for data analysis. To do so, we need to find the tools and approaches that will take into account the special aspects of ML projects: working with big datasets, numerous pipelines and a huge number of models with many hyperparameters.

I will tell you how to facilitate the interaction between data scientists, speed up and standardize the process of conducting experiments and achieve a reproducibility of the results of these experiments.
Anna is a Data Scientist at IBM in Sweden currently working with IoT and Smart Cities project for Stockholm City.

Her career started over 15 years ago in Russia within marketing & sales went on into finance & entrepreneurship in Sweden and, finally, into IT & data analysis. Her interdisciplinary experience lets her approach data science problems from different angles. She sees beyond mathematical models and code into what the end-user actually needs and how it influences other people involved in the data.

Anna is active in the local tech community and encourages people of different backgrounds to take the same leap into technology as she once did, making the field more diverse and inclusive.
This talk is about performing data science, making practical and usable conclusions from the data coming from the multiple IoT sensors.
Practical solutions how to navigate and process lots of data, structure the analysis, present results in an understandable and compelling way.

The talk is using Stockholm City data from GrowSmarter EU project.
Michael has been programming with Python since 2002. Michael is a Core Python Developer, author of IronPython in Action, the creator of unittest.mock and long time maintainer of unittest.

Michael has done web development for Canonical, spent three years wrestling clouds working on Juju and also on Red Hat Ansible Tower.

His latest adventure is working on software for designing fusion reactors for the United Kingdom Atomic Energy Authority.
Python is gradually taking over the world. When I started with Python, in 2002, it was a niche enthusiasts only language with a beautiful community. Now is ubiquitous and a dominant force in fields as diverse as the financial world, animation, the sysadmin, devops, infrastructure trifecta, various kinds of science from genomics to gravity waves to fusion reactor design, and so on.

In this talk we'll take an affectionate look at the history of Python and how it took over the world, providing some insights into why Python is such an amazing language. We'll also look at some of the challenges Python faces and some of the future directions it's heading in.
Kirill has more than 12 years of Python experience behind me, most of which was devoted to Python and preaching good coding practices.

From monolithic accounting systems to authentication microservices, it was a rough ride littered with rotting husks of legacy codebases. This path allowed him to accumulate bumps and some good advice which he shared previously on conferences and meetups. But there is always more to tell and to share.
Admit it: most of your life is spent working with code. For some it is an end goal in itself, for some, it is a necessary evil and for others, a legacy of foolishness passed down from ages before. No matter how it comes to that, but sooner or later we found ourselves surrounded by lines and files, hundreds of classes and thousand functions… And that is okay, but what if you need to change things?

Sure, you can do it manually, but there exist situations when the scale of required changes is overwhelming, like the fabled migration from Python 2 to Python 3. Or introducing code quality checks or big-scale refactoring or anything else that requires more care than simply running regexp over a codebase.

What can you do in that situation? Can you trust the Machine? Are there any tools that can help with that burden? This and many other questions will be answered in our talk, provided that you are brave enough.
Christian is a CPython core developer, member of the Python security team, PSF fellow, and frequent contributor to the Python community.

He is also a principal software engineer at Red Hat working on the identity management platform FreeIPA.
Python has built-in tracing and profiling facilities in form of callback hooks in the sys module. The settrace and setprofile callbacks have several drawbacks. They slow down the Python interpreter considerable and only allow tracing of Python code. Modern OS and CPUs come with a variety of APIs for efficient and low-level tracing down to system calls, Kernel space code, and hardware events. Some tools even create code that runs in Kernel space.

This talks is an introduction and comparison of various low and high level tools for profiling and tracing as well as visualization tools like flame graphs. It covers ptrace, perf, SystemTap, and BCC/eBPF. Ptrace based commands like strace are easy to use but slow. Perf allows lightweight profiling of hardware events and CPU instructions. SystemTap is a powerful toolkit plus DSL to instrument probe points inside the Kernel as well as static SystemTap/DTrace markers in libs and languages like Java, PHP, and Python. CPython comes with a set of instrumentations for SystemTap. BCC is a collection of tools that run as JIT optimized eBPF code in Kernel space.

The talk is an introduction to basic concepts of low-level tracing and profiling on Linux. The main goal is the show the potential of the tools.

Eugene loves coding, he is a co-author of the book "Mastering OpenCV with Practical Computer Vision Projects", promoting machine learning in Odesa.

He works as a Consultant in Computer Vision, Machine Learning and Augmented Reality.

At his spare time he actively solves Kaggle challenges and contribute to open-source projects: albumentations, catalyst and pytorch-toolbelt.
Image augmentations is essential part of training modern deep CNNs. Image augmentation helps to prevents over-fitting when there is a lack of training data. It also can increase diversity of the training data and increase generalization capabilities of the model.

In this talk we present Albumentations - an open-source library for image augmentations. Albumentations is flexible and feature-rich library that helps building powerful image augmentation pipelines for image classification, segmentation and object detection. By examining solution from past Kaggle competitions we will demonstrate how to do image augmentation in the most efficient way for training better models.

Prerequisites: Although the talk does no involve many code listings, it's still important to outline that fair experience with Python in general and some background with deep learning would help to follow the talk better. The ones, familiar with PyTorch deep learning framework will get the most out of this talk.

Scientist and FreeBSD admin in the past, troublemaker and professional problem-solver at present.

He promotes and implements a system approach in software development, advocates type-hinting, DDD and Hexagonal architecture.

Respectful towards his colleagues, loving and supportive husband, and a father.
We had two software developers, one and a half months for work, specifications scribbled on a napkin, some VM from a reserve pool and half a million of concurrent users...

All of that could not possibly result in a fast working app. However, we knew how to make cache and how to invalidate it. But once you are into a serious caching, there is always a tendency to push it as far as you can instead of hitting the brakes and telling yourself: "Johnny, at some point you would really have to clear this stuff so the following user could see his data and not somebody else's."
You know at least the basics of Python (or a ton of it) and want to do "backend development" and build "the cloud". Now what?

In this workshop, we'll build a web (JSON) API app from scratch using FastAPI.
You will learn some current best practices from the beginning and will have a production-ready web API by the end, served by a local database on your computer.

Your API will have automatic/interactive documentation that your coworkers (or the frontend team) will love… as well as your future self. It will have automatic data validation (including detailed data validation errors), integrated authentication, etc. You will also learn some of the advanced techniques (like dependencies) that will save you a lot of time developing. All of this, with a development experience based on editor autocomplete and type error checks everywhere.

The workshop targets beginner-level developers, but experienced developers in other frameworks that want to check FastAPI are also welcome.
Coursera ML and data analysis mentor, Algorithms and ML lecturer at Higher School of Economics, Boosters prize winner on ML tasks.

More than 5 years of work with Russian and foreign financial institutions (Banks, Finam, investment platforms).

Expert in the field of time series forecasting, autoregressive modeling, boosting and neural network models, time series clustering algorithms, creating a framework for working with different types of time series. Organizer of the working group with the Central Bank of the Russian Federation on legislation and development of crowdfunding platforms in Russia.
At the workshop, we will:
• create a data preprocessing pipeline for multidimensional time series;
• analyze the mathematics of the approaches to forecasting time series for the development of hypotheses;
• develop the process of aggregation, factor analysis and the generation of statistical variables to describe time series;
• create several models of boosting and neural networks to predict the next steps in the time series;
• ensemble forecasting approaches into a single model create a quality metric and analyze the results.
Sviat is an open-source maintainer, contributor, and just a software hacker. Born in Ukraine, he now lives in Brno, Czech Republic. By day, he saves sysadmins from writing bash scripts being a member of the Ansible Core team at Red Hat.

And when the sun goes down he maintains CherryPy and aiohttp frameworks. Besides that, you may find his contributions to random projects all over GitHub.

Today, one of Sviatoslav's main passions is automating away boring routines to bring back the fun of human collaboration. Mechanical tasks must be done by robots! To facilitate this, he is developing a Python framework for writing GitHub Apps and Actions called octomachinery.
You probably spend too much time regretting that manual recurring routines don't do themselves. Let's change this! Learn how to save yourself from the maintenance burden and get your life back! This workshop will empower you to automate all the things using GitHub Apps integration type as reusable restless workers helping you overcome typical maintainer frustrations. We'll have a walkthrough of the complete application creation and deployment process: from creating an App entity in the GitHub UI, to actual coding and to shipping your code via Heroku.

1. Express intro into what bots are. How they are related to our coding activities. Creative use of robots.
2. Showing-off what GitHub APIs integration of GitHub Apps type gives access to. Usage flows. Checks API. Auth levels. Rate limits. Lifecycle.
3. GitHub App creation. Deep dive into how it works.
4. Deployment to Heroku.
5. Debugging: inspection of webhook events via UI.
6. Concluding ideas.
Graduated with a degree in fundamental computer science and information technology. Roman has 2 years of experience as a Data Scientist in CV/NLP + 2 years of industrial software development (Python, Scala).

He worked at Dbrain,, and now he leads the DS team in Helios. Core-developer and evangelist of DL-framework Catalyst.
In this workshop, we will talk about the development of reproducible CV pipelines using the Catalyst framework. I will tell you how to use it to train neural networks for PyTorch.

We will cover examples for classification and segmentation tasks using its two APIs.
Together with you, we will discuss the advantages of configuration files for modern DL development.


Conference Day — Feb 22
 at Renaissance Minsk Hotel
Workshops Day — Feb 21
Registration. Welcome coffee
Lunch (included in the ticket price)
Registration. Welcome coffee

The Long Road To Asynchrony (EN)

Pythonic doesn't mean slow! (EN)
Lunch (included in the ticket price)
Lightning Talks
Afterparty at Y Bar

Follow us for the updates!

Sigining up the newsletter indicates you agree with our Privacy Policy. If you decide that you no longer want to receive a newsletter, you can unsubscribe by clicking the "Unsubscribe" link, located at the bottom of each newsletter.

No tickets left (◕◕)

REGULAR — until February 10
FEB 21
LAST MINUTE — February 11 onwards
FEB 22
REGULAR — until February 10
FEB 21+22

Some pictures from the last conference

See 273 more on our Facebook page

How it felt over the last years

2018 Recap Video (58 seconds)
2019 Recap Video (115 seconds)

Programme committee

Passionate Software Engineer
Software Engineer
Software Engineer
Computer Vision Engineer
Director of Engineering
Senior Software Engineer
PyCharm Techincal Lead
Machine Learning Engineer
Nikolay has been in web development for more than 12 years and for about 6 of them he is falling into Python.

Active participant of Minsk Python community. Now he is at iTechArt.
Passionate engineer, loves to code and solve complex issues.

Now he is a part of the backend team at Flo Health Inc., where he spends his time creating the best service on women's health.
Python developer at day time, Go developer (gopher) under the hood. Big fan of full-text search and graph databases.

Contributed to different python/go open source projects:
- pyhelm, aiohttp-swagger, mezzanine
- chalice, requests, aiohttp tutorial
- sendgrid-python and sendgrid-django
- OpenAPI v3 specification, fix Go docs

Speaker at PyCaribbean, PyCon Italia 2017, EuroPython 2016, PyCon Ukraine 2014, PyCon Belarus 2015-2018 PyCon Russia 2015, 2016.
Blogger at

Software engineer in a server team at Wargaming.
I've been working with Python since 2013. I had been working in two compiler projects, optimizations techniques is my area of interests.
Graduate of MIPT
PyCharm Technical Lead and IdeaVim maintainer at JetBrains.

My interests: Python, Kotlin, static code analysis, electronic music, history, avant-garde art.
I teach computers to see, hear and understand.

Hate all software but develop it anyway.

Create maps from images. Kaggle Master and active contributor to Open Data Science community.
Machine Learning Engineer at a secret startup. Prior to that was engaged in machine learning at WANNABY, Juno, Yandex, worked as a product manager at Wargaming.

Co-organizer of Data Fest Belarus.
Python and Rust enthusiast from Minsk, Belarus.

Passionate about communities, artificial intelligence and development.

Now building the world's most advanced Enterprise AI platform at DataRobot.

General Partner
Wargaming is an award-winning online game developer and publisher headquartered in Nicosia, Cyprus. Operating since 1998, Wargaming has grown to become one of the leaders in the gaming industry with 4500+ employees and offices spread all over the world.

Over 200 million players enjoy Wargaming's titles across all major gaming platforms. Their flagship products include the massively popular free-to-play hit World of Tanks and the strategic naval action game World of Warships.

With the support of

The mission of the Python Software Foundation is to promote, protect, and advance the Python programming language, and to support and facilitate the growth of a diverse and international community of Python programmers.


Production Partners

Participant Partners

Goods Partner

General Media Partner

Media Partners

IT-hub in Eastern Europe
Belarus is well know as a highly developing IT-hub with world famous products & startups. In fact it is:
• A country with 1300+ IT-companies & 105 000+ employees
• Takes #37 position among 190 countries in "Doing Business" World Bank ranking
• A homeland of such companies & startups, as EPAM, Wargaming, IBA Group, Flo, MSQRD, Juno, etc.

Belarus is also well known for its solid engineering and open-source community:
• 70+ user groups and communities;
SPACE — tech event venue and organizer of tech-conferences; — online media-platform sharing local news and delivering any kind of content to Belarusian tech community.

Read more: Belarus For IT Specialists by
30 days visa-free
If you fly to Minsk airport from any country except Russia & your stay lasts up to 30 days (including arrival & departure dates), the visa will be stamped to you free of charge at Minsk airport! This concerns 74 countries' citizens.

Explore the city and enjoy your free time with these handy guides:
Hotel Discounts
If you need a hotel, after purchasing a conference/workshop ticket, contact the organizers at and get discounts for booking at Renaissance Minsk Hotel or Willing Hotel.
PyConBY 2020 Conference Code of Conduct
All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct (CoC). Organisers will enforce this code throughout the event. We are expecting cooperation from all participants to help ensuring a safe environment for everybody.

PyConBY 2020 is a community conference intended for networking and experience exchange in the developers community.

PyConBY 2020 Conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment, discrimination, abasement and any form of disrespect.Sexual language and imagery is not appropriate for any conference venue, including talks.

We urge to avoid offensive communication related to gender, sexual orientation, disability, physical appearance, body size, race, religion, sexual images in public spaces, deliberate intimidation, stalking, following, harassing photography or recording, sustained disruption of talks or other events, inappropriate physical contact. Attending the event under the influence of alcohol or other narcotic substances is unacceptable.

Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.

Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.

Expected Behavior
  • Participate in an authentic and active way.
  • Exercise consideration and respect in your speech and actions.
  • Attempt collaboration before conflict.
  • Refrain from demeaning, discriminatory, or harassing behavior and speech.
  • Be mindful of your surroundings and of your fellow participants. Alert organisers if you notice a dangerous situation, someone in distress, or violations of this CoC.
Thank you for helping make this a welcoming, friendly event for all!

Need Help?
Contact the organizer at