EuroPython 2017

EuroPython 2017 Trainings

One of the great things at EuroPython is that we can offer trainings for free as part of the conference.
You don't have to pay extra to attend training days as with other conferences.

The trainings will take place from Monday, 10th to Friday 14th.
In total there will be 18 trainings, each training is 3 hours long.



pyData Twitter.png Agile Data Analytics with Pandas

Alexander Hendorf

Pandas is the _Swiss-Multipurpose Knife_ for Data Analysis in Python. With Pandas dealing with data-analysis is easy and simple but there are some things you need to get your head around first as Data-Frames and Data-Series. 
After this tutorial you will be able to work with Pandas and make simple data analytics incl. visualisations.
Pandas is not only useful in data science it's also a great tool for creating e.g. sales reports or any other data-driven report required in business.
The workshop will be provided as Jupyter notebook for the attendees to follow along.

full description here


Optimizing Python code with Cython

Andrew Svetlov 

Many people heard about speeding up CPython code by writing C Extensions but almost nobody did it. Writing bare C code is very hard and error prone, that's why much easier and safer Cython was born. In the training we'll learn cythonization procedure step by step from very beginning down to real world use cases.

full description here


pyData Twitter.png  Machine Learning as a Service  [PyData]

Amit Kapoor

This workshop addresses one of the most common pain points in organizations : last-mile delivery of data science applications. The attendees would learn how to build a seamless end-to-end data driven application - data ingestion, exploration, machine learning, RESTful API and dashboard - to solve a business prediction problem and present it to their clients. 

full description here



Launch Your Application Into the Cloud

Daniele Procida

When you offer your open source application to the world, installation, integration, and getting-up-and-running difficulties often prevent the world from taking it! In this session we’ll package your reusable app for one-click deployment on the Divio Cloud, making it instantly available and useful.

full description here


A Hands-On Approach to Tuning Python Applications for Performance

David Liu

With the increase in usage of Python over the past few years, developers have found ways to strain the Python language in the applications they write, and getting the most out the language has proved to be a difficult task. This tutorial will explain the latest techniques, tips & tricks to tune Python applications. Attendees will get hands-on experience by tuning the Black Scholes and Collaborative Filtering examples, along with a real-world example from the Barcelona Supercomputing Center.

full description here


Asynchronous Programming With Python

Francesco Pierfederici

This tutorial looks at asynchronous programming with Python and how it has evolved in the last 10+ years. It starts off by exploring coroutines, the yield statement, some third-party libraries like Tornado and Twisted and ends with asyncio and curio.

full description here


Native Python iOS apps

Dima Tisnek

Feeling outflanked by ES6? Get back at them by writing mobile apps in Python. The objective is to write an app in Python using native iOS UI.
Training will cover the Python / Objective-C bridge, how to create and use objc objects from Python, how to implement objc protocol as Python classes, as well as working around limitations of having 2 independent garbage collectors (objc and py runtimes).

Native Python iOS apps



pyData Twitter.png  Data Unit Testing with Python [PyData]

Katharine Jarmul

Data Unit Tests is applying unit testing ideas and principles to data science and data engineering teams. Often, data validation is left as an application for the data science team, who is already working on building custom solutions and reports and must take more time to validate that the data received is within normal ranges or conditions. This workshop helps approach how to apply testing to data pipelines and reports.

full description here



Best Practices for Debugging

Kristian Rother

Debugging is a daily activity of any programmer. Frequently, it is assumed that programmers can debug. However, often enough code simply does not work. This tutorial will introducing concepts for debugging systematically. Participants will debug example programs with different kinds of bugs and with increasing difficulty. The training will be interactive, so that you will improve your debugging skills in an entertaining way.

full description here


TDD in Python with pytest and mock

In this tutorial I will start a simple Python project from scratch and will develop it together with the attendees following a strict TDD methodology. The testing framework in use will be pytest, and during the training concepts like coverage, flake8 and mocks (with the official unittest.mock) will be introduced.

TDD in Python with pytest and mock


[CANCELED] Modern optimization methods in Python

Michael McKerns

Linear and quadratic optimizers and penalties are a mainstay of data science, and are popular due to their ability to handle large numbers of dimensions quickly. However, the use of linear and/or quadratic tools can seriously limit the amount and quality of information that can be applied in the inverse problem. This tutorial will introduce some tools within the 'mystic' framework for efficiently solving high-dimensional non-convex optimization problems with nonlinear constraints.

full description here


Building Microservices with Python and Flask

Miguel Grinberg

Microservices are receiving the buzzword treatment these days, so for a developer interested in learning this paradigm, it is sometimes hard to separate substance from fluff. In this tutorial, Miguel Grinberg starts with an introduction to this architecture, including what's great and not so great about it, and then teaches you how a traditional monolithic application written in Flask can be refactored into a modern distributed system based on microservices. 

full description here



Faster Python Programs - Measure, don’t Guess

Mike Müller

Optimization can often help to make Python programs faster or use less memory.
Developing a strategy, establishing solid measuring and visualization techniques
as well as knowing about algorithmic basics and datastructures are the foundation
for a successful optimization. The tutorial will cover these topics.
Examples will give you a hands-on experience on how to approach efficiently.

full description here



Debugging for the Masses…Visually

Paul Everitt

Developers pick up Python quickly, but when they run into problems, many debug with print statements. Whether it's the concept of the debugger, or the interface of pdb, debugging is a chasm which not all cross.

This tutorial aims to bring Python debugging to the masses:
- Visual debugging in a popular Python IDE
- Live building of an arcade 2d game with hands-on section
- A fun, fast-paced presentation style
- Hands-on with can't-fail supporting material

full description here


Django & Celery - frequently used patterns

Radoslav Georgiev

In this training we will explore different patterns that we often have to use in our web applications when dealing with async work .In the Python and Django world, Celery is the go-to solution if we want to have workers, doing heavy lifting off the http process. We will learn the basic Celery API and explore some frequently used patterns.

full description here



Ansible 2 Done Right 

Roberto Polli

Ansible is the ultimate python tool for infrastructure and configuration management.
The students will learn - thru various examples presented in ipython notebook - how to use Ansible: from the simplest usage to real-life snippets, including communicating with bastion hosts, encrypting passwords and communicating with public clouds like openstack.

full description here


A Thorough Introduction to Containers and Kubernetes

Ruben Orduz

Containers have more or less taken over the world of application, web APIs, mobile endpoints and other forms of at-scale deployment. But containers by themselves are only slightly better than VMs in terms of management and be able to be deployed and managed at large scale. This is the root motivation that brought Kubernetes along. In this class you will learn both the (brief) history, theory  and hands-on practice of two of the most important technologies today: Containers and Kubernetes.

full description here