List of videos

Uzi Halaby Senerman - Pandas - not just for data scientists

"Pandas - not just for data scientists [EuroPython 2017 - Talk - 2017-07-14 - Anfiteatro 1] [Rimini, Italy] This is not a tutorial. It's an attempt to expose non data scientists experienced pythonistas to the powerful pandas library. Most of python developers don't use pandas (either because they never heard of it, felt that it's a too steep learning curve or never thought that it will be useful for them). I intend to talk about python performance limitations and show how pandas can be used to overcome some of these limitations. The talk will be accompanied by a live Jupiter Notebook session that will demonstrate a typical use of pandas. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Hongjoo Lee - Deep Learning your Broadband Network @HOME

"Deep Learning your Broadband Network @HOME [EuroPython 2017 - Talk - 2017-07-14 - Anfiteatro 1] [Rimini, Italy] Most of us have broadband internet services at home. Sometimes it does not work well, and we visit speed test page and check internet speed for ourselves or call cable company to report the service failure. As a Python programmer, have you ever tried to automate the internet speed test on a regular basis? Have you ever thought about logging the data and analyzing the time series ? In this talk, we will go through the whole process of data mining and knowledge discovery. Firstly we write a script to run speed test periodically and log the metric. Then we parse the log data and convert them into a time series and visualize the data for a certain period. Next we conduct some data analysis; finding trends, forecasting, and detecting anomalous data. There will be several statistic or deep learning techniques used for the analysis; ARIMA (Autoregressive Integrated Moving Average), LSTM (Long Short Term Memory). The goal is to provide basic idea how to run speed test and collect metrics by automated script in Python. Also, I will provide high level concept of the methodologies for analyzing time series data. Also, I would like to motivate Python people to try this at home. This session is designed to be accessible to everyone, including anyone with no expertise in mathematics, computer science. Understandings of basic concepts of machine learning and some Python tools bringing such concepts into practice might be helpful, but not necessary for the audience. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Emma Gordon - Python Bee

"Python Bee [EuroPython 2017 - Interactive session - 2017-07-14 - PythonAnywhere Room] [Rimini, Italy] Thought up in 2009 by a group of MIT students who entered the Python bee into a competition for “bad ideas”, a Python bee is like a spelling bee for programmers. Instead of spelling words, participants are given functions to write and must spell them out loud - one character at a time, without looking at the code that they're writing! Players must spell valid Python and every character counts, including symbols and whitespace. And the twist for the second round (credit for this one goes to dropboxblogs): You're now allowed to look at the code, but... you must now team up with other programmers, entering alternate characters without being allowed to communicate via any other means. In order for everyone to be able to have a go, we'll split up into small groups to play - for those that want to be competitive, we'll use a scoring system so that we can still declare an overall champion. You're very welcome to come along just to have fun though! TL;DR - a fun hour of slightly ridiculous programming games :) License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Fergal Walsh - Rethinking how we build HTTP APIs

"Rethinking how we build HTTP APIs [EuroPython 2017 - Talk - 2017-07-14 - PyCharm Room] [Rimini, Italy] Rethinking how we build HTTP APIs The Python universe is overflowing with web frameworks, from full featured batteries included frameworks like Django to micro frameworks like Bottle or Flask. They each have their own specific features but in the end they are all very similar in their core functionality of processing requests and generating responses. In this talk I will discuss why I felt the need to create yet another framework, a pico framework, that specifically focuses on the task of building HTTP based APIs for the web. Pico, as it is aptly called, doesn't do templating, ORM, custom routing, authentication, validation, caching, or a million other things. Instead it helps you write clean APIs using simple functions and modules with minimal boilerplate. Pico is both opinionated and flexible in equal measures so you can focus on what matters; your API logic. Pico helps you to write code that that is simple to get started, trivial to test, and easy to maintain as your project grows. APIs built with Pico are self describing so client code can automatically/dynamically be created. Pico includes both a Python & Javascript client but it is also very simple to interact with your API with plain old cURL/Requests/jQuery/etc. It is just a HTTP API after all. Having recently released Pico 2.0, this talk will outline the evolution of this framework over the past 7 years and discuss some lessons learnt along the way about building HTTP APIs and frameworks. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Magdalena Rother - Writing Awesome PyPI packages in Python

"Writing Awesome PyPI packages in Python [EuroPython 2017 - Talk - 2017-07-14 - PyCharm Room] [Rimini, Italy] One of the strengths of the Python programming language is the huge base of Open Source libraries. The PyPI (Python Package Index) repository provides currently 105,917 packages, many of them developed actively by contributors. This talk is a tour through various tools and practices, which help to keep your package in a good state for your users and make it easier for other developers to contribute. One can find these practices in projects of different size, such as Django (24,244 commits, 1,397 contributors) Pandas (15,005 commits, 754 contributors) and Faker (20 commits, 3 contributors). Some things to consider when creating your own package: using a Makefile for automatic testing, coverage analysis and environment setup. structuring your .gitignore file. using pyenv and .python-version for Python version management. using tox to ascertain that code is working in different environments. squashing different configuration files to a single setup.cfg file. using EditorConfig and .editorconfig to automatically set project coding standards in the editor. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Antonio Del Mastro - Space weather monitoring for a virtual reality simulation

