List of videos

Mario Corchero - Effortless Logging - Let the loggers work for you

"Effortless Logging - Let the loggers work for you [EuroPython 2017 - Talk - 2017-07-10 - PythonAnywhere Room] [Rimini, Italy] Logs are your best friends on those late nights when you try to troubleshoot that problem in production that was written by a friend of you who is on holidays at the moment. Logs are the main way to know what is happening at runtime with an running application but as we don’t realize how important they are until we actually need them it is usually an under appreciated part of our development process. This talks overviews the logging module of the standard library and demonstrates some basic best practices and techniques make the most out of our logging when we need it. After this talk you will be fully familiar not only on how to use the logging library but also how it is actually designed, how it works, how to extended further than the basic usage and some sample recipes and configurations for complex 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
Alan Christie - Building a real-time embedded audio sampling application with MicroPython

"Building a real-time embedded audio sampling application with MicroPython [EuroPython 2017 - Talk - 2017-07-10 - Arengo] [Rimini, Italy] While demonstrating the pyboard to a group of colleagues, a challenge was set to produce a practical demonstration of the device that would provide automatic and continuous voice recording and playback of short spoken phrases similar to that found in a number of talking toys. This talk covers the process of designing and testing the embedded real-time Python solution and includes the architecture, test methodologies and recordings as the stages progressed to the final source code. The talk concludes with a live demonstration of the final application. The solution uses MicroPython (an embedded implementation of Python 3), the pyboard and its AMP Audio skin. MicroPython is a lean implementation of Python 3 that is optimised to run in a very small footprint on micro-controllers and in constrained environments. It was created by the Australian programmer and physicist Damien George, after a successful Kickstarter backed campaign in 2013. The pyboard is the original reference hardware created to host MicroPython. It is a compact low-power board based on an ARM processor with a heap of approximately 100kBytes that can run at 168MHz. It has sufficient hardware services and real-time capabilities to control all kinds of electronic projects. The AMP Audio skin is a small additional module that attaches to the pyboard that adds a small power amplifier, speaker and a microphone with a pre-amp. 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
Jussi Pakkanen - Meson: compiling the world with Python

"Meson: compiling the world with Python [EuroPython 2017 - Talk - 2017-07-10 - Arengo] [Rimini, Italy] Compiling source code into libraries and executables has always been problematic, especially for cross platform projects. Typical problems in existing build systems include slow build times, undecipherable syntax, lack of support for cross compilation and so on. Some people choose to not use a build system at all but instead just write a one-off Makefile, which will usually work fine on their machine and nowhere else. All this makes software development slower than it needs to be. The Meson build system (http://mesonbuild.com) is a new build system designed from the ground up to provide a solution for these (and other) problems. It is implemented in Python 3 and provides a simple, non-Turing complete DSL for describing the build. The project provides built-in support for common tasks such as documentation generation, building Qt apps and Python extension modules. Meson is currently seeing a lot of uptake in the Free software world with big projects such as GStreamer, parts of GNOME, Wayland and even the X server either transitioning, or very strongly considering the transition to Meson. In this talk we go over the design of Meson, how to use it for new and existing projects and the benefits this brings, including faster compiles, less time wasted debugging the build system environment and easy access to modern software development tools and practices. 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
Maciej Polańczyk - Mock it right! A beginner’s guide to world of tests and mocks.

"Mock it right! A beginner’s guide to world of tests and mocks. [EuroPython 2017 - Talk - 2017-07-10 - Arengo] [Rimini, Italy] The main goal of this presentation is to make beginner audience familiar with mocks and patches but there is a chance that more experienced ones will also find something new for themselves. Presentation shows the common use cases when developing unit tests. I will say what are the best practices when working with mocks and patches and what kind of mistakes, done by many developers, may be avoided so the dragons will not come. During this presentation I will prepare mock-it-o drink as a prize. First, I will briefly introduce an audience with the topic of unit testing. Then I will show a simple code which will be tested during the presentation. It covers all common use cases of writing unit tests which are usage of mocks, patches and their side effects. In the end I will show a template of unit test which will be extended according to our needs. Next, I will say what is a mock, and what are the benefits of using it. Why it is better than any Dummy class implemented for purpose of unit tests and, what is the most important and sometimes forgotten by experienced developers, how to create the best mock, which involves using spec_set and spec to protect us from dragons when interface of mocked class changes. Last but not least part of my presentation will be dedicated to patches. I will explain when and how patches should be used (how to use side_effect, patch properties and environment variables). Finally, I will say how to avoid common mistakes when working with patches. 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
Tim Babych - Front-end testing with Python

