List of videos

Giuseppe Cammarota - Activity Map from space: supporting mine clearance with Python
Giuseppe Cammarota - Activity Map from space: supporting mine clearance with Python [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] Removing UneXploded Ordnance (UXO) from minefields at the end of a conflict is a very time-consuming and expensive operation. Advanced satellite image processing can detect changes and activities on the ground and represent them on a map that can be used by operators to classify more dangerous zones and safer areas, potentially reducing the time spent on field surveys. We exploit space-borne radar Earth images together with thematic data for mapping activities on the ground using numpy, scipy and gdal. The Activity Map generation process to be shown will be implemented using IPython Notebook.
Watch
Naomi Ceder - Antipatterns for Diversity
Naomi Ceder - Antipatterns for Diversity [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] **Stop doing the same thing but expecting different results** As developers we put considerable effort into optimisation. We are always tinkering, trying to make things better, and striving to remove antipatterns from our code and our development processes. Yet for some reason we have not been as good at applying this spirit of optimisation to the problem of increasing diversity, even though most people these days agree that, like good tests, agile methodologies, and virtual environments, diversity is a "good thing". My position is that just as there is no single easy way to write good code there is no single easy way to increasing diversity. There are, however, several things that companies and organisations do which actually work against diversity. This talk will explore these antipatterns for diversity, including uncritical belief in meritocracy, lack of understanding of the realities of marginalisation, null processes, misunderstanding of "culture fit", and an unwillingness to change, as well as some ways that teams, companies, and organisations might work to combat them.
Watch
Georges Dubus - Through the lens of Haskell: exploring new ideas for library design
Georges Dubus - Through the lens of Haskell: exploring new ideas for library design [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] Haskell is very different from Python, and provide different tools to library and framework designers. As a result, its ecosystem is filled with libraries and frameworks that solve the same problems we try to solve in our favorite programming languages, but with a very different approach. This talk is an exploration of the Haskell ecosystem, from the point of view of a Python developer. We will review various popular Haskell libraries and frameworks, focusing on the library design. The goal is to provide the audience a sneak peak of some different ways to tackle problems, and hopefully to inspire library authors to explore some design space that we don't usually explore in Python. This talk should be interesting to any intermediate Python programmer who is curious about other ways to solve problems. No Haskell knowledge is required from the audience.
Watch
Nicholas Tollervey - Lessons learned with asyncio ("Look ma, I wrote a distributed hash table!")
Nicholas Tollervey - Lessons learned with asyncio ("Look ma, I wrote a distributed hash table!") [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] This talk introduces the asyncio module. I'll cover what it's for, how it works and describe how I used it to write a real-world networked application (a distributed hash table). We'll explore the event loop, coroutines, futures and networking with examples from my code. This won't be an exhaustive exposition. Rather, attendees will grasp enough of asyncio to continue with their own studies. By the end of this introductory talk I hope attendees will want to learn more about asyncio and perhaps give it a try in their own projects.
Watch
Victor Stinner - asyncio community, one year later
Victor Stinner - asyncio community, one year later [EuroPython 2015] [22 July 2015] [Bilbao, Euskadi, Spain] The asyncio project was officially launched with the release of Python 3.4 in March 2014. The project was public before that under the name "tulip". asyncio is just a core network library, it requires third party library to be usable for common protocols. One year later, asyncio has a strong community writing libraries on top of it. The most advanced library is aiohttp which includes a complete HTTP client but also a HTTP server. There are also libraries to access asynchronously the file system, resolve names with DNS, have variables local to tasks, read-write locks, etc. There are clients for AMQP, Asterisk, ElasticSearch, IRC, XMPP (Jabber), etc. (and even an IRC server!). There are asynchronous drivers for all common databases, and even for some ORMs. As expected, there are tons of new web frameworks based on asyncio. It's also possible to plug asyncio into Gtk, Qt, gevent, eventlet, gunicorn, tornado, etc. I will also discuss use cases of asyncio in production and benchmarks. Spoiler: asyncio is not slow. The asyncio library also evolved to become more usable: it has a better documentation, is easier to debug and has a few new functions. There is also a port to Python 2: trollius.
Watch
Ravi Vagadia - Python & Internet of Things
Ravi Vagadia - Python & Internet of Things [EuroPython 2015] [20 July 2015] [Bilbao, Euskadi, Spain] There is a lot buzz about the Internet of things and how it's going to be the next big thing in computing. Python can power "things" and is used extensively in network applications, however there isn't much information out there about where Python can be used to build end-to- end IoT products. Goals : To put into perspective the usefulness of Python in building IoT products. Spread awareness on possibilities of using Python on embedded hardware.
Watch
Andrey Vlasovskikh - How you can benefit from type hints
Andrey Vlasovskikh - How you can benefit from type hints [EuroPython 2015] [24 July 2015] [Bilbao, Euskadi, Spain] PEP 484 introduces type hints for Python 3. Type hints can increase readability of our code for both humans and tools and lead to better and safer outcomes. And we'll prove it in this talk! We're going to take a closer look at type hints, see practical examples of where they can be used and the value they provide. We'll see that simple class types and built-in collection types are often enough for our public API's. We'll also discuss how you can benefit from type hinting stubs for third-party libraries and briefly cover more advanced scenarios like generic types.
Watch
Richard Wall - Faking It - The Art of Testing Using Verified Fakes
Richard Wall - Faking It - The Art of Testing Using Verified Fakes [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] Have you ever worried that your tests aren't as good because they're running against a fake or mock instead of the real thing? Verified fakes solve this problem. Verified fakes allow for simplified testing using fakes while still providing the assurance that code tested using a fake implementation will behave the same way when used with a real implementation. The talk will begin with a case-study, demonstrating what it means to write a "verified fake" implementation of a public API. I will show how to write tests that verify a fake implementation of a well defined API and I will show how those same tests can be re-used to verify and test real implementations of the same API. The talk will end with a proposal that more libraries should include verified fakes. I will show, with real-world examples, how verified fakes can be used by integrators and discuss how they are superior to ad-hoc, unverified, mocking. During the talk I will refer to various real world, Open Source examples. Including: * Flocker's Pluggable "Block Device Backend" [1] This API allows Flocker to manipulate file systems on OpenStack Cinder Blocks and AWS EBS devices. It also makes it easy for third parties to implement their own Flocker block device backends. * Eliot's Memory Logger - and its use in testing and verifying logged messages. * LibCloud's DummyNodeDriver - and its limitations. * Boto - as an example of a library that could benefit from a verified, introspectable fake. * Docker-py - as an example of a library for which we have written a verified fake. There will be at least 5 minutes for discussion at the end of the talk. [1] Flocker is an Open Source Docker orchestration system written in Python by ClusterHQ
Watch
Michał Bultrowicz - Python microservices on PaaS done right
Michał Bultrowicz - Python microservices on PaaS done right [EuroPython 2015] [23 July 2015] [Bilbao, Euskadi, Spain] Lately, there's a lot of talk about microservices but not enough concrete examples and case studies. I want to change that by showing: - how thinking in PaaS terms can lead to robust and scalable designs; - what infrastructure and automation you need to set up to go along smoothly; - how to get real time metrics of your apps; - what makes Python good for microservices; - what is Python's performance relative to some alternatives. **Prerequisites for the talk:** - some experience with web development in Python; - basic knowledge of RESTful web services.
Watch