Looking for the latest PyCon CZ website?

Sprints & Workshops

Breakfast 8:00

Good morning, everyone! Let's start with something pleasant. Join us for delicious breakfast before the coding madness begins.


There will be six workshops in 3 rooms. One block of workshops before lunch and one after it.

Please bring a laptop with a working Python interpreter and pip. Some workshops have additional requirements.

Hands on python-cryptography by Tomáš Babej

10:00 – 13:00

Have you ever wanted to secure your python application with some cryptography, but got confused by APIs which were too low level? Python-cryptography is a new emerging library which strives to provide "crypto for humans" in Python. In this workshop, we will explore how to use it to secure our applications in a reliable manner. No substantial cryptography knowledge required.

Web scraping by Tomáš Bedřich

10:00 – 13:00

We will try out the process of website scraping including HTML and AJAX inspection; usage of requests and BeautifulSoup modules. The workshop will be divided into theoretical section and 4 examples, mainly focused on begginers. The only required knowledge is Python and HTML.

Python & OpenStack - easy way to create a remote controller for OpenStack by Martin Korbel

10:00 – 13:00

If you are thinking about integration of OpenStack in your application and you afraid that it is so difficult. Don't worry, it is very easy when we can use the novaclient module. We will show how can you upload your public ssh key, create a new instance, join it to a security group, make a snapshot, and do many other tasks. We will present all these things in a simple example, where we will create our own “remote controller of OpenStack”.


  • A Linux-based operating system is preferred.

GIS in Python by Jachym Cepicky

14:00 – 17:00

Python is one of the most popular programming languages, with strong support for today's GIS technologies. This workshop will give you overview of some basic libraries and their Python bindings (GDAL, Proj4), more abstract and easier to be used libraries (Rasterio, Fiona, Shapely), and show you how to access GeoServer and Mapserver from Python scripts. OGC Standards and how to deal with them will be demonstrated using OWSLib.

Of course, the topic is so wide, that at the end nobody is expected to master the mentioned (or not mentioned) technologies. This workshop is meant as an introduction to the world of GeoPython, and a brief overview.


  • USB stick with the OSGeo Live system

  • Alternatively, have recent versions of these libraries installed on your computer:

    • fiona
    • shapely
    • GDAL
    • rasterio
    • owslib
    • mapscript
    • pyproj
    • ipython
    • notebook

Event-Sourced Domain Models in Python by Robert Smallshire

14:00 – 17:00

In first part of this workshop we explore how to implement rich domain models using plain-old Python objects which are completely independent of any particular persistence technology such as an object-relational mapper. Domain models often embody the core value of software systems, so implementing models independently of - often ephemeral - technology choices is an important strategy for long-lived, high-value systems.

In the second part of this workshop we implement an event-sourced architecture for persistence of our domain model, whereby all changes applied to the model are recorded as events in a simple, append-only event-store. From this event store we can reconstitute the model state as it was at any historical time, something that is difficult – if not impossible – to do with most object-relational solutions. Furthermore, we can project the event stream into other representations to support queries which are not conveniently supported by the entities in our model, or which roll-up historical data. Among many other benefits, such projected read-models gives very high scalability on the read-side

This workshop is aimed at Python developers who want to step beyond the limits of canned framework-based solutions such as Django models, or toolkits such as SQLAlchemy, (which are ultimately about managing the horrors of shared-mutable state). Event-sourced domain models facilitate allow us to combine the best aspects of object-oriented design with robust and simple persistence inspired by functional-programming practice.


Introduction to Deep Learning for Natural Language Processing by Nischal HP

14:00 – 17:00

In fields like computer vision, speech recognition and natural language processing, deep learning has produced state-of-art results. And they are showing lot of promise in other fields too. This workshop will provide an introduction to deep learning for natural language processing (NLP). It will cover some of the common deep learning architectures, describe advantages and concerns, and provide some hands-on experience.


  1. What is deep learning?
  2. Motivation: Some use cases where it has produced state-of-art results for NLP
  3. Introduction to neural networks; backpropagation algorithm
  4. Supervised learning: Text classification using multi-layer perceptron, recurrent neural networks
  5. Text generation using recurrent neural networks
  6. Impact of GPUs


Sprints 8:30 – 18:00

Along workshops listed above, there's going to be an ongoing hacking & coding atmosphere. If you don't have your project you want to work on with other developers, you can join some of our pre-announced sprints:

Python 3 Porting

Make your project Python 3 compatible or help a project that you like! Experienced porters can help you on your way, with guidance through porting strategies, best practices, libraries and automation. They can even give you advice how to convince the management/upstream that supporting Python 3 is a good idea.

The Docs Sprint

The Doc-tors will focus mainly on Django, DjangoGirls, or Python documentation, but any open-source project is fair game. Come sprint with us – you can make your first open-source contribution, improve the docs of your successful library, or anything in between!

Your Sprint Here

Additional sprints will be announced after lightning talks on Saturday.

Closing 18:00

It was a looong weekend and it's time to go home.
The first PyCon CZ is over. See you next year!

The venue

Spaces for sprints and workshops are provided by Impact Hub Brno.

Impact Hub Brno

49°13'34.5"N 16°35'49.0"E

Cyrilská 7

602 00 Brno

Czech Republic