PyCon CZ 2016 Brno
28-30 October


Amador Pahim

Software Engineer in Virtualization Team at Red Hat, working in Avocado Project to design and implement new features, integrate multiple automation tools in a Continuous Integration (CI) system for KVM and assist the Quality Assurance team in developing complex tests involving virtualization technologies.

Automated Testing Framework

Avocado is a next generation testing framework inspired by Autotest and modern development tools such as git. One can call it a test framework with benefits. Native tests are written in Python and they follow the unit test pattern, but any executable can serve as a test.
In this presentation we will cover the Avocado architecture, main features, demonstrations and we will also compare Avocado with some known test runners.

Ana Balica

Software developer, working at Potato, Ana spends most of her days writing Django powered web apps at Potato London. She really enjoys poking into legacy code and perpetually strives for clean code designs. She’s learned many valuable things both as a mentee and a mentor in programs like Google Summer of Code, Learn IT Girl!, Django Girls, Rails Girls. And she likes Python, books and cats and is known to occasionally give talks.

Humanizing among coders

What makes a good developer? Certainly technical expertise, insightfulness, creativity, thoughtfulness. What about daily social interactions with other developers inside the company and community? Those are never easy. Even though we all try to be nice to each other, sometimes unintentionally we can be a bit off. I'd like to share with you some stories that helped me rationalize some of my own communication and human interaction mistakes and how I'm trying to correct them.

Andrej Mosat

Andrej is searching for the ultimate tricorder, a device which can see and tell your health, discover dangers in your environment and enhance your senses to cyborg levels. His first professional project was to build a chromatographic column to extract elements from human blood plasma. He created the first open source spectrometer, which was then distributed to all corners of Earth and above, launching from ISS station onboard two microsatellites. Andrej advocates micropython, Python for small microcontrollers which allows for prototyping of electronic devices at unprecedented speeds. His dream is to create the tricorder for the first man on Mars.

Python embedded in your daily life

Have you always wondered where the batteries from Python: batteries included are? Despair no more! We come with battery-powered Python devices for your daily life.
We will focus on showcasing and live demonstration of Python running on very small microprocessors.
First, an overview of existing platforms which can run Python on batteries. Then we will showcase in a live demo what Python can do for you. Finally a “how to” workflow for successful Python coding on low power ARM Cortex microprocessors will be revealed to get you started.

Anton Marchukov

I am a Software Engineer at Red Hat, part of RHV DevOps and oVirt Community Infra teams. We are in charge of running the CI and build operations and most of related infrastructure for the projects. We write a lot of automation and Python is our primary language.

Previously I enjoyed more than 10 years of IT experience ranging from System Administration and up to Engineering Management. I really enjoy combining all this knowledge together and thus I have become a strong DevOps advocate.

Do You Want to Retry? Handling Network Failures

The world is not perfect and network failures do happen. Complaining about instability might not always be enough. Especially when your system depends on multiple networked services and each of them is on a critical path to the final result.

In this talk we will recall why network failures happen. Reason what we can and cannot handle in the code. And see what Python standard libraries and a few popular ones such as urllib3 and requests can offer.

And that's not all. Network Emulation (netem) module of Linux Traffic Control (tc) can even help with poor network simulation.

Now there is no excuse.

Benny Daon