"Space weather monitoring for a virtual reality simulation of a Martian settlment [EuroPython 2017 - Talk - 2017-07-14 - PyCharm Room] [Rimini, Italy] High-energy particles accelerated by the Sun during Coronal Mass Ejections (CME) are a major concern for a manned mission to Mars. On Earth surface, these particles are shielded by the Earth magnetic field. In space and on the Martian surface, where such shielding is absent or much weaker, CME pose a radiation hazard to the health of astronauts. The development of tools to understand and forecast the interplanetary space weather is a requirement for future manned space missions in order to properly protect the astronauts from the radiation environment. A variety of methods are currently developed by the scientific community and a number of public tools for space weather monitoring and forecast is already available online. We present a Python-based tool which takes advantage of two publicly accessible space weather web portals. Our software combines the forecast of CME and a real-time propagation model of energetic particles throughout the inner Solar System and the Martian atmosphere. It consistently recovers real-time relevant information and provides with days-to-hours forecasts for the radiation dose astronauts on Mars would be exposed to. The system raises an alert signal when the radiation dose exceeds the security levels defined by the main space agencies adopted as a reference. Our tool is meant to be integrated in a virtual reality simulation of a human settlement on the surface of Mars (Mars City Project www.mars-city.org). Prerequisite: Intermediate knowledge. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Nicolle Cysneiros - Graph Databases: Talking about your Data Relationships with Python

"Graph Databases: Talking about your Data Relationships with Python [EuroPython 2017 - Talk - 2017-07-14 - PyCharm Room] [Rimini, Italy] Have you ever considered how many relationships you have in your virtual life? Every friend or page liked on Facebook, each connection in LinkedIn or Twitter account followed is a new relationship not only between two people, but also between their data. In Brazil only, we have 160 millions Facebook users. How can we represent and manipulate all these relationships? Graph Databases are storage systems that use graph structure (nodes and edges) to represent and store data in a semantic way. This talk will begin approaching the challenge in representing relationships in Relational Databases and introducing a more friendly solution using graph. The definition of Graph Database, its pros and cons and some available tools (Neo4J, OrientDB and TitanDB) will be shown during the presentation, as well as how these tools can be integrated with Python. Outline: Relationships Relationships in Relational Databases Graph Definition Graph approach to represent relationships Graph Databases Definition Advantages Neo4J Usage Examples Integration with Python Comparison between Graph Databases Comparison between Neo4J and Relational Database Applications License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Marwan Al-Sabbagh - Executing scripts in a few milliseconds with MicroPython

"Executing scripts in a few milliseconds with MicroPython [EuroPython 2017 - Talk - 2017-07-14 - Arengo] [Rimini, Italy] Command execution time can become important in a number of applications. Commands executed in command-line completion need to execute in less then 100ms or users will perceive a delay. In Shell scripting one might want to execute commands repeatedly in a for loop and fast execution times makes this more feasible. Python is a very powerful language but has a much slower startup time compared to other interpreted languages like Perl, Lua and Bash. It can take up to 10 times longer to startup then some of these other languages. MicroPython was written as a lean implementation of Python 3 with a small subset of the standard library mainly intended to run on microcontrollers. But it happily runs on Unix systems with excellent startup performance, making it an ideal candidate for implementing certain time sensitive commands. This talk will: Explain when achieving fast execution times matters and when it doesn’t. Present two different approaches to measuring command execution time, one simple and the other more detailed and accurate. Compare execution times of a simple set of scripts that add two numbers in an number of different interpreted languages (micropython, python3, awk, perl, lua, bash). Present an example use case of MicroPython on Unix. Bash completion for pip install that completes the names of available packages live from a remote pypi mirror. Demonstrate the auto completion script with pip on a local pypi mirror. License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch
Maximilian Scholz - Linespots: Predicting Bugs in your Code

"Linespots: Predicting Bugs in your Code [EuroPython 2017 - Talk - 2017-07-14 - Arengo] [Rimini, Italy] In times of increased awareness of technical debts, reviewing and auditing code becomes more important. The main problem with code review is the amount of time that is being spent searching the needle in the haystack. You just don’t know what you are looking for and where to find it. One possible solution to the problem to the idea of bug prediction. If we could somehow know where bugs are in our code, focusing reviewing efforts on that area should, in theory, increase the effectiveness of our review. More bugs should be uncovered while less time is spent reviewing. This is what Linespots tries to offer. It is an algorithm developed during my thesis that analyses a project’s history and calculates a probability value for each line of code in the project, representing the likeliness of a bug existing in that line. Using the probabilities, reviewers can focus on the areas that are at a higher risk of containing bugs and spend less time on robust code. The research done so far showed, that by analyzing 0.5% lines of code with the highest risk values in a project, an average of 50% of the bugs fixed in the next 150 commits were correctly predicted by Linespots. This is an improvement by factor 10 compared to Bugspots, an algorithm developed at Google, which Linespots is based upon. Outline: Basics and functionality of Linespots Research results Pros and cons of Linespots Results of a case study License: This video is licensed under the CC BY-NC-SA 3.0 license: https://creativecommons.org/licenses/by-nc-sa/3.0/ Please see our speaker release agreement for details: https://ep2017.europython.eu/en/speaker-release-agreement/

Watch