"Front-end testing with Python [EuroPython 2017 - Talk - 2017-07-10 - PyCharm Room] [Rimini, Italy] Web-developers use Python to develop web-applications, serving HTML or JSON content to user's browsers which render it. We test our applications to check that they serve content right and that they respond to HTTP requests in an expected way. However, this is not all that happens in a modern web application. There are lots of moving parts which are executed not on the server, but directly in user's browser, and they need to be tested too. The best way to check that our app works well in a browser is to test it in a browser, and Python gives you tools to do that conveniently. With a Selenium tool and Python package, you can control the browsers, making them open web pages and interacting with them. I will show how to install Selenium and needed drivers, and tell about best practices for writing Selenium tests, such as Page Object pattern Put browser interactions in the page object, not the test Put assertions in the test, not the page object Never use time.sleep() Always make pages wait for actions to complete Wait for JavaScript to load To test the visual look of your application there is a Needle tool, which lets you compare screenshots with baseline set, and highlight the differences. I will talk about how to incorporate that functionality into your tests. As browser testing can get quite slow, I will also show how to set up running them concurrently. 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
Lasse Schuirmann - From Fun to Business - How Open Source Changed my Life

"From Fun to Business - How Open Source Changed my Life [EuroPython 2017 - Talk - 2017-07-10 - PythonAnywhere Room] [Rimini, Italy] Coala (https://coala.io/) began as a fun project. We never believed there would be anything useful growing out of it - and yet it did. Contributors all over the world came to us and helped creating the community as it is. But how did all of this happen? What does this mean for the main contributors? How can we make a living of an open source project? This talk tells our story. What we did - good and bad things - so we can learn from it. From my personal open source contributions over founding an open source project to building a freelance agency and founding a startup. Participants will learn how they can grow an open source project, automate newcomer processes and gain insights into how they can start making a living of it, possibly founding a company eventually. There is no single recipe for this but we can - and should - exchange the tips and tricks we’ve gained with our ventures. This talk is for entrepreneurs, wanna-be-freelancers and future or past open source project founders. This talk is completely new and has not been presented at any conference yet although it overlaps with previous talks of mine which have received much positive feedback at previous regional PyCons. It will be tested at a local meetup to ensure proper timing. 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
Alejandro Castillo - Django Rest Framework, one year after: tips, tools, tricks and pitfalls.

"Django Rest Framework, one year after: tips, tools, tricks and pitfalls. [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 2] [Rimini, Italy] One year ago we started OnTruck. Our CTO had previously had some success with DRF so after discussing it, we decided to give it a try. After a year building a quickly iterating startup on top of Django Rest Framework, we have reflected a lot on it. Even now, with a full year of development on top of it, we still periodically discuss going forward or dropping it. For the time being it still wins. So we think we have learned a lot about it. This talk is a walkthrough of the discoveries & learnings we have made at OnTruck during that year. We will cover different aspects of the framework, what advantages it has given us and also what tradeoffs it has forced. We will discuss both how it relates to Django on the inside and how it relates with other systems outside. We will approach it both from a purely user perspective and also discuss some of its internals and the way we tweaked them to make it work for us. We will cover the pitfalls we have both avoided and fallen into. The tricks that have helped us keep our speed and sanity. The tools we have both used and discarded on the way. And finally the tips we would give ourselves if we were starting all over again after this year. 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
Radomir Dopieralski - MicroPython Workshop

"MicroPython Workshop [EuroPython 2017 - Interactive session - 2017-07-10 - Anfiteatro 2] [Rimini, Italy] We will program some ESP8266-based development boards, make them blink LEDs, move servos, display pictures, read sensors, react to buttons, and, more importantly, talk over HTTP and MQTT with servers. This is an excellent occasion to try your skills in building and programming small electronic devices. No experience with electronics is required, everything you need to know will be covered during the workshop. You will need to bring a laptop with a USB port. If it runs Windows, make sure to have some terminal emulator installed, such as PuTTy, CoolTerm or even HyperTerm. On Linux and OSX we will use Screen, so you don't need anything special. I only have about 20 kits for this, so the number of people that can take part is limited. 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
Roberto De Ioris - AAA Games with Unreal Engine 4 and Python

"AAA Games with Unreal Engine 4 and Python [EuroPython 2017 - Talk - 2017-07-10 - Anfiteatro 2] [Rimini, Italy] Unreal Engine is the game industry leading platform for developing AAA Videogames. Now you can script your gameplay logic, automate your development pipelines or test your productions with Python too. The UnrealEnginePython plugin aims at covering the whole feature set of Unreal Engine 4 and extending it with the huge modules library available in the Python world. The talk will briefly introduce the Unreal Engine platform and its capabilities as well as how it can be programmed without the python plugin (Blueprints and C++). The biggest part of the talk will focus on how the Unreal Engine 4 patterns are mapped to the python plugin, what is already working and what you can expect from future developments. No prior knowledge of game/graphics programming is required, and if you are in the movie or cartoon industry you can get interesting infos too 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