List of videos

Using Scikit-Learn's interface for turning Spaghetti Data Science into Maintainable Software

Holger Peters - Using Scikit-Learn's interface for turning Spaghetti Data Science into Maintainable Software [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] Finding a good structure for number-crunching code can be a problem, this especially applies to routines preceding the core algorithms: transformations such as data processing and cleanup, as well as feature construction. With such code, the programmer faces the problem, that their code easily turns into a sequence of highly interdependent operations, which are hard to separate. It can be challenging to test, maintain and reuse such "Data Science Spaghetti code". Scikit-Learn offers a simple yet powerful interface for data science algorithms: the estimator and composite classes (called meta- estimators). By example, I show how clever usage of meta-estimators can encapsulate elaborate machine learning models into a maintainable tree of objects that is both handy to use and simple to test. Looking at examples, I will show how this approach simplifies model development, testing and validation and how this brings together best practices from software engineering as well as data science. _Knowledge of Scikit-Learn is handy but not necessary to follow this talk._

Watch
Francesc Alted - New Trends In Storing Large Data Silos With Python

Francesc Alted - New Trends In Storing Large Data Silos With Python [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] My talk is meant to provide an overview of our current set of tools for storing data and how we arrived to these. Then, in the light of the current bottlenecks, and how hardware and software are evolving, provide a brief overview of the emerging technologies that will be important for handling Big Data within Python. Although I expect my talk to be a bit prospective, I won't certainly be trying to predict the future, but rather showing a glimpse on what I expect we would be doing in the next couple of years for properly leveraging modern architectures (bar unexpected revolutions ;). As an example of library adapting to recent trends in hardware, I will be showing bcolz (https://github.com/Blosc/bcolz), which implements a couple of data containers (and specially a chunked, columnar 'ctable') meant for storing large datasets efficiently.

Watch
Anton Caceres - Better asynchronous code with Tornado and Python 3

Anton Caceres - Better asynchronous code with Tornado and Python 3 [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] The asyncio module introduced in Python 3.4 is a game-changer for I/O management and event-driven network programming in Python. Aiming to be a lower-level implementation of an asynchronous event loop, it intends that higher level frameworks like Tornado, Twisted or Gevent will build on top of it, taking advantage of the shared interface for writing concurrent event-driven code across different Python frameworks. This talk connects theory with practice, presenting how Tornado can run in the asyncio event loop and take advantage of the subgenerator delegation syntax (yield from) to provide a high degree of concurrency while keeping the simplicity of sequential code. It explains the concept of coroutines, futures and ioloop, exposing Python 3 code for sample web tasks. The talk completes with a basic demo of running this code on Tornado, comparing its syntax and performance with popular asynchronous frameworks from other languages.

Watch
Christian Trebing - Building a multi-purpose platform for bulk data using sqlalchemy

Christian Trebing - Building a multi-purpose platform for bulk data using sqlalchemy [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] At Blue Yonder, we've built a platform that can accept and process bulk amounts of data for multiple business domains (e.g. handling retail store location and sales data) using SQLAlchemy as a database abstraction layer. We wanted to use as much of SQLAlchemy as possible, but we quickly found that the ORM (Object Relational Mapper) is not suitable for handling large amounts of data at once. At the same time, we did not want each team of developers working on individual business domains to have to handcraft their own SQL statements. To solve this problem, we built an application configuration that closely resembles an SQLAlchemy model, but also contains application-specific logic settings. In this talk I will demonstrate: - an application architecture for multiple business domains - the structure of the domain configuration utilized in the generation of the SQLAlchemy model, SQLAlchemy core statements, and other application functionality - how the domain configuration is used throughout the application (consuming and parsing incoming data, storing it in a database and ensuring data quality)

Watch
Xavier Fernandez - PIP Internals

Xavier Fernandez - PIP Internals [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] pip is certainly one of the most used package in the Python ecosystem, but what actually happens when you pip install foo ? The talk will mainly focus on two aspects: - how does it perform an installation and resolve dependencies ? - how does pip find installation candidates and select the 'best' ?

Watch
Núria Pujol/Ignasi Fosch - What dojos are and how we run them at pyBCN

Núria Pujol/Ignasi Fosch - What dojos are and how we run them at pyBCN [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] Coding dojos are a very good way to share coding knowledge among members in a community, and, at the same time, introduce people into the language and community. Sometimes, though, the typical approach to set coding dojos may prevent expert coders to join the session. This is the story of the pyBCN's dojos, so far.

Watch
Dmitry Trofimov - Can Rust make Python shine?

Dmitry Trofimov - Can Rust make Python shine? [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] Rust is a new programming language from Mozilla. It is fast, safe and beautiful. It is also a very good option when needing performance. In this talk we're going to look at Rust and see what it offers and how we can leverage it as Python developers. And we'll do it with a case study: a statistical profiler for Python.

Watch
Stephan Erb - Release Management with Devpi

Stephan Erb - Release Management with Devpi [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] Devpi is an open source PyPi-compatible package server. Its versatile features make it the Swiss Army knife of Python package and release management, enabling anyone to shape a custom release workflow. In this talk, I will detail how we use our company-wide Devpi installation in order to share a large set of packages across teams, deploy binary packages to our application servers, and mix and mash open source packages with our own. With Devpi being a critical part of our release and deployment infrastructure, I will also cover our high- availability setup and how we perform major version updates with minimal downtime. While this talk is not meant to be an exhaustive introduction of all available Devpi features, it can offer insights on how Devpi can be used at a larger scale.

Watch
Anders Lehmann - How to GIS with Python

Anders Lehmann - How to GIS with Python [EuroPython 2015] [24 July 2015] [Bilbao, Euskadi, Spain] In this talk I will present some tools for working with Geographic Information Systems in Python. Geographic information Systems are widely used for managing geographic (map) data. As an example I will present how to use Open Street Map data (http://openstreetmap.org/), in routing, traffic planning and estimation of pollution emission. For the purpose of the project EcoSense (http://ecosense.au.dk), GPS data from users smartphones are mapped to OSM roads. The map matching algorithm is written in Python and uses data from the database PostgreSQL, with the PostGIS extension. One of the goals of the EcoSense project is to devise methods to improve the estimation of air quality in urban environments.

Watch