Benny Daon has been coding for 33 years now, starting at his Bar-Mitzvah with an 8-bit Atari. After a successful gig as co-founder and CEO of Shunra Software (here's the 1998 web page of our first product The Cloud), he’s spent most of the last 8 years coding for sites using Python, Django and Flask. and weaving a network of developers. He’s one of the founders of PyWeb-IL from which the Open Knesset project grew, later giving birth to its mother org - The Public Knowledge Workshop. In the last year Benny has been freelancing for the Museum of the Jewish People in Tel Aviv, bringing their datasets to the web i.e. here's what they have on Brno.

The Great Fork

Python is more than a language, it's also a knowledge base of PEPs and meta-PEPs driving Python's growth. Join me as I dive into PEP purpose and guidelines, explore notable proposals and try to make sense of it all.

Bhagyashree Padalkar

Bhagyashree (or Bee) is a recent graduate of the Indian Institute of Technology, Guwahati, India.She currently works as a researcher in decision making at Max Planck Institute, Berlin. Her primary research interests lie in understanding human behaviour in information-rich online social environments. Her research draws heavily from Machine Learning and Natural Language Processing techniques.

At Fedora, she works closely with the Community Operations team mostly contributing on metrics-related tasks. She is also a Google Summer of Code 2016 Mentor for Fedora, actively involved with the Fedora Women and Diversity Team.

Since she started taking baby steps towards analyzing data, Python has been a constant in her life. It has been a 3-year-long journey with loads of number crunching, machine learning, interesting insights and sometimes even all-night hackathons.

How Fedora uses Python data analytics to understand and help the community.

I have been involved with Fedora Community Operations Team from its conception one year ago. Amongst other things we at CommOps are trying to build tools to understand the community and make it more contributor-friendly. While newcomer onboarding is important for any FOSS community, retaining them is critical. We have been working on improving the contributor retention rates in Fedora Community for a while now. In this direction, we have built some Python-based scripts to understand the activity of Fedora contributors and their life cycles. We have also tried to analyze contribution activity of some successful contributors and find common patterns in their behavior and have tried to measure the impact of attending FOSS events on the activity of a contributor and on the Fedora community as a whole. All this work has been done using Python and during this talk, I want to share details about the tools we have built, how we built them and the insights we have generated from them.

Dariusz Aniszewski

Hi! My name is Dariusz and I'm Senior Software Engineer at Polidea, a mobile software-house based in Warsaw, Poland. I'm backend developer with six years of experience, most of which in Python, but I also had a year-long adventure in Android.

After work I'm home-brewer so whenever I'm not coding it's great probability that I'm discovering new, awesome flavour of fresh homemade beer.

DOS yourself a.k.a. Load Testing

In my talk I'd like to tell you about testing performance of your backend applications. I'll explain what load testing is in theory and how to do it in practise. I'd like to focus on why load testing is important step in software development and what will most likely happen when it's forgotten. I'll walk through different tools that can be used, starting with very basic AB, via jMeter up to the Locust and cloud-based services.

Goga Patarkatsishvili

I am a software engineer from Georgia (country), and currently I am working in one of the biggest internet provider company "Silknet" as an oracle developer, buy I also have experience with Python. I finished Coursera course "Python with databases", I worked with mongodb using Python and I can say that Python is one of my favourite languages :)

Similarities and standards between modern web frameworks

In the past years there have appeared a lot of new frameworks and libraries in the modern web world, but behind the scenes there are a lot of similarities and standards in any language and I will talk about these standards.

I also have a post about it:

Honza Klusáček

Keen player and organizer of puzzlehunts, proud member of team Bazinga. After encounter with artificial neural networks at FIT VUT, he moved on to research the biological ones. Currently student of cognitive science at the University of Vienna.

TMOU, puzzlehunts & cracking (im)possible problems with Python

Do you like codes, riddles and ciphers? Some people have turned cracking puzzles into a hobby and gave rise to events dedicated to solving such problems – puzzlehunts. TMOU is the oldest and biggest one among them. During these games, players regularly feel the frustration from endless unsuccessful efforts, often quickly followed by extraordinary joy after finally figuring out the peculiar problem. This joy can only be surpassed by creating a perfect puzzle for others to solve.

I will share a few lessons learnt while organizing TMOU, namely:
- What makes a problem seemingly impossible
- How to turn impossible into possible and hard into not-so-hard
- How to crack tough problems and hammer down their complexity
- Why Python might be a good hammer for that

