List of videos

Alexys Jacob - Designing a scalable and distributed application
Alexys Jacob - Designing a scalable and distributed application [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] One of the key aspect to keep in mind when developing a scalable application is its faculty to grow easily. But while we're used to take advantage of scalable backend technologies such as mongodb or couchbase, **scaling automatically our own application** core is usually another story. In this talk I will **explain and showcase** a distributed web application design based on **consul** and **uWSGI** and its consul plugin. This design will cover the key components of a distributed and scalable application: - **Automatic service registration and discovery** will allow your application to grow itself automatically. - **Health checking and service unregistration** will allow your application to be fault tolerant, highly available and to shrink itself automatically. - A **distributed Key/Value storage** will allow you to (re)configure your distributed application nodes at once. - **Multi-Datacenter awareness** will allow your application to scale around the world easily. [Slides of this talk are available here][1] ! [1]: https://docs.google.com/presentation/d/1bZ30UculKOM4IQ4ic5X2fLpz1Fe1QQPVqJLtshIO0pg/edit?usp=sharing
Watch
Jesús Espino - Playing with CPython Objects Internals
Jesús Espino - Playing with CPython Objects Internals [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] I will explain how CPython objects are built, from simple objects like int or None to complex ones like dict. To make it funnier, I will play to change instance data directly using ctypes and do "really bad things" like truncating tuples.
Watch
Ramon Navarro Bosch - Plone 5 and how to use machine learning with it.
Ramon Navarro Bosch - Plone 5 and how to use machine learning with it. [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] Plone is a Document Management System and Content Management System that has been in the Python scope for more than 10 years. Plone 5’s features allow us to manage content, define various kinds of content and provide a nice useful UI to work on semantic web technologies. In this talk we are going to explain our approach for using Plone with the Python machine learning toolkit sklearn (http ://scikit-learn.org/stable/) to enable clusterization and classification of content using a scalable content management system. We will also add some sophisticated front-end gloss using the new functionalities on frontend development added on Plone 5 and some real use cases of CMS/DMS with machine learning using sklean and solr.
Watch
Carles Bruguera - MAX: Realtime messaging and activity stream engine
Carles Bruguera - MAX: Realtime messaging and activity stream engine [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] What if I told you that we’ve built an open source “WhatsApp”-like RESTful API on the top of Pyramid? We've developed MAX: a real-time messaging service and activity stream that has become the key feature for a social intranet at the BarcelonaTech University We will show how we designed and built MAX with performance in mind using state of the art Python technologies like Gevent, WSGI, and multi-threaded queue processing. We will also show you how we've managed to design a simple architecture guaranteeing both high scalability and performance, achieving connecting ratios over 30.000 students, teachers, and university staff. The API is secured using oAuth 2.0 resource owner password credentials flow powered by our own oAuth server implementation (Osiris) also Pyramid-based. We are using MongoDB as general storage backend and RabbitMQ over websockets to support realtime and messaging.
Watch
Lluís Esquerda - CityBikes: bike sharing networks around the world
Lluís Esquerda - CityBikes: bike sharing networks around the world [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] CityBikes [1] started on 2010 as a FOSS alternative endpoint (and Android client) to gather information for Barcelona's Bicing bike sharing service. Later evolved as an open API [2] providing bike sharing data of any (mostly) service worldwide. Fast forward today and after some C&D letters, there's support for more than 200 cities, more than 170M historical entries have been gathered for analysis (in approx. a year) and the CityBikes API is the main source for open bike share data worldwide. This talk will tour about how we got there with the help of python and the community [3]. PS: We have a realtime map, it is awesome [4]. [1]: http://citybik.es [2]: http://api.citybik.es [3]: http://github.com/eskerda/pybikes [4]: http://upcoming.citybik.es
Watch
Mike Müller - Functional Python with Mochi
Mike Müller - Functional Python with Mochi [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] [Slides][1] While Python supports procedural, object-oriented, and functional programming, its functional features are not fully developed. Mochi is a Python-like functional language that compiles to Python 3 and PyPy 3 bytecode. It can use Python libraries and can be used from Python. Mochi adds functional features such as tail recursion optimization, no re-assignments in function definitions, persistent data structures, pattern matching, algebraic data types, a pipeline operator, better anonymous functions, Erlang-style actors, Lisp-style macros as well as many useful builtin functions. This talk presents what Mochi is, how it works, and what you can do with it. Functional programming can help to solve certain kind of problems elegantly. Done right, functional programs can be easily tested and provide more confidence that you program is really doing what you want. Mochi could be another tool in your toolbox. Functional programming can expand your horizon and can be a lot of fun. Mochi offers easy access to this new world because you can leverage your existing Python knowledge and libraries whenever needed. [Slides][1] [1]: http://www.python-academy.com/talks/europython2015/Functional%20Python%20with%20Mochi.slides.html#/
Watch
Antonio Cuni - Python and PyPy performance (not) for dummies
Antonio Cuni - Python and PyPy performance (not) for dummies [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] In this talk we would like to have a short introduction on how Python programs are compiled and executed, with a special attention towards just in time compilation done by PyPy. PyPy is the most advanced Python interpreter around and while it should generally just speed up your programs there is a wide range of performance that you can get out of PyPy, ranging from slightly faster than CPython to C speeds, depending on how you write your programs. We will split the talk in two parts. In the first part we will explain how things work and what can and what cannot be optimized as well as describe the basic heuristics of JIT compiler and optimizer. In the next part we will do a survey of existing tools for looking at performance of Python programs with specific focus on PyPy. As a result of this talk, an audience member should be better equipped with tools how to write new software and improve existing software with performance in mind. The talk will be given by Antonio Cuni and Maciej Fijalkowski, both long time PyPy core developers and expert in the area of Python performance.
Watch
Dale - Data-visualisation with Python and Javascript: crafting a data-viz toolchain for the web
Kyran Dale - Data-visualisation with Python and Javascript: crafting a data-viz toolchain for the web [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] To accompany an upcoming O'Reilly book 'Data-visualisation with Python and Javascript: crafting a dataviz toolchain for the web' (see [here][1]) this talk aims to sketch out the toolchain by transforming some dry Wikipedia data (Nobel prize-winners) into a far more engaging and insightful web-visualisation. This transformative cycle uses Python big-hitters such as Scrapy, Pandas and Flask, the latter delivering data to Javascript's D3. While Python is fast becoming the goto language for data- processing/science, the visual fruits of that labour hit the wall of the web, where there is only one first-class language, Javascript. To develop a data-viz toolchain for the modern world, where web- presentation is increasingly mandated, making Python and Javascript play nicely is fundamental. This talk aims to show that the perceived wall between the two languages is actually a thin, permeable membrane and that, with a bare minimum of web-dev, one can get on with programming seamlessly in both. [1]: http://kyrandale.com/blog/data-visualization-python-javascript/
Watch
Christine Doig - Scale your data, not your process: Welcome to the Blaze ecosystem
Christine Doig - Scale your data, not your process: Welcome to the Blaze ecosystem [EuroPython 2015] [21 July 2015] [Bilbao, Euskadi, Spain] NumPy and Pandas have revolutionized data processing and munging in the Python ecosystem. As data and systems grow more complex, moving and querying becomes more difficult. Python already has excellent tools for in-memory datasets, but we inevitably want to scale this processing and take advantage of additional hardware. This is where Blaze comes in handy by providing a uniform interface to a variety of technologies and abstractions for migrating and analyzing data. Supported backends include databases like Postgres or MongoDB, disk storage systems like PyTables, BColz, and HDF5, or distributed systems like Hadoop and Spark. This talk will introduce the Blaze ecosystem, which includes: - Blaze (data querying): [http://blaze.pydata.org/en/latest/][1] - Odo (data migration): [http://odo.readthedocs.org/en/latest/][2] - Dask (task scheduler): [http://dask.pydata.org/en/latest/][3] - DyND (dynamic, multidimensional arrays): [https://github.com/libdynd /dynd-python][4] - Datashape (data description): [http://datashape.pydata.org/][5] Attendees will get the most out of this talk if they are familiar with NumPy and Pandas, have intermediate Python programming skills, and/or experience with large datasets. [1]: http://blaze.pydata.org/en/latest/ [2]: http://odo.readthedocs.org/en/latest/ [3]: http://dask.pydata.org/en/latest/ [4]: https://github.com/libdynd/dynd-python [5]: http://datashape.pydata.org/
Watch