Follow the creation of a specific puzzle from an initial idea to the final design (puzzle #4 "the Dice", TMOU 17 Where else would you need to solve a bunch of problems just to create a new one?

Ingrid Nagyová

I’m working as assistant professor in ICT at Ostrava University, Czech Republic. I focus on programming and development of algorithmic thinking. I take interest in constructivism and creative programming, in didactic programming and tools for teaching programming to primary and secondary school.

Jak začít programovat v Pythonu tvorbou jednoduchých her

Mnoho, zejména mladých lidí, přivádí k programování touha vytvořit hru. Tato touha může být zmařena při nahlédnutí do učebnic programování, které poznatky budují systematicky a pro začátečníka mnohdy nepochopitelně.
Přednáška ukazuje, jak lze začít tvořit a hrát si s jednoduchými grafickými objekty bez znalostí programování. Společně definujeme několik grafických objektů, které rozpohybujeme po grafickém plátně a jednoduchým zachycením událostí z klávesnice zabezpečíme možnost interaktivního ovládání hry.

Jacek Kołodziej

Python backend developer at Growbots. Aspires to be the Programmer. Reads code often and tries to remember that while writing it. Appreciates the convenience of TTD and having useful documentation. Fan of async, both in code and the process.
In spare time: photography, wanders from one concert to another, sometimes hill walks too and plays drums occasionally.

GIL: What's the hassle and why should I care?

Demistifying GIL - what's that, how it really affects performance, what changed in the last few years and what can we do about GIL in everyday programming.

There is still a lot of misunderstanding regarding GIL, coming from not-so-perfect documentation - not explaining the implications thoroughly and in a simple way; it's also often outdated.

Also, GIL's implementation changed a little in CPython 3.x that may affect programmers' choices.

This misinformation may, in some cases, drive them away from CPython where it's not really the worst choice. By providing comprehensive guide to today's GIL in CPython, this presentation aims to help make better design choices - be it choosing a concurrency/parallelism model, Python implementation to use or even whether or not to drop Python entirely.

There have been (and still are), of course, attempts to get rid of GIL and find another solution for the problem it solves - newest of which is Larry Hasting's project called GILectomy, which I hope to shed some light on.

Jachym Cepicky

Open people's minds and open technologies for better geospatial world.

Open source, open data, open standards, open minded people.

What is the price of open source?

We keep hearing, that "open source if for free, so why don't you use it?" But is that really true? What are the real costs of open source software? Where does the money come from? How do the developers make their living? Is it really as free as a beer? How to bring money to open source software development? Is open source the one and only greatest and only good and best possible development model?

Jacqueline Kazil

Jackie is a Czech-American engineering and technology consultant with a focus in data science, teaching, and organizational change. She has worked with various major companies and The United States government including The White House and The Washington Post. She is a leader in PyLadies and sits on the Board of Directors for the Python Software Foundation. She is also the author of O’Reilly book, Data Wrangling with Python, and Mesa, a agent-based modeling library in Python. In her spare time, she is working on her Ph.D in Computational Social Science at George Mason University. She lives in Washington, DC with her husband and three dogs.

User-centered software projects

Open-sourced and inner-sourced projects often struggle to get engagement. Communities, such as Github and PyPi, are host to redundant projects and libraries. In the development space, how do you distinguish your project from others, get people excited to contribute to it, and ultimately create a successful open source project? The answer is to apply user-centered design techniques to the development of your project. User-centered design is usually applied to web applications and products on the front-end of a website, but these techniques can be applied to open source libraries. In user-centered open source projects, your users are those who type `pip install $your_library`. In this talk, Jackie will illustrate some user-centered techniques that have been used on her own project - Mesa (, along with other successful open source projects.

Jan Pospíšil

Sr. Technology Evangelist @ Microsoft, SW a solution Architect, Developer, IoT & DIY Geek, Father, Husband, technocrat, …
My passions are IoT gadgets, IoT solutions, Big Data, Machine Learning, Cognitive Services, New Technologies (even bleeding edge), e-commerce, robotics, automation, coding, …


Python + ESP8266 + Cloud = automate anything.
Introduction of Python friendly IoT HW + Cloud (Azure) services

Jan Škrle

Python freelancer and enthusiast, go player, occasional computer science student. Based in Prague. Python-addicted roughly for 3 years, still trying to make living out of it.

AsyncIO Connections: Coroutines (Streams) vs Callbacks (Protocols)

Standard Python library Asyncio offers both, coroutines and callbacks, APIs for setting up client or server connections. Let's briefly present both APIs with examples and go through ups and downs of each solution.

Jarka Schovancova

Computing Engineer in CERN IT with a Ph.D. in Subnuclear Physics. I am enthusiastic about integration of components of distributed computing systems, passionate about monitoring, commissioning and testing of the LHC computing infrastructure, and strive for efficient operation of available resources while contributing to the operations automation.

Python and LHC Computing

Have you ever wondered how Python helps the Large Hadron Collider physicists study the composition of matter on a sub-atomic scale? Interested in testing world-wide distributed computing infrastructure? Take part!

Jona Azizaj

I am Jona, a third-year student of Business Informatics at University of Tirana, Albania. I am a member of Open Labs Hackerspace where I am involved in many open source projects that we promote, such as GNU/Linux, LibreOffice, Mozilla, Wikipedia, OpenStreetMap etc. I am also a co-organiser of Open Source Conference Albania (OSCAL). I am also part of the Fedora Project and I am a Fedora Ambassador in Albania.
I have organized different events at my university regarding Python and worked on different Python programming projects like event analytics to understand the impact of events on the community.

How to build up a Python community and empower women

In 2012 not a lot of people were interested in Python in the relatively small city of Tirana, the capital of Albania. Even fewer girls were interested in Python. During our talk we will share the story of how we, a small but dedicated group of people, jump started the community in a small country like Albania and what other small cities and countries should avoid during their first steps in developing a Python community in similar conditions.
Most important we will share tips and tricks on how to keep the Python spirit alive for a long time after the first enthusiastic steps, with the goal that our shared experience will help other communities to make the first steps or grow even further. Also nowadays we are witnessing that the number of girls involved in technical fields, especially development, is really low and we are going to present what as the influence on low participation of girls and the steps we should take to fix it.

Josef Rousek

Polyglot web developer building meaningful and usable products. I love photography. Once I started to be interested in Machine Learning I decided to combine these two and make something useful out of it.

Instagram and text-based machine learning

Simple Machine Learning technique based on document-term matrix can work pretty well even for photos when you have at least some content. I will show you how I got from zero to a decent recommendation engine and learned some Jupyter tricks on the way.

Jozef Kepesi

CTO at, one of the fastest growing companies on this planet, aiming to become the nr. 1 in the travel industry.

Our journey from developers to real software engineers

Few years ago, we were a bunch of cowboys trying to create the fastest flight ticket search engine. We did a lot of mistakes... But we did it with passion. I will talk about how we knew how to avoid all the stupid issues, but why were we not able to do it at the same time.

Katharine Jarmul

Katharine Jarmul is a Pythonista based in Berlin, Germany focused on data analysis. She's been writing Python for 8 years, and has worked with many start ups and media organizations in her career. She's one of the founding members of PyLadies (in Los Angeles in 2011). She co-authored a book for O'Reilly on Data Wrangling with Python. She enjoys learning new things, cooking delicious food and drinking great wine.

Introduction to Data Wrangling with Python

Become a data wrangler with Python! This talk will introduce you to the core concepts of data analysis with Python. We’ll cover libraries that allow you to easily clean and set up your initial dataset, importing data from all different file types and standards. We’ll introduce some basic libraries to help with statistics and analysis and then cover how to document and explore your findings.

It’s assumed you have a working understanding of Python and its data types and structures, and that you’ve used and understand Python for basic scripting. It’s also assumed you haven’t done much in terms of data analysis, and you’d like to learn more. If this is you, welcome!

DAGs & Dask: How & When to Accelerate Your Data Analysis

This talk will introduce the audience to the Dask library for data analysis, focusing on when Dask is useful (and when you might be better off simply using SQL or Pandas). We will cover how to build and analyze directed acyclic graphs using Dask and how to easily set up a cluster running Dask for your data wrangling needs.

Kristi Progri

I have been involved in FLOSS communities since 2013. I finished my studies of International Affairs and Diplomacy.
I became a Mozilla Rep in late 2015. I have had the chance to co-organize Mozilla Weekend events in Berlin and Tirana, intensive 2 day events focused on onboarding new contributors at Mozilla.
Furthermore, I have been part of the organizer committee of Open Source Conference Albania aka OSCAL, since the very first edition in 2014. I am also a member of Womoz which is a programme for involving more girls in Floss communities.
I have co-organized Python events in our local hackerspace Open Labs, and have recently started working in Python programming projects like event analytics.

How to build up a Python community and empower women

In 2012 not a lot of people were interested in Python in the relatively small city of Tirana, the capital of Albania. Even fewer girls were interested in Python. During our talk we will share the story of how we, a small but dedicated group of people, jump started the community in a small country like Albania and what other small cities and countries should avoid during their first steps in developing a Python community in similar conditions.
Most important we will share tips and tricks on how to keep the Python spirit alive for a long time after the first enthusiastic steps, with the goal that our shared experience will help other communities to make the first steps or grow even further. Also nowadays we are witnessing that the number of girls involved in technical fields, especially development, is really low and we are going to present what as the influence on low participation of girls and the steps we should take to fix it.

Lea Polachek

Lea Polachek is the CTO of organization, she has ten years of experience in Image Processing and algorithm development and a Masters Degree in Physics from Weizmann Institute of Science. She codes is an organization in Israel aimed at promoting women in technology, the organization grew in three years to have over 10,000 members in 25 locations all around Israel including universities and hi-tech companies.

She codes - story of accelerated community growth

She codes; is the community of female software developers in Israel. This community started three years ago and has since grown to over the size of 10,000 members hosting more than a hundred events per month. What is behind the success and what are the key decisions that were made that helped the rapid growth.

Magdalena Kabatova

Magdalena lives in Písek and Prague.

She studied Landscape Engineering at CULS Prague (2004-10) and Geo-information Science at WUR Wageningen, Netherlands (2008-9).

She has worked at Cleerio (former Geosense) since 2011 and grew up with the company. She started as a GIS and Data Specialist, then she became a Product Development Manager, after which her bosses discovered her extreme talent of communicating with developers and later on became a Scrum Master while introducing Scrum to the dev team.

In 2015, terribly bored of management roles, she started to learn Python - with the help of colleagues and courses such as Django Girls workshop (11/2015) and PyLadies Prague (spring 2016).

Now a happy software tester, she uses Python for testing Cleerio web mapping application.

Testing of Web Applications Using Python

In the continuous integration development process, automatic testing is critical. The application must be delivered properly to customers and users. And with frequent releases, manual testing is exhausting.
Therefore developers need integration and system tests, aside from basic unit tests - to make sure their commits are integrated properly and did not break anything. No more: one hotfix creates two new bugs!

For beginners: I will give a brief introduction to software testing and its types and talk about how easy is to start with writing automatic tests in Python.

For advanced: I will present integration testing of Cleerio web mapping application (originally written in JavaScript and PHP) using Python together with Selenium project.

Marek Grac

The man who was hired as bash/perl/C developer and after years was forced to rewrite open-source project to Python.

Turn off the computer

Fence agents are drivers written in Python that help you to remove a misbehaving computer node from cluster or cloud. This project started in 2006 and it was written in bash/perl/C. And after 5000+ commits we have a Python/C project. What happened in the last ten years? And how maintainable is such project?

Miloň Krejča

Started with Python in 2004 as a move from wordy Java. Then mixing programming, administration, integration to get results within deadlines. Now freelancer using Numpy/Pandas/Cython to get things fast, messaging to get it distributed or bridge languages. Still Django helps with the stuff too.

Compute and optimize!

Time, it's function in life and computing and what might be possible to build in the near future. Lazy solutions to computation and beyond, how to get nearly maximum from your computer without too much work. Use of Numpy, Pandas, Cython, multiprocessing, deap, Ta-Lib libraries and genetic programming in a quest to solve some financial markets.

Miro Hrončok

Miro is a Fedora ambassador and packager, working at Red Hat Czech mostly focusing on 3D printing and the Python stack in Fedora. He also teaches at the Faculty of Information Technology - Czech Technical University in Prague, where he's mostly involved in the 3D printing lab. Current mission: Make Fedora better for Pythonistas.

If it Moves, Test it Anyway

So you have written a nice piece of code that does something on the Internetz: communicates with a web API, or gets a webpage and parses some important information from it.

Now you write tests and you want them to be part of the project, run on your CI etc., but:

* the API is secured by a secret token/password/cookie...
* the information on the webpage changes
* it's not even accessible from the wild web

So how do you test it? You can mock the server part (that's messy), you can spin off your own testing server (that's hard) or you can record the HTTP communication with betamax (that's super simple). I'll show you all the methods and their good, bad and ugly parts.

Nait Aul

Samouckým způsobem naučený Python programátor. Od září student prvního ročníku informatiky na Vysoké škole báňské v Ostravě.

Doksit - Generování dokumentace z kódu

V dnešní době je, dá se říci, zavedeným standardem psát dokumentaci pro Pythoní projekty v ReStructured Textu (ReST) s použitím balíčku Sphinx. Na obou nástrojích je ale vidět jejich zastaralost.

Místo ReSTu je daleko snažší používat Markdown a co se týče Sphinxu, tak psát pro něj rozšíření není zrovna procházka růžovým sadem. Jednodušší alternativou ke Sphinxu je MkDocs, jenže ten se zaměřuje jen na psanou prózu (mimo kódy) a chybí mu API generátor dokumentace. Tento problém by se dal vyřešit přes modul Pydoc, ale to není taky žádná sláva.

Můj projekt, doksit, spojuje tyto dva přístupy:
1. vytáhne dokumentační řetězce z kódu, sestaví z nich Markdown soubor a
2. pokud existují k tomu i psané prózy (tutoriály aj.), vytvoří uvnitř repozitáře na GitHubu triviální "readthedocs" portál (do budoucna integrace s MkDocs).

Na přednášce představím existujících knihovny a jejich problémy, ukážu, co vše zatím doksit umí, jak ho použít a kam bude směřovat jeho další vývoj, do kterého se můžeš zapojit i ty.

Pavel Grochal

Detail freak,
lazy programmer,
long-term Python lover.

Streamparse - introduction to real-time data processing with Python (and some Java)

This talk will be about getting started with Streamparse, which is the Python "connection" to Apache Storm, a real-time processing framework.

Besides the basic introduction, the talk will also include some practical examples and major gotchas what we've encountered while developing in streamparse.

Pavol Rusnak

Otherwise known as “Stick”, Pavol Rusnák is Co-Founder, Alchemist and Senior VP of SatoshiLabs. Pavol is deeply involved in the development of sophisticated software and hardware projects such as TREZOR, where he is the core developer and cryptographer. Pavol is a highly regarded security expert and privacy activist and has been invited to speak at the biggest technology oriented events such as Chaos Communication Congress, FOSDEM or LinuxTag.

Pavol graduated from Charles University in Prague, Faculty of Mathematics and Physics, majoring in Database Systems, with special emphasis on distributed systems. Along with his work, Pavol is Wizard for pebe/lab, where he works on hi-tech experimental, new media interactive installations. Pavol has also served as a board member of openSUSE Project and as a three-time mentor/administrator for the Google Summer of Code.


MicroPython je moderní implementace Pythonu pro mikrokontrolery a embedded systémy. Pojďme se spolu podívat, čím se liší od "velkého" Pythonu a co všechno se dá použitím MicroPythonu ovládat. Součastí přednášky budou praktické ukázky na různých zařízeních.

Petr Hodina

I use Python here and there to make things easier. Mostly to automate boring tasks like preparing some report or scraping data off some website. However I also like to run micropython on some STM32 or ESP8266.

Porting embedded projects

Have you ever worked on embedded project? Chances are that you had to use some proprietary IDE for development. Wouldn't it be better to use some open source IDE like Eclipse or QtCreator? What should I do when I'm working a project and can't start from the scratch?

In this presentation I'll show you how Python can help you with porting projects. I'll give examples of projects developed in IAR Embedded Workbench and Keil uVision. At the end we'll have CMake build file which can be imported to many IDEs.

Python modules like Objectify and Jinja will be a great help to us!

Petr Joachim

Wow. Much developer. So full-beard.
Did Codes

When my code is sick I rewrite it to be awesome instead.

Minimalist, father, developer.

Running Python in production

Exploring many ways of running Python in different production environments.

Starting from ordinary self-hosted old-school etc. scripts, through supervisor, ending with docker. All of this with great examples.

Richard Kellner

Since my early age I have been interested in computers, started playing games, then programmed simple ones in Pascal. I have tried several languages, but Python is my favorite. I am lucky that it also makes up most of my day-to-day job at Erigones. Apart from the language, I like the community around it, so I am trying to be an active member of the community and I am part of the organizational team of PyCon SK.

ChatOps, have you ever heard about it?

ChatOps is a term for a collaborative way of running DevOps, including operating aspects of systems and infrastructure through an online chat. It combines a powerful way to get things done with a more human way of working.

But it doesn’t happen overnight. In this talk I would like to explain various stages of adoption. I also want to inspire you to implement ChatOps into your workflow and to suggest ideas how to do that. I will show you why Python is the ideal language for building a ChatOps stack. It is quick and fun to build new chat commands and even a person who doesn’t know Python can easily start learning and see the results immediately.

Robert Kuska

I am here because of Jozo.

Feed your code to coala

So you already use linters for your codebase but it still feels like it's not enough. You want to check for more things, and better, use your own checkers but you want it to be as easy as possible! Meet, it feeds on your code and makes it better at the same time. With (almost*) no cost.

* CPU consumption not included

Slavek Kabrda

I'm from a small town in Bohemian-Moravian highlands, where "skiing" means "cross-country skiing" and where foxes wish you good night. I like good food, sometimes with good beer or wine. I now live in Southern Moravia, where "skiing" means "downhill skiing", which is honestly weird. My only current hobbies are calisthenics and building my house. Also, I do skiing (the real one).

I've been working for Red Hat for more than 5 years on all kinds of projects. Most notably, I'd maintained Python 2 and 3 in Fedora and Red Hat Enterprise Linux for several years. I also started the effort of moving Fedora to Python 3 as default, which is now taking off very nicely.

Don't use mock. Use flexmock!

Almost a year ago, I became the upstream maintainer of flexmock, a mocking library for Python that makes creating mocks, stubs and fakes super-easy and super-readable.

In this talk, I'll try to convince you that using flexmock is better than using Python's built-in mock. I'll demonstrate how you can utilize flexmock to do all kinds of useful stuff in your testsuite, like mocking the famous 'requests' library or creating mocks that you can read aloud as a sentence and understood quickly. I'll also mention how to use flexmock for some advanced mocking techniques like spying or mocking chained method calls.

Stanislav Kontár

I started my Python endeavours about 10 years ago. I have become a big Python fan and used it for everything ranging from simple throwaway scripts up to test generators for flight controls software. I like pragmatic and uncomplicated design as well as I fancy new technologies - provided that they work... mostly. I did quite a bit of GUI programming in Python on Windows platform for years and tried to continue when I moved to Linux world. Right now I spend most of my free time with my family, as my two young daughters are quickly becoming fans of Open Source and sharing (at least when it comes to MY chocolate).

Python GUI programming for command-line geeks (and others as well)

GUI programming in Python for beginners. We will discuss basic GUI building blocks and some traditional choices of GUI libraries along with their advantages, disadvantages, and portability. We will look at some code examples and discuss related topics ranging from basics, such as handling long running tasks, to more advanced, OpenGL integration and deploying.

Szymon Matejczyk

PhD student in network analysis and fan of... Scala. He still enjoys programming independently of language (but Perl). Active member of WarszawScala and OS contributor in various projects: nebulostore (Java), twitter/cassovary (Scala), palantir/typedjsonrpc (Python). Proud to be working @Growbots.

API first and forgotten

"API first" principle seems convincing. Anyone who tried implementing it realizes that often the problem is not to design or formally specify the API (with Swagger or other tool). The problem is to keep the specification, servers and clients consistent and easy to maintain for longer. I will talk about what practices you need to remember and which tools are worth to check.

The talk will start with the basics of microservices architecture. I will describe some mistakes we have made that turned our microservices architecture fragile and unmanageable.
I will show how we redesigned our API using Swagger and what principles you should have in mind when doing so. I will also cover technical problems we encountered:
* how to test that a service implements an API;
* how to avoid writing validation that is already specified in the swagger file;
* how to create clients and stub and who should maintain them.

As theory is not enough here, I will also show some tools that help, describe in detail connexion library and show how we used it to implement microservices integration tests @Growbots.

Thomas Levine

Thomas Levine ( is a dada artist interested in sleep.

Tom's super easy way to make basic user interfaces in Python

Horetu ( exposes Python functions as command-line interfaces, web interfaces, and configuration files. In addition to being a very practical tool, horetu is interesting because its implementation demonstrates the capabilities of function objects. Finally, horetu can construct powerful interfaces and detailed documentation from functions that were written with no intent of being used with horetu; it is, consequently, a clear demonstration of the merits of following conventions.

Tomáš Bedřich

Web developer (mainly responsive frontend), CTU student, good beer lover, geocacher. Perfectionist.


How do you handle filesystem paths? Strings and os.path.join()? Seriously? Come to learn something shiny for everyday use!

Tomáš Votruba

Tomáš is a lecturer and community builder. He loves people, educating, and old-school live face-to-face chats.

Start a community, get mental

"If there is no PHP group in your town, you are the leader of it" is easy to say.

How to start a community? What are the benefits of leading a community? Where to go and what needs to be done to not burn out and keep it going?

I can tell you all this based on my experience with starting the Symfony community in the Czech Republic. From 0 to 300 members in 1 year, with over 30 meetups in 7 cities. With the right people and approach, this is more than easy. Try me :)

Valdemar Švábenský

Mathematician, guitarist, and a young teacher; studying IT security at FI MU in Brno and starting my 3rd year of teaching Python there. I've been working with computers since the age of 4 and won the Dean's award for my Bachelor's thesis: a software emulating human solutions of certain math problems. I also create math educational videos. In my free time, I like travelling, boxing, and getting better at everything I do.

From (Python) zero to hero: How beginner university students learn programming

Are you curious about how to teach programming effectively? Are you a Python fan interested in everything Python-related? Or would you simply like to see a non-standard presentation? If you answered yes at least once, then this funny and inspiring talk is right for you! In less than 20 minutes, you'll hear from a young student-teacher about:
- What coding skills are taught to beginners and how
- Experience with teaching
- A few surprises
No technical knowledge is needed (some code samples will be shown, but they're not essential). Discussion at the end is welcome. Looking forward to seeing you!

Veronika Gabrielová

Původně Veronika vystudovala zdravotní školu a rýsovalo se životní poslání sloužit lidu. Poté ale zjistila, že programování je mnohem větší zábava a moc lidí při tom obvykle neumírá, a tak otočila o 180°, směrem do IT. S pythonisty se poprvé střetla v roce 2015 na DjangoGirls a dál se učila hadí jazyk na intenzivním kurzu PyLadies v Praze. Aktuálně pracuje v MSD IT Prague, kde v cloudovém teamu krotí AWSko za pomoci Pythonu. Pomáhá organizovat akce v rámci Pyvce, především PyLadies v Praze. Jejím novým životním posláním se stalo šířit lásku k Pythonu a pomáhat dalším lidem, nováčkům, se jej také učit a začlenit se do jeho komunity.

Jak na chov Pythonů, aby nám nevyhynuli

Pohovořím o aktuálním tématu a přiblížím pohled začátečnice a organizátorky kurzů pro jiné začátečníky. Každý jednou začínal a možnosti pomoci začít i dalším se díky PyLadies a velmi posunuly. Předvedu, jak lze jednoduchou aplikací již vytvořených materiálů a bohatého know-how organizátorů různých měst učit Python zase další lidi. Jaký přínos z toho koučové mají a co to přináší celé komunitě a hlavně začátečníkům. Nastíním základní know-how v několika bodech a znázorním, proč není vůbec životně důležité nejprve 3 roky programovat Fibonacciho a faktorial!, ale je lepší zajistit dostatek reálných projektů. Ukážu, co jsem zvládla za jeden rok (jakožto bývalá PyLady, která si procesem prošla a nyní programuje v MSD IT), kam obvykle směřují mé otázky a co mě jako začátečníka naopak vůbec neláká a neposouvá v práci dál.

Věroš Kaplan

Věroš was a Python developer, but after some time he found himself to be a sysadmin.

He is constantly seeking for DevOps enlightenment - whatever it means.

Django app migration to Docker - lessons learnt

I was told Docker is the new shiny way of deploying and upgrading applications so I tried to migrate some standalone apps to Docker.

What issues did I run into?

Viliam Križan

My first encounter with Python was when I opened up scripts that extended a game's behaviour. I started looking at tutorials that explained the basics of Python. It amazed me how elegant and easy-to-read the code was. After several years, I used my Python knowledge at the university to write my thesis on Natural Language Processing. Today, I develop web applications and backends in Python, combined with JavaScript and AngularJS.

Peewee: A Simple Yet Powerful ORM

Peewee is a small, expressive ORM, written as a single Python module. In my talk, I will present usage examples including advanced queries, transactions, and backend switching. We will look at differences between Peewee and SQLAlchemy, see how Peewee takes advantage of operators to build SELECT queries, learn how to integrate Peewee into a Flask-based application, and cover the most common difficulties when trying to extend Peewee.

Vilibald Wanča

He started with Pascal and x86 assembler and went up through the levels of abstraction to Lisp within more than 15+ years. Interested in bridging the gap between the low-level to the high-level between the server and client, between human and computer. He has worked on web apps since late 1990’s using C/C++ and Python, went to high performance world of games and finance to come back to web community again while always keeping Python close at hand.

Because Web API Testing Should Be Easy

Web APIs are often called REST APIs, which recently became a part of the everyday life of many Python developers. Sure, it can be a blast to build an API with frameworks like Django or Flask, but writing tests for it can be a tedious drag: asserting every single HTTP code, set of headers, JSON responses, error states… you know the drill. Despite all that you do, you still need to assure your API clients won’t be exposed to any unexpected surprises. At Apiary, we've developed an Open Source testing framework called Dredd, which has baked in first-class Python support. It does all the heavy lifting and boring stuff
for you while allowing you to alter the test cases with arbitrary Python code.

Let Judge Dredd do your API justice.

Vita Smid

I travel the world, write software, and ponder on philosophy. I like to solve hard problems, preferably involving mathematics, finance, and lots of data. Python has been my language of choice for many years and I'm very much into the latest developments like asyncio and type hints. Oh, and I love Scotch whisky.

Algorithmic trading with asyncio

My team and I have been building a Python 3 stock trading platform for the past 2.5 years. We are powering a trading fund that runs a range of manual and automated strategies. This is a story of what we have learned about Asyncio, profiling, optimization, debugging, and operations... in a fast-moving environment where bugs actually cost money.

Wojtek Erbetowski

Wojtek leads people to achieve great goals. He contributes to the tech community, influences its direction, and engages talented people. He has a hands-on approach, which means organizing, volunteering and speaking at quite a few events. On daily basis, he works as a CTO at Growbots - one of the fastest growing Polish startups. He engages engineers, encourages best practices, and builds an ecosystem that supports effective, collaborative work. His favorite weapons are Kanban, Lean, XP, Python, Node.js, JVM, TDD, and REST APIs.

Agile used to be really cool

Agile software development used to be really cool back in the 00's. The vision of old school waterfall projects, with months of work before integrating and releasing software to users gives me the creeps. But let's return to the present. I can hardly even recall working in a non-agile project. I feel that most of the Agile manifesto principles are in my DNA more than a thing to follow. If you want to keep growing in this industry you might want to start building on top of that. This presentation contains my experience about aligning people, sharing a direction, and how servant leadership works.