EuroPython 2020
2020
List of videos

Europython 2020 - Opening Session
"Opening Session EuroPython 2020 - - 2020-07-23 - Microsoft Online 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Dustin Ingram - Static Typing in Python
"Static Typing in Python EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Dustin Ingram Python is well-known as a programming language without static types. This means that you don’t need to say what a given variable will hold, or whether your function will return a string or an integer (or sometimes one, and sometimes another!). This has historically made Python a very flexible and beginner-friendly language. In this talk, we’ll discuss the advantages and disadvantages to a static type system, as well as recent efforts to introduce static typing to Python via optional “type hints” and various tools to aid in adding types to Python code. We’ll see what this means for Python, for Python programmers, and what the future has in store for Python’s type system. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Nisarg Shah - Developing GraphQL API in Django using Graphene
"Developing GraphQL API in Django using Graphene EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Nisarg Shah GraphQL technology has become popular nowadays. While developing REST APIs, there are many things that developers need to take into consideration. There are multiple endpoints and over-fetching is the main problem of REST. GraphQL offers a unique approach and architecture for developing APIs. How is that efficient? While using GraphQL, a client can request the data which is needed. It is an alternative for building APIs in place of REST. It’s a query language that can work as a medium between the frontend and backend. The journey to develop GraphQL APIs in python needs some requirements and knowledge. We will be building APIs in the Django framework using a graphene library which includes many features of GraphQL such as ObjectTypes, Queries, Mutations, etc. We will start by understanding these concepts followed by some code. This includes detailed information about the Query class, what are resolvers, and where to write business logic, how pagination can be incorporated with queries would be included. Also, it will include the information about the Mutation class, arguments needed for mutation, and what type of response can be returned on successful operations. Learning outcomes would be the understanding of code and building GraphQL APIs using graphene in a proper and structured way. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Jason McDonald - Writing Zenlike Python
"Writing Zenlike Python EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Jason McDonald There's a profound gap between working code and Pythonic code. To the developer whose first language is NOT Python, the distinction can appear blurry, even arbitrary. What is this ""one obvious way"" all those Python nerds are going on about? Most of us are familiar with the ""Zen of Python"", Tim Peters's legendary, if tongue-in-cheek, set of guiding principles for the Python language. But can they actually inform Pythonic code? In this talk, Jason C. McDonald will unpack how the twenty principles (including the unwritten rule) of the Zen can guide you to write beautiful, maintainable code, by treating Python AS Python! This talk is intended primarily for developers who have come to Python from another language, no matter their experience level. McDonald will shed light on how to work WITH Python's type system, statements, and iterative tools, rather than against them. You'll walk away with a new appreciation of the language, and an understanding of what Pythonic really means; an understanding which will empower you to find the One Obvious Way to solve any problem in Python. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Roberto Polli - Extending HTTP for fun and non-profit
"Extending HTTP for fun and non-profit EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Roberto Polli Writing API guidelines is a best practice for standardizing APIs produced by thousands of service provider, but what happens when those rules are not backed by internet standards? This talk proposes an iterative strategy for identify and standardize inside IETF key features of your API guidelines. The steps includes feature landscaping, stakeholder identification and engagement, prototyping and writing an actual internet-draft. The strategy is shown using two examples: - rewriting of codeDigest/code header RFC3230 adding clarifications useful for implementors; - proposing new codeRateLimit/code headers and engage with implementors (Microsoft, Red Hat, Kong, ..). 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Bojan Miletic - Django Testing on Steroid: pytest + Hypothesis
"Django Testing on Steroid: pytest + Hypothesis EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Bojan Miletic The talk should hopefully provided value to all listeners, regardless of their knowledge level, but preferably you have some knowledge of pytest test parametrization We'll use a simple Django project, setup initial tests using pytest with some parallelization in the opening part and afterwards start extending them with Hypothesis. We'll go over the details, how you can use them to detect edge cases, extend test coverage and if time allows it how you can use them to test django models. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Bhagvan Kommadi - Telehealth Platform : Python & Django powered
"Telehealth Platform : Python & Django powered EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Bhagvan Kommadi We have built an AI-powered platform (python & django) for doctor's community and Telehealth support for patients during COVID-19 lockdown. The doctor's community interacts related to cases and triage for different patient cases. They can extend Telehealth support using medical practice management solutions. Patients can order medicines online through integrated pharmacies on the platform. AI Platform has digital, voice, and knowledge assistants to provide information to the doctor. Historical data is used for predictive analytics by the machine learning platform. The platform helps healthcare enterprises in the following: 1. Deploy voice tech to facilitate clinical documentation 2. Reduce physician's administrative burden 3. Increase patient volume and billable revenue 4. Eliminate transcription costs 5. Voice to increase touchpoints and increase patient engagement 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Jeffrey Mew - Supercharge your Data Science workflow with Notebooks, VS Code, and Azure
"Supercharge your Data Science workflow with Notebooks, VS Code, and Azure EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Jeffrey Mew 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mikhail Medvedev - Extending Python with Rust
"Extending Python with Rust EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Mikhail Medvedev Rust is a rising star of the programming language world. I'd like to discuss it from a Python developer perspective. Obviously, Rust is not a replacement for Python, but in case you're seeking better performance it may be a good idea to build an extension. This is safer and arguably easier to do in Rust than in C. In this talk we will take a look at existing crates that provide interface to Python and see how easy it is to use them. Then we go through the demo and see it in action. Run some benchmarks against pure Python and also Cython. Write a Dockerfile to build it all together. Discuss CI/CD for mixed Rust/Python projects. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Radosław Ganczarek - The joy of deleting code
"The joy of deleting code EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Radosław Ganczarek They say measuring code quality by its LOC is like measuring aircraft quality by its weight. There's a lot of sense in the metaphor, as we often call inefficient code with words like ""heavy"" or ""bloated"". In my talk I'll tell you about my approach to deleting unneeded code, tools that could help you and how did it turned out in the end in real world projects. As you probably know, detecting unused code automatically is a hard task and doing it in Python is exceptionally hard because we sometimes call methods with getattr or write classes which are only used in non-python configuration files. Tools give us only a partial success. What you could do beyond them? What approach to take? I'd like to discuss it in detail in my talk. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ben Nuttall - Tools for maintaining an open source Python project
"Tools for maintaining an open source Python project EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Ben Nuttall There is a wealth of amazing tools freely available to open source software developers to use to maintain their projects. Practically every problem we face or are likely to face in software development has been lived through and solved many times over. Patterns emerge for dealing with development practises and we build our software using the tools made by the previous generation of developers. We're very fortunate to operate in an amazing open source ecosystem where we've learned we're stronger when we build on each other's foundations. We're constantly laying new foundations for ourselves and we share our ways of working with the world. We now have a very sophisticated set of tools for developing, managing, testing and documenting our new projects without reinventing the wheel. But we don't discover all the tools at once - we pick them up as we go along, as we find uses for them and we hear about them. I'm going to share a range of great tools I use to maintain some popular open source Python projects, and explain how the difference they've made. The talk covers: Software packaging and distribution Licensing Virtual environments Software testing Continuous integration Git & GitHub Contributor community Project management tools Documentation tools The talk demonstrates examples for development of Python projects on Linux, but the tools can be used cross-language and cross-platform. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Yenny Cheung - Creating an inclusive team culture in times of change
"Creating an inclusive team culture in times of change EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Yenny Cheung What can we do as technical leaders to make sure everyone feels accepted and build a supportive team culture during the turbulent times? This talk shares concrete steps that we can take to lead by example, and navigate our team through crisis: Prioritizing Safety & Self-care Revisit our Expectations Effective Communication Lead Inclusive Meetings Check our Biases 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Miroslav Šedivý - Your Name Is Invalid!
"Your Name Is Invalid! EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Miroslav Šedivý People have names. Most people do. People have first names and last names. Many people do. People have any sorts of names that often don't fit fixed fields in the forms. These names may contain letters, accented letters, and other characters, that may cause problems to your code depending on the encoding you use. They may look differently in uppercase and lowercase, or may not be case foldable at all. Searching and sorting these names may be tricky too. And if you design an application, web form, and/or database dealing with personal names, you'll have to take that into account. This talk is not about GDPR, but will help you to use the best tools to handle encoding and locales in Python and prevent your application from appearing in my talk and in uxfails memes. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Bernat Gabor - Lessons from the Trenches: rewriting and re-releasing virtualenv
"Lessons from the Trenches: rewriting and re-releasing virtualenv EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Bernat Gabor virtualenv is a tool that builds virtual environments for Python. It was first created in September 2007 and lived most of its life being a single file project with an increasing amount of (scary) workarounds within. It managed to grow until it was 2,700 lines of code. Maintaining this project became increasingly more troublesome, to the point where, we had more than 500 open issues at one point. In July 2019, I started working from scratch on a rewrite, with the goal of not just increasing the project's maintainability, but also to make it faster and add some new features that were just impossible or too hard to do in the existing code base. Fast forward six months to January 2020, when we released the first beta, with the first full release coming out on 10th February. It took a bit more than a month to squash all the open bugs tickets, but April started without any remaining open bug tickets. This talk will cover the lessons I've learned while on this journey. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Martin Christen - pyRT - Computer Graphics in Jupyter Notebooks for Fun and Teaching
"pyRT - Computer Graphics in Jupyter Notebooks for Fun and Teaching EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Martin Christen PyRT (pronounced pirate) is a raytracer/image generator for Python 3.5 and higher. This project is mainly done with the following in mind: ray tracing in the Jupyter notebook Teaching computer graphics and ray tracing Exploring ray tracing concepts for geo data using Python. Rendering geo data, including large point clouds. Implementing new algorithms for rendering large 3D city models. Creating 3D-Maps from OpenStreetMap data Server-side rendering / cloud based rendering In this talk I will present the project and show some examples. I will show how useful it is to create quick 2D animations, such as visualization of different sorting algorithms and I how to create fractals and other graphics. A certain focus is also on geodata therefore I will show how to create a live EarthQuake map using pyRT. In the last part I will show to use pyRT to create 3D renderings. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Neeraj Pandey - The Joy of Creating Art with Code.
"The Joy of Creating Art with Code. EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Neeraj Pandey Art is everywhere and it’s beautiful. Unleash the creative artist inside you with the beauty of Generative Art. Learn how algorithms are used to create these aesthetic art forms, how motion and structures emit sounds and what toolkits are required to do so. This talk looks at Python as an artistic and visual programming language with the simplicity and beauty of generative art using Processing, PyCairo and webGL. The audience will see an evolution of generative art over the last 50 years, how autonomously these art forms are created using algorithms and how we can stimulate paints and other media. The talk will be showing how to create artworks inspired by geometric and mathematical patterns which also includes randomness with hands-on examples (Two such examples are added here: https://imgur.com/a/lycAYnj ). 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Elias Mistler - How to write multi-paradigm code
"How to write multi-paradigm code EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Elias Mistler Python is a powerful multi-paradigm language which combines elements of object-orientation and functional programming. Both concepts can be really powerful if used right. But what if you use them together? It can be pragmatic and very efficient, but things can also get messy really quickly. This talk explores peaceful co-existence of oo-classes and pure functions in the same code base. The focus is on identifying the right tool for the right job and bringing together the best of both. The main topics are: Code Structure Data Structures State Handling Multiple implementations Prerequisites: There are no formal prerequisites for this course, although it is recommended that participants have a strong background in Python and its code structuring mechanisms, as well as a deep understanding of at least one of the paradigms of OOP and FP. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Paolo Melchiorre - A pythonic full-text search
"A pythonic full-text search EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Paolo Melchiorre A full-text search on a website is the best way to make its contents easily accessible to users because it returns better results and is in fact used in online search engines or social networks. The implementation of full-text search can be complex and many adopt the strategy of using dedicated search engines in addition to the database, but in most cases this strategy turns out to be a big problem of architecture and performance. In this talk we'll see a pythonic way to implement full-text search on a website using only Django and PostgreSQL, taking advantage of all the innovations introduced in latest years, and we'll analyse the problems of using additional search engines with examples deriving from my experience (e.g. djangoproject.com or readthedocs.org). Through this talk you can learn how to add a full-text search on your website, if it's based on Django and PostgreSQL, or you can learn how to update the search function of your website if you use other search engines. More info on https://www.paulox.net/2020/07/23/europython-2020/ 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Sean Walsh - Serverless 2.0 with Cloudstate.io-stateful functions with Python
"Serverless 2.0 with Cloudstate.io-stateful functions with Python EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Sean Walsh Serverless is revolutionary and will dominate the future of Cloud. Function-as-a-Service (FaaS) however—with its stateless and short-lived functions is only the first step. What’s needed is a next-generation Serverless platform and programming model for general-purpose application development in the new world of real-time data and event-driven systems. What is missing is ways to manage distributed state in a scalable and available fashion, support for long-lived virtual stateful services, ways to physically co-locate data and processing, and options for choosing the right data consistency model for the job. This talk will discuss the challenges, requirements, and introduce you to our proposed solution: Cloudstate—an Open Source project building the next generation Stateful Serverless, running on Kubernetes, Akka, gRPC, Knative, and GraalVM, with polyglot support for Python, Java, Go, JavaScript, Swift, Scala, Python, Kotlin, and more. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Lorenzo Peña - Yet another package for multi-tenancy in Django
"Yet another package for multi-tenancy in Django EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Lorenzo Peña Django is a popular, solid web framework for perfectionists with deadlines, with a wide ecosystem of packages that extend its powers in multiple directions. In the era of peaking popularity of Node/Deno, microservices, and heavyweight browser rendered webapps, Django still remains a triumphant monolith maker, very capable of major undertakings in the web arena. For all you Django-lovers out there, it seems to me like a matter of time before you have to do some form of multi-tenancy in Django. Taking a solution that works well for one tenant and extending it to multiple tenants should still be a problem for perfectionists with deadlines. Interestingly, when it comes to covering all the many facets of multi-tenancy, Django can be not so batteries included, as one might end up working around or 'hacking' the framework in order to get things done. In this talk I will walk you through the challenges of bringing multi-tenancy to a Django project. We'll cover the fundamental plumbing required to make it work reliably, securely, and elegantly. You will be expected to have a basic knowledge of Django (models, settings, users, URL reversing), and you will learn the working logic behind popular multi-tenancy packages like a href=""https://github.com/bernardopires/django-tenant-schemas""django-tenant-schemas/a and a href=""https://github.com/tomturner/django-tenants""django-tenants/a. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Kanianthra Chandy - IoTPy: Python + Streams + Agents for Streaming Applications
"IoTPy: Python + Streams + Agents for Streaming Applications EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Kanianthra Chandy Sensors, social media, news feeds, webcams and other sources generate streams of data which are analyzed to control actuators, generate alerts, and feed displays. These applications process streams on onboard computers, such as the Raspberry Pi, connected directly to sensors, and send summarized information to the cloud for further processing. These applications have two characteristics: (1) Concurrency: The applications are concurrent using multiple threads to connect to sensors and actuators, shared memory across multiple processes on multicore machines and message passing for distributed systems spanning multiple computers. (2) Data Analysis: The applications use programs from a variety of libraries including those for signal processing, machine learning and natural language processing. Developers of streaming applications can use open-source software to deal with both characteristics. Concurrency: multiprocessing.Array can be used to construct shared-memory multiprocessing Python programs in multicore computers, and frameworks such as APMQ and Kafka can be used to build distributed applications. Data Analysis: A vast collection of open-source Python libraries can be used to analyze data in streams. Developers of streaming applications encounter an impedance mismatch between the software libraries that address these two characteristics. The next paragraph describes the mismatch and how IoTPy addresses it. Programs in most software libraries apply a function to data, get results, and terminate execution. By contrast, streaming applications are perpetual processes that analyze endless streams of data. IoTPy helps developers: (1) build non-terminating streaming applications by harnessing conventional terminating programs from Python’s huge base of libraries and (2) create multithreaded, multicore and distributed Python applications by simply connecting streams to each other. https://www.AssembleSoftware.com 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Naomi Ceder - Staying for the Community: Building Community in the face of Covid-19
"Staying for the Community: Building Community in the face of Covid-19 EuroPython 2020 - Keynote - 2020-07-23 - Microsoft Online By Naomi Ceder 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Itamar Turner-Trauring - Best practices for production-ready Docker packaging
"Best practices for production-ready Docker packaging EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Itamar Turner-Trauring You know the basics of packaging your Python application for Docker, but do you know enough to run that image in production? Bad packaging can result in security and production problems, not to mention wasted time try to debug unreproducible errors. And even if you figure out the best practices, there's still a huge number of details to get right, many of which interact with each other in unexpected ways. My personal list includes over 60 Docker packaging best practices, and it keeps growing. So where do you start? What should you do first? To help you quickly package your application in a production-ready way, this talk will give you a plan to help you prioritize and iteratively implement these best practices, by starting with the highest priority best practices (security, automation), moving on the correctness and reproducibility, and finally focusing on optimization. To make this process more concrete, along the way you'll also learn some of the techniques needed to build production-ready images: Running as a non-root, for increased security. Debugging C crashes with faulthandler. Faster startup with pre-compiled .pycs. Smaller images by disabling pip caching. Avoiding Alpine Linux. And more! At the end of the talk you'll also get some resources to teach you even more best practices that can't be fit in a 30-minute talk. This talk is for Python programmers who know the basics of Docker packaging, and need to run the resulting images in a production environment. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Vinicius Gubiani Ferreira - Effective Code Reviews
"Effective Code Reviews EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Vinicius Gubiani Ferreira Does your company uses code review? In this talk I will demonstrate why it should start using them immediately, share the many benefits and situations we've gone through, besides good practices that should be used for effective code reviews, that add quality to the product/service that is being delivered. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alexys Jacob - A deep dive and comparison of Python drivers for Cassandra and Scylla
"A deep dive and comparison of Python drivers for Cassandra and Scylla EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Alexys Jacob 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Szymon Pyżalski - Full Stack Type Safety
"Full Stack Type Safety EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Szymon Pyżalski The introduction of PEP-484 gave us an option to enforce the internal type consistency of our Python applications. Our web projects, however, consist of multiple layers, with the Python app taking the role of an HTTP backend. What options do we have to ensure consistency across our stack? In this talk, we will see some technologies that we can employ to enforce the contract between the layers of our stack. Especially between the frontend and backend. We will demo, how this can be achieved with REST/Swagger and with GraphQL. As both the Graphene library and the open API support for django-rest-framework are both a work-in-progress, we would check, what is possible, and what is still lacking. We will also discuss various approaches to the design: backend first, auto-generating backend from the spec, and TDD, with their advantages and disadvantages. The topic would be discussed on a simple web application. We would try to play some realistic scenarios, where a careless developer breaks the contract to see how such a mistake can be spotted in the CI phase of the development cycle. Basic knowledge of Django and JavaScript is required to understand the talk. Some familiarity with TypeScript and ReactJS would also be helpful. However, I plan to explain the code to the listeners that didn’t have prior exposure to these technologies. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Philip Jones - An ASGI Server from scratch
"An ASGI Server from scratch EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Philip Jones I intend for this to be a fairly advanced talk that shows the steps required to go from a TCP echo server to a basic HTTP/1 ASGI server using asyncio for the IO. This is aimed at people who've read about asyncio, coroutines, etc and want to see them used in practice. This is a tutorial on how to build a HTTP/1 ASGI server using asyncio. I plan to start by building a TCP echo server and then add HTTP parsing and ASGI compliance. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Jessica McKellar - Python in Prison: how open source can change a criminal justice system
"Python in Prison: how open source can change a criminal justice system EuroPython 2020 - Keynote - 2020-07-23 - Microsoft Online By Jessica McKellar 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Nicholas Tollervey - How to Run a Corridor Track in a Remote Conference with Python
"How to Run a Corridor Track in a Remote Conference with Python EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Nicholas Tollervey One of the best aspects of any conference, and EuroPython in particular, is the corridor track. It's when you walk around the physical conference venue and bump into an old buddy, find yourself striking up a conversation with a friendly co-attendee in the coffee queue, or join a huddle of welcoming folks discussing something interesting. The corridor track is where the community comes alive. How do we remotely recreate the opportunity for chance encounters, unexpected conversation and exploration of a venue and new city with friends? We already have a template for a solution: MUDs (multi-user dungeons/dimensions), back in the day, were hugely popular virtual worlds of text. I asked myself, ""what would a MUD written in 2020 look like?"". Then, rather foolishly, ""how hard can this be?"". Happily, I'd written a MUD in Python as a recent entry to PyWeek. This talk describes how I initially created, extended and then refined my very own MUD, written in Python using asyncio, structlog, sly, redis and other fun technology. What's more, this MUD is special because it's a programmable MUD: it's really a multi-user development platform for on-the-fly coding of interactive virtual worlds. What could possibly go wrong..? Let's find out..! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Olga Matoula - Social distancing from your system’s dependencies: An API’s Story
"Social distancing from your system’s dependencies: An API’s Story EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Olga Matoula Have you ever imagined life without your tests breaking due to an external dependency having changed? My team chased the dream. We used mocks, stubs, other dependency isolation techniques, and the result was … a lot of ugly tests. We soon realized our tests required more care and they invoked some difficult questions. Is it possible that the limitations of the testing framework add or give away flaws on your design? Should your architecture be affected by your efforts to test the system? What did we learn in the process? This presentation will introduce some testing isolation concepts and discuss how the choice of each can affect your architecture design. We will go through the basics of the unittest.mock library and the pytest framework and explore their potential. By diving into scenarios, attendees will learn where these features can be applied more effectively, and more importantly, how an API design can and should be driven by the value of testability, allowing the tests to be structured around clarity, readability and a happy Continuous Integration platform. The target audience includes beginner Pythonistas, who are looking for ways to structure and test their code cleanly, while intermediate developers will enjoy a fun refreshment on dependency isolation and leave the session with practical examples on how to use it more effectively. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Priscila Gutierres - Radio Astronomy with Python
"Radio Astronomy with Python EuroPython 2020 - Poster session - 2020-07-23 - Poster 2 Online By Priscila Gutierres Looking at higher redshifts is equivalent to looking back in time: they improve the studies of cosmology, expanding our knowledge of the universe. It allows us to study various physical phenomena like the power spectrum of galaxies which describes the distribution of galaxies on a range of scales, galaxy clustering, and large scales, the detection of the Baryon Acoustic Oscillation feature. As a result, a significant amount of work has been done to increase the efficiency and accuracy of the process via new algorithms and optimization of existing ones. Astronomical datasets are undergoing a rapid growth in size and complexity as past, ongoing and future surveys produce massive multi-temporal and multi-wavelength datasets, with huge information to be extracted and analyzed. The alternative to a full spectroscopic survey is to obtain multi-color images of the sky and perform photometric redshift estimates for the galaxies we have available. When dealing with this problem, there are two main approaches: model-driven data analysis (template fitting methods) and data-driven analysis, which can use machine learning methods. To solve this problem, we use data-driven analysis, more specifically GPz (which uses Gaussian processes) and ANNz2 (which mainly uses neural networks), both python software. Prerequisites: machine learning and basic math 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Lilian Nandi - Taking Part in the Greatest Experiment in History
"Taking Part in the Greatest Experiment in History EuroPython 2020 - Poster session - 2020-07-23 - Poster 1 Online By Lilian Nandi 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mattia Ferrini - Decision Science with Probabilistic Programming
"Decision Science with Probabilistic Programming EuroPython 2020 - Poster session - 2020-07-23 - Poster 1 Online By Mattia Ferrini Generative Models are the Swiss Army Knife for the Decision Scientist. Generative models allow the simulation of scenarios based on different business hypotheses (Bayesian priors). With Probabilistic Programming, decision makers can simulate the impact of business drivers in times of great uncertainty. Furthermore, Probabilistic Programming Languages provide all the inference tools necessary to identify the assumptions that have most likely generated an outcome. Inference is a statistical tool that enables optimal decision-making based on models that explicitly quantify uncertainty. Generative models of key optimization parameters are necessary input to Robust Optimization and Stochastic Programming problems. Python provides all the tools to successfully integrate Probabilitistic Programs with Robust and Stochastic Optimization and therefore cope with high uncertainty in optimization. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Abdur-Rahmaan Janhangeer - Django Clone From Scratch With Flask
"Django Clone From Scratch With Flask EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Abdur-Rahmaan Janhangeer With Python, when thinking of web frameworks, two that come into mind are Django and Flask. Instead of having to choose one of the two, this session shows how you can engineer Flask to achieve a simili-Django app. It's a dive into the internal components of Django and the idea behind. The session covers different Flask development patterns to finally finish with an app that's functionally similar to Django with some extra features in for free. It also lists some caveats identified with such a pattern. This session requires attendees to know Flask and having used Django for building at least one project. At the very least it assumes the knowledge of models, views, controller, templates and migrations. It discusses along the way the educational and pedagogical aspect of learning web frameworks and proposes a syllabus. It discusses the benefits of learning Flask and the necessity of learning the two as a Pythonista. Django is the go-to framework for web development and it's no surprise that most freelancing jobs require Django. Flask is appreciated for the flexibility it gives. The session also touches about how we can better promote Flask through education. The session finishes with the hurdles identified when getting started with web development in Python, pulled from personal teaching experience. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ruud van der Ham - Attractive GUIs with PySimpleGUI
"Attractive GUIs with PySimpleGUI EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Ruud van der Ham In the Python landscape, there are several high-end GUI packages. Of course, there’s tkinter which is part of the standard library. And there is wxPython and several versions of Qt. What they share is that they are very flexible but not only have a steep learning curve but also take considerable development effort to realize even a simple user interface. At the other of the spectrum, there are several design tools that either generate code of a layout structure. In many cases, the functionality is rather limited, though. Relatively recent, an independent open-source developer (not me) has made a product that tries to bridge the gap between these two worlds: PySimpleGUI. This package runs on top of tkinter, QT for Windows, wxPython and Remi. In this talk, I want to show the design methodology behind this fascinating product that might change the way people look at GUIs. I will start with live coding a simple yet not evident program that shows the basic concepts. With this, I will demonstrate the design philosophy. PySimpleGUI can also be used to implement a user-friendly interface as opposed to command-line interfaces. From there, I will give an overview of some more elements present in this package. Finally, I will show a full-featured GUI program with several bells and whistles. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Chase Stevens - Painless Machine Learning in Production
"Painless Machine Learning in Production EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Chase Stevens Developing machine learning models is easy; training, deploying, monitoring, scaling, and maintaining them in an automated fashion - all while maintaining your sanity - is hard. In this session, I'll discuss the infrastructure and tooling my small team of data science practitioners and engineers is using to manage and orchestrate the machine learning model lifecycle, including pitfalls we've encountered along the way. Particular attention will be paid to where we've opted to use off-the-shelf solutions versus developing our own, the importance of developer ergonomics, and how to maximally empower data scientists to get their work into production without the need for a dedicated MLOps team. The talk will cover our ML stack as it exists in production today, and will touch on our application of a number of technologies and techniques, including: - AWS SageMaker - Airflow - Docker - Cookiecutter - Property-based testing - Jsonschema - Linting - Slack integration - Model artifacts and diagnostics - Automated deployments and rollbacks - Healthchecks - Autoscaling - DBT At the end of the session, attendees should expect to leave with new insights that they can apply immediately to their own ML systems and infrastructure, as well as a better understanding of how to minimize engineering and ops overhead, in the real world, across data science teams of any size and composition. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Shreya Khurana - Train. Serve. Deploy! Story of a NLP Model ft. PyTorch, Docker, Uwsgi and Nginx
"Train. Serve. Deploy! Story of a NLP Model ft. PyTorch, Docker, Uwsgi and Nginx EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Shreya Khurana Natural language processing has seen leaps of technology progress with Machine Learning becoming the norm of solving the major problems in this area, with Machine translation being one of the major problems in this area. Neural machine translation systems are now used to convert sentences or phrases from one language to another, or in general, for sequence to sequence modeling. In this talk, we’ll be covering the steps from scratch to preprocess, train and serve a NMT model using PyTorch. While building a highly accurate model is a prerequisite to getting good quality translations, often in industry, we also need to make sure we can serve the model to customers without getting timeouts or delays. The practice of serving models requires creating a web app to get client requests and process them in a way the model would understand. For this, we’ll use the various components of the application server environment - Flask, Docker, uwsgi and nginx. This talk is suitable for audience who is working in general with ML models and want to learn how to serve them or working specifically with NMT and want to learn about some quick prototyping tips. Prerequisites: Audience should be comfortable with the basic ML terminology and procedure of training models. NLP knowledge will be good, but is not a necessity as the focus will be on quick prototyping in production. By the end of the talk, the audience will have: - Learnt how to preprocess data for NLP systems - Learnt how to quickly prototype and train a translation model - Learnt how to create a web app for the NLP model using Flask - Learnt how to containerize a pytorch model using Docker - Learnt how to serve the model as an app using uwsgi, nginx and Outline: Introduction to translation systems, machine translation framework ML Modelling - Preprocessing data - Training - Generating new translations Serving and prototyping - Flask app - Docker container br / - Nginx + uwsgi + supervisord configurations - Putting it all together Good practices Q/A (optional?) 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
William Horton - A Brief History of Jupyter Notebooks
"A Brief History of Jupyter Notebooks EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By William Horton The Jupyter Notebook: many Python users love it, many other Python users love to hate it. But where did it come from? How did we come to have a tool that combines code execution, visualization, Markdown, and more? In this talk, we will dive into the development of the Jupyter Notebook and the older ideas that it built upon. To start, we will look at tools that popularized the “computational notebook” interface. In 1988, Mathematica introduced this interface to the scientific community. In the 90s, tools like Maple competed with Mathematica to provide the best scientific programming environment. The early 2000s saw the rise in popularity of open-source scientific tools in Python, including IPython, leading to IPython Notebook and then Jupyter. Turning to the present, we look at the expanding ecosystem beyond the Notebook. JupyterLab provides a richer programming environment. Voilà and Binder give users better options for sharing their notebooks. And increased language support has led to Jupyter being a tool not only for Julia, Python, and R, but for dozens of other languages. Finally: what is still to come? JupyerLab 2.0 promises even greater IDE-like capabilities, while IDEs increase their own Notebook support. Projects like Deepnote and CoCalc promise real-time collaboration on top of the Notebook interface. And the frustrations of working with Git are the source of a growing number of possible solutions. These efforts point us toward what the Jupyter Notebook could become. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Aly Sivji - Pluggable Architecture
"Pluggable Architecture EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Aly Sivji Applications and libraries with a pluggable architecture allow developers to add custom functionality. Plugins can customize user interfaces, create new workflows, and interface with legacy systems. Designing a plugin is often difficult - documentation is sparse, outdated, or non-existent. You end up diving into a unfamiliar codebase to figure out what to do. This talk examines Pluggable Architecture by creating a custom plugin system: we will design an interface, think about where to hook in custom behavior, and discuss testing techniques. Understanding these principles will enable us to write custom plugins for third-party libraries. Extend the functionality of your favourite library without touching existing code! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
D. R. Manrique - Roadmap to an Open Source Artificial Pancreas & Diabetes monitoring with Flask
"Roadmap to an Open Source Artificial Pancreas & Diabetes monitoring with Flask EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Diana Rodriguez Manrique Open Source has crossed frontiers and is widely used to solve problems in the health & science fields. In this talk we’ll learn about the many moving parts of continuous glucose monitoring for type 1 Diabetes as part of the open-source artificial pancreas project and building a notifier for the most used OSS continuous glucose monitoring dashboard: Nightscout. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Adrian Meyer - Detecting and Analyzing Solar Panels in Switzerland using Aerial Imagery
"Detecting and Analyzing Solar Panels in Switzerland using Aerial Imagery EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Adrian Meyer 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alejandro Saucedo - Real Time Stream Processing for Machine Learning at Massive Scale
"Real Time Stream Processing for Machine Learning at Massive Scale EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Alejandro Saucedo This talk will provide a practical insight on how to build scalable data streaming machine learning pipelines to process large datasets in real time using Python and popular frameworks such as Kafka, SpaCy and Seldon. We will be covering a case study performing automated content moderation on Reddit comments in real time. Our dataset will consist of 200k reddit comments from /r/science, 50,000 of which have been removed by moderators. We will be handling the stream data in a Kubernetes cluster, and the stream processing will be handled using the stream processing library Kafka. We will be running the end-to-end pipeline in Kubernetes with various components legeraging SKLearn, SpaCy and Seldon. We will then dive into fundamental concepts on stream processing such as windows, watermarking and checkponting, and we will show how to use each of these frameworks to build complex data streaming pipelines that can perform real time processing at scale by building, deploying and monitoring a machine learning model which will process production incoming data.. Finally we will show best practices when using these frameworks, as well as a high level overview of tools that can be used for monitoring in-depth. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Eyal Trabelsi - Elegant Exception Handling
"Elegant Exception Handling EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Eyal Trabelsi Error handling is hard. Regardless of the approach you take, it usually means littering your application with checks and validations that greatly reduce code readability. So how can we tackle exceptions? 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Eran Friedman - Boosting simulation performance with Python
"Boosting simulation performance with Python EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Eran Friedman Our product uses a fleet of real (not virtual) robots to perform different tasks in a fulfillment warehouse. Simulation is an essential tool in this kind of product: it allows to perform regression tests and test new features without the need for real and expensive hardware, to compare the impact of different algorithms and optimizations, to inject failures, and more. Tasks performed by physical robots take time (movement over the warehouse, box lifting, etc.), but in simulation, where virtual robots are used, there is no need to wait all that time. I will describe our implementation of the Discrete-Event Simulation approach which allows us to simulate hours of real-life in minutes. Shortening simulation time improves the development process by providing faster feedback to developers and quicker CI and testing cycles. Another powerful advantage is a more deterministic simulation - using this approach, each component in the system gets equal opportunity (CPU time) in each time tick, which is not affected by the underlying machine that the simulation is running on. Also, it is possible to simulate any date and hour easily, and by that we wouldn't panic before the ""Y2K bug"". I will elaborate on some challenges we encountered: time leak of event-driven components, differences between dev and production environments and running a distributed simulation due to the transition to microservices. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Laurent PICARD - Building smarter solutions with no expertise in machine learning
"Building smarter solutions with no expertise in machine learning EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Laurent PICARD ML? API? AutoML? Python is the language of choice to solve problems with machine learning, but what can we build in only a few hours or days and without any expertise? In this session, we'll see how to benefit from existing ML models and how to create a custom model with AutoML techniques. We’ll also be active players of a live demo, so don't put your smartphone on airplane mode! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
William A - Deploy your Machine Learning Bots like a boss with CI/CD
"Deploy your Machine Learning Bots like a boss with CI/CD EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By William A Context: Today is relatively easy to create and train a conversational agent using Machine Learning Techniques, fire it up and showcase it in your computer Problem: Sharing your chatbot with the outside world is not as easy as training your models. Load Balancer, Unit Test, Integration Tests, Differential Tests ... Text Analytics and retrain the models to better serve your audience goes way beyond the simple agent that runs in the developer environment Solution: I want to show how from my experience of deploying bots to production, leveraging DevOps + DataScience skills along with an entry level knowledge of Databases, CI/CD and distributed systems you can take your prototypes to a next level, deploy, iterate and re-train your models faster. Pre-reqs: Entry level understanding of CI/CD Pipelines, NLP, jupyterhub, Version Control, Rasa 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Michał Wodyński - Difficulties of Python code development:packages,virtualenvs and package mangers
"Difficulties of Python code development:packages,virtualenvs and package mangers EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Michał Wodyński In this presentation I will show different packages that are used in Python. I will point out differences and explain the prons and cons of using them during code development. After that we will jump to the topic of virtualenvs and popular tools that are used for managing them. I will explain what is purpose of the virtualenvs in Python and why we should use them. Finally we will focus on the most important topic without which development is not possible – package mangers. Package managers it is wide topic in Python world. There is many package mangers and currently we have tools like pip, pipenv or poetry but it is not obvious which of them we should use in first place. Which of them are recommended to use? What are prons and cons of certain package mangers? Is there any other not well known packages mangers? How package mangers are packaging Python code? Which of the package mangers are good for data scientists? Is your package manger is resolving dependencies? This questions can appear especially when you are beginner and just to want start working with Python. Unfortunately form the beginning you must face the problem which of the package manger you should use. In this presentation I will answer all of this questions. I will list popular package mangers and some not known. I will show differences and which of them are best for which case. Also I will explain differences between packages that are used by different packages mangers. If you are interested in code development and package mangers or you are just confused which of them you should use this presentation is definitely for you. During this presentation I will answer all questions and I will wipe out all doubts about packages, package mangers and virtualenvs. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Chin Hwee Ong - Speed Up Your Data Processing
"Speed Up Your Data Processing EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Chin Hwee Ong In a data science project, one of the biggest bottlenecks (in terms of time) is the constant wait for the data processing code to finish executing. Slow code, as well as connectivity issues, affect every step of a typical data science workflow — be it for network I/O operations or computation-driven workloads. In this talk, I will be sharing about common bottlenecks in data processing within a typical data science workflow, and exploring the use of parallel and asynchronous programming using concurrent.futures module in Python to speed up your data processing pipelines so that you could focus more on getting value out of your data. Through real-life analogies, you will learn about: ol Sequential vs parallel processing, Synchronous vs asynchronous execution, Network I/O operations vs computation-driven workloads in a data science workflow, When is parallelism and asynchronous programming a good idea, How to implement parallel and asynchronous programming using concurrent.futures module to speed up your data processing pipelines /ol This talk assumes basic understanding of data pipelines and data science workflows. While the main target audience are data scientists and engineers building data pipelines, the talk is designed such that anyone with a basic understanding of the Python language would be able to understand the illustrated concepts and use cases. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Eyal Trabelsi - Practical Optimisations for Pandas
"Practical Optimisations for Pandas EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Eyal Trabelsi Writing performant pandas code is not an easy task, in this talk I will explain how to find the bottlenecks and how to write proper code with computational efficiency, and memory optimisation in mind. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Naoise Holohan - Diffprivlib: Privacy-preserving machine learning with Scikit-learn
"Diffprivlib: Privacy-preserving machine learning with Scikit-learn EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Naoise Holohan Data privacy is having an ever-increasing impact on the way data is stored, processed, accessed and utilised, as the legal and ethical effects of data protection regulations take effect around the globe. Differential privacy, considered by many to be the strongest privacy guarantee currently available, gives robust, provable guarantees on protecting privacy, and allows tasks to be completed on data with guarantees on the privacy of individuals in that data. This naturally extends to machine learning, where training datasets can contain sensitive personal information, that are vulnerable to privacy attacks on trained models. By using differential privacy in the training process, a machine learning model can be trained to accurately represent the dataset at large, but without inadvertently revealing sensitive information about an individual. Diffprivlib is the first library of its kind to leverage the power of differential privacy with scikit-learn and numpy to give data scientists and researchers access to the tools to train accurate, portable models with robust, provable privacy guarantees built-in. In this talk, we will introduce attendees to the idea of differential privacy, why it is necessary in today's world, and how diffprivlib can be seamlessly integrated within existing scripts to protect your trained models from privacy vulnerabilities. Attendees will be expected to have a basic understanding of sklearn (i.e., how to initialise, fit and predict a model). No knowledge of data privacy or differential privacy will be assumed or required. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Leonardo Giordani - Clean Architectures in Python
"Clean Architectures in Python EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Leonardo Giordani Architectural considerations are often overlooked by developers or completely delegated to a framework. We should start once again discussing how applications are structured, how components are connected and how to lower coupling between different parts of a system, to avoid creating software that cannot easily be maintained or changed. The “clean architecture” model predates Robert Martin, who recently brought it back to the attention of the community, and is a way of structuring applications that leverages layers separation and internal APIs to achieve a very tidy, fully-tested, and loosely coupled system. The talk introduces the main ideas of the architecture, showing how the layers can be implemented in Python, following the content of the book “Clean Architectures in Python”. The book recently reached 11,000 downloads and many readers found it useful to start learning how to test software and how to structure an application without relying entirely on the framework. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Takuya Futatsugi - Bringing your Python script to more users!
"Bringing your Python script to more users! EuroPython 2020 - Talk - 2020-07-23 - Ni Online By Takuya Futatsugi It is wonderful to automate boring stuffs with Python. In Japan, new introductory books are being published every month and more and more Pythonistas are working on automation. A Python script that is useful to you may be useful to others. So I talk about how to enable others to use your script. In this talk, I use a simple script which can reduce the width and the height of a specified image in your computer. I assume someone who's read the introductory book can understand the script. First, I introduce Command Line Interface (CLI) to solve hardcoding in the sample script. After implementing CLI, you don't need to edit the script. Second, I introduce Grafical User Interface (GUI) to make the script more user-friendly. Finally, I introduce web application so that users can the script without installation. All users have to do is connecting the Internet! The timeline is supposed to be the following: h1Introduction (3min)/h1 self-introduction motivation of this talk sample script (pathlib, Pillow) h1CLI (5min)/h1 problem: need to edit the script introduce argparse module (pass target file path from command line) about positional arguments and optional arguments check whether a path points an existing file (type parameter of add_argument()) h1GUI (9min)/h1 problem: CLI is not easy to handle than GUI introduce eel eel's elements: HTML, CSS, JavaScript hello world in eel file access in eel app convert sample script to eel app (user can see which image is specified as target😃) how to distribute h1Web app (9min)/h1 problem: Users need to install introduce Web app server / client actually eel's elements are used in web app (we can recycle codes) introduce Flask hello world in flask static files in web app how to deploy (heroku) h1wrap up (1min)/h1 h1Q&A (3min)/h1 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alexander Hendorf - 15 Things You Should Know About Spacy
"15 Things You Should Know About Spacy EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Alexander Hendorf spaCy is a free, open-source library for advanced Natural Language Processing (NLP) in Python. It was specifically designed for production use and it's a great tool to build applications that process text and help to “understand” large corpuses. A robust understanding of Python inner mechanisms is very useful for getting your head around what Space can do for you, what is fast or time consuming. Ans who do you store Space models anyway and what are they. Plugins? - sure! In this talk I'll present 15 things you should know about Spacy for the better and worse. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Tania Allard - Docker and Python: making them play nicely and securely for Data Science and ML
"Docker and Python: making them play nicely and securely for Data Science and ML EuroPython 2020 - Talk - 2020-07-23 - Parrot Data Science Online By Tania Allard Docker has become a standard tool for developers around the world to deploy applications in a reproducible and robust manner. The existence of Docker and Docker compose have reduced the time needed to set up new software and implementing complex technology stacks for our applications. Now, six years after the initial release of Docker, we can say with confidence that containers and containers orchestration have become some of the defaults in the current technology stacks. There are thousands of tutorials and getting started documents for those wanting to adopt Docker for apps deployment. However, if you are a Data Scientist, a researcher or someone working on scientific computing wanting to adopt Docker, the story is quite different. There are very few tutorials (in comparison to app/web) and documents focused on Docker best practices for DS and scientific computing. If you are working on DS, ML or scientific computing, this talk is for you. We'll cover best practices when building Docker containers for data-intensive applications, from optimising your image build, to ensuring your containers are secure and efficient deployment workflows. We will talk about the most common problems faced while using Docker with data intensive applications and how you can overcome most of them. Finally I'll give some practical and useful tips for you to improve your Docker workflows and practises. Attendees will leave the talk feeling confident about adopting Docker across a range of DS, ML and research projects. Who and Why (audience) This talk is designed for folks working in data-intensive environments (i.e. Machine Learning, Data Science, research and scientific computing) and that are either using Docker or want to learn more about how to use Docker in these environments. Attendees will leave the talk feeling confident about adopting Docker in their workflows as well as have acquired several best practices and guidelines to do this robustly. Introduction (5 minutes) About me When is Docker the right choice? Docker for all Python users: introduction to Docker in Machine Learning (ML), Data Science (DS) and research contexts The usual culprits Optimising for data-oriented application (10 minutes) Creating a data-oriented Docker image - how is this different from an app/web image? Choosing the right base image - set yourself for success Dependencies, volumes and code best practices Security and performance (10 minutes) Finding vulnerabilities in your images Image consistency and reproducibility Optimising image building - cache and image size considerations Do not reinvent the wheel - automate! (10 minutes) Consider tools to assist with Dockerfile generation - e.g. repo2docker, dokta Creating templates for projects Automating image build and publishing - e.g. GitHub actions Automated deployment strategies - going from local to deploying your containerised application Conclusions (5 minutes) Top 10 best practices when working with Docker and Python for DS/ML and research Additional resources Thanks and getting in touch 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
JunWei Song, KunYu Chen - So, You Want to Build an Anti-Virus Engine?
"So, You Want to Build an Anti-Virus Engine? EuroPython 2020 - Talk - 2020-07-23 - Ni Online By JunWei Song, KunYu Chen https://github.com/quark-engine/quark-engine Android malware analysis engine is not a new story. Every antivirus company has their own secrets to build it. With python and curiosity, we develop a malware scoring system from the perspective of Taiwan Criminal Law in an easy but solid way. We have an order theory of criminal which explains stages of committing a crime. For example, crime of murder consists of five stages, they are determined, conspiracy, preparation, start and practice. The latter the stage the more we’re sure that the crime is practiced. According to the above principle, we developed our order theory of android malware. We develop five stages to see if the malicious activity is being practiced. They are ol Permission requested. Native API call. Certain combination of native API. Calling sequence of native API. APIs that handle the same register. /ol We not only define malicious activities and their stages but also develop weights and thresholds for calculating the threat level of a malware. Malware evolved with new techniques to gain difficulties for reverse engineering. Obfuscation is one of the most commonly used techniques. In this talk, we present a Dalvik bytecode loader with the order theory of android malware to neglect certain cases of obfuscation. Inspired by the design principles of the CPython interpreter, our Dalvik bytecode loader consists of functionalities such as 1. Finding cross-reference and calling sequence of the native API. 2. Tracing the bytecode register. The combination of these functionalities (yes, the order theory) not only can neglect obfuscation but also match perfectly to the design of our malware scoring system. Further, we will also show a case study of Android malware and demonstrate how the obfuscation technique is useless to our engine. Last but not least, we will be open-sourcing everything (Malware Scoring System, Dalvik Bytecode Loader) during our presentation. Audience 1. Who is this talk for? - Anyone who's interested in cyber security or anyone that wants to know how to build an anti-virus engine with Python. ol What background knowledge or experience do you expect the audience to have? A little of Android application development and malware analysis. What do you expect the audience to learn or do after watching the talk? The Dalvik bytecode loader is written as a python module, the audiences can use this module to boost up their malware analysis. The malware scoring system can be applied not only to Android malware but also can be applied for PE files or ELF files in other OS. The audience can copy our ideas to extend their work. Everything’s open-sourced. /ol Outline ol Introduction of Malware Scoring System. First, we will detail how we decode Criminal Law to simple principles. For example, principles to define crime, penalty and the order theory of criminal, etc. And then we will detail how do we develop the order theory of android malware and other developed theories that construct the malware scoring. Design Logic of the Dalvik Bytecode Loader. Once the malware scoring system were built, this will discuss the design logic of our Dalvik bytecode loader which includes our obfuscation-neglect module and bytecode register tracing module. We will also detail why the order theory of android malware succeeds at neglecting the obfuscation. Quark Engine Practice - Case Study of Android Malware Next, we will practice our engine and case study through an android malware. Moreover, we will also demonstrate our obfuscation-neglect technique against obfuscation malware. Future works Here, we will discuss the limitations of our engine. For example, the challenge of our Dalvik bytecode loader. Also, we will share our plans of implementing more detection techniques conquering the escape detection of malware. /ol 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mridu Bhatnagar - Object Internals
"Object Internals EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Mridu Bhatnagar This talk is intended to explain to participants what is happening under the hood when they are playing around with different python built-in data structures. Explain the concepts such that they are not surprised by the behavior of Python. Pre-requisites: Anyone who knows built-in python data structures like List, Dictionaries, set, etc. Curiosity questions that the talk answers: 1. What happens to the memory address when * operator is used? 2. When does python create a new object in memory? 3. What does it refer to the mutability and immutability of objects in Python? 4. If the outer object is immutable but the reference objects are mutable. Can the elements be added? 5. What is the difference at the memory level when we refer to deep copy and shallow copy in lists? 6. Operations like List.sort and sorted in python? What to use, when to use? What happens at the memory level? 7. What is the difference between is vs ==? When should it be used? 8. Lots and lots of interesting examples. 9. How do we determine the memory reference id associated with the object? 10. Meaning of assigning a value to a variable in Python. The existing slides use screenshots. But, I'll be including more interesting examples and would replace the screenshots with GIFs. So, that folks get a feeling of live coding and remain interested in the presentation. Along with the visual representation of what is happening at the memory level. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Gajendra Deshpande - Deceptive Security using Python
"Deceptive Security using Python EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Gajendra Deshpande Imagine you are passing through an unknown street at midnight and you find that some anti-social elements are following you. To save yourself from them you start running and look for a safe place to hide. On the way, you will find a good person and requests him to help you. He hides you in his place to protect you. When these anti-social elements visit a good person’s place and enquire about you, the good person misguides them and redirects them to some other place in order to protect you. This is exactly how deception works. In this analogy, YOU are the resources to be protected, anti-social elements are the hackers who want to gain access to the resources, and a good person is a deception technique that protects the resources from hackers by making them fall in the trap. The talk begins with an introduction to deception technology, deception types, and methods, a deceptive security life cycle. In this talk, we will demonstrate the following deception tools implemented using python language: • WebTrap (https://github.com/IllusiveNetworks-Labs/WebTrap): is designed to create deceptive webpages to deceive and redirect attackers away from real websites. The deceptive webpages are generated by cloning real websites, specifically their login pages. • DemonHunter (https://github.com/RevengeComing/DemonHunter): is a distributed low interaction honeypot with Agent/Master design Finally, we will conclude the talk with how built a deception tool and demonstrate its working. How we implemented a deception tool in python using machine learning: We designed a deception tool in python language using PyBRAIN package to model and mitigate XPath injection attacks for web services. It is known that XML can be used to store the data and this data can be queried using XPath query language. XPath is a query language, it has injection issues similar to SQL. To handle this issue, we proposed a solution, which uses a count-based validation technique and Long Short-Term Memory (LSTM) modular neural networks to identify and classify atypical behavior in user input. Once the atypical user input is identified, the attacker is redirected to fake resources to protect the critical data. Our experiment resulted in over 90% accuracy in the classification of input vectors. Outline 1. Introduction to deception, Deception types, Deception technology applicable methods and Deception Life cycle(08 Minutes) 2. Demonstration of WebTrap deception tool(04 Minutes) 3. Demonstration of DemonHunter deception tool(04 Minutes) 4. Discussion of our deception tool and demonstration(06 Minutes) 5. Conclusion and Questions(03 Minutes) Audience No experience level of Python is needed. In general, anyone can attend this talk and learn about applying deception techniques and machine learning to application security. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ram Rachum - Live-coding a music synthesizer
"Live-coding a music synthesizer EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Ram Rachum This is going to be a fun live-coding session using NumPy and SoundDevice. The goal of this talk is to make the computer produce realistic-sounding instrument sounds, using nothing but math. All the code will be written live and we'll hear the audio that it produces. We’ll start with creating a simple sound using a sine wave. We’ll gradually make it sound more like a real instrument, learning a little bit about music theory on the way. We’ll add features one-by-one until by the end of the talk, we’ll hear our synthesizer play a piece of classical music. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Griffith S Rees - Resurrecting a django project in python 2.7 for 3.8
"Resurrecting a django project in python 2.7 for 3.8 EuroPython 2020 - Poster session - 2020-07-24 - Poster 2 Online By Griffith S Rees Goals: Describe the process I went though to return to and finish the code I wrote for my PhD modelling the geographic growth and decline of a Bulletin Board Systems (BBS) community called FidoNet. I had to leave the project for 2 major surgeries and finally returned to finish, validate the results and present a paper at the Sunbelt conference in Paris. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ruud van der Ham - Simulation of logistic systems in Python with salabim
"Simulation of logistic systems in Python with salabim EuroPython 2020 - Poster session - 2020-07-24 - Poster 2 Online By Ruud van der Ham Discrete event simulation is a very powerful technique in many fields, like transport, warehousing, hospitals, manufacturing and logistics. There are several commercial packages that provide high end GUIs to design a system and to animate the operations. These packages are neary always close source and are very expensive (think USD 10-20 K per user). Often implementing complex algorithms is cumbersome. On the other end of the spectrum are open source packages that use existing program languages. Python is particularly interesting because of the vast number of (scientific) packages, like machine learning, statistics and databases. In te Python landscape there is SimPy, that is rather limited in functionality. In this poster I will present my discrete even simulation package called salabim. Salabim uses coroutines via generators and makes it very easy to model complex systems. The package offers advanced real time (2D) animation, monitoring and statistical sampling. I will show some applications and how a simple model is built up. Ruud van der Ham, core developer salabim 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Vijay Sajjanar - Reduce hardware costs in Internet of Things using Python
"Reduce hardware costs in Internet of Things using Python EuroPython 2020 - Poster session - 2020-07-24 - Poster 2 Online By Vijay Sajjanar I guide students in developing systems which are real world and need less hardware. This is possible in 2 steps. One,reduce collecting data which is already available online. Two, compute on cloud instead on the hardware. Cloud computing and Web services have opened a plethora of ways which were science fiction for electronics academia. Python packages such as requests, beautifulsoup and pyserial automate electronics at the grassroot level pushing all complexities to the cloud. This talk is about how I motivate students to use python for tasks which otherwise would require complex setup and costly hardware. I will present case studies of accessing websites (ethically per se!) of Indian Meteorological Department and Indian Railways for Internet of Things. Ready to return to a classroom session? Login for More!! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Krishna Kanta Singh - Writing Extensions and Bindings for GPU made Easy
"Writing Extensions and Bindings for GPU made Easy EuroPython 2020 - Poster session - 2020-07-24 - Poster 1 Online By Krishna Kanta Singh As Deep Learning Engineer and Researcher we are always trying to optimize some bottleneck computation in our programs. Sometimes we are faced with situations when scientific libraries like NumPy, SciPy aren't just cutting it or worse there are no libraries that implement the esoteric function on our expensive GPU hardware. *Writing Custom C and Cuda Extension becomes an important skill and necessity for applications that require really fast computation. * In this talk, we go through a detailed example of image search on billions of items, we write custom C and Cuda kernel for distance computation and learn how to connect them seamlessly with our python codebase. We compare methods for writing these extensions and bindings for python in terms of both speed and ease of use. Finally, we make it all work together by hacking the setup.py file for easy deployment and sharing of the 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Gunjan Dewan - Developing a match-making algorithm between customers and Go-Jek products!
"Developing a match-making algorithm between customers and Go-Jek products! EuroPython 2020 - Poster session - 2020-07-24 - Poster 1 Online By Gunjan Dewan GoJek has millions of monthly active users in Indonesia across our 20+ products and services. A major problem we faced was targeting these customers with promos and vouchers that were relevant to them. We developed a generalized model that takes into account the transaction history of users and gives a ranked list of our services that they are most likely to use next. From here on, we are able to determine the vouchers that we can target these customers with. In this poster, I will be presenting our process while developing the model, the challenges we faced during the time, how we used PySpark to tackle these challenges and the impact it had on our conversion rates. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Aaron Ma - Machine Learning for Everyone
"Machine Learning for Everyone EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Aaron Ma Machine learning (ML) is becoming an essential technology for our day to day life. Stop taking ML as a threat and learn it today as not learning it is a HUGE LOSS! Get started today with ML in Aaron's remarkable 45-mins talk. We will begin by talking about the paradigm of ML, then taking a deep dive into Neural Networks and building a Neural Network from scratch with Keras and TensorFlow (the hottest machine learning framework). You'll master the magic of neural networks that are powering incredible advances both in AI, self-driving cars, and much more! Finally, we will finish off by talking about Reinforcement learning and how it is empowering YouTube suggestions along with tips-and-tricks from a specialist plus a grand finale mind-blowing demo. Ready to master the paradigm of ML? Let's get started. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Dean Wampler - Ray: A System for High-performance, Distributed Python Applications
"Ray: A System for High-performance, Distributed Python Applications EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Dean Wampler Ray (http://ray.io) is an open-source, distributed framework from U.C. Berkeley’s RISELab that easily scales Python applications from a laptop to a cluster. While broadly applicable, it was developed to solve the unique performance challenges of ML/AI systems, such as the heterogeneous task scheduling and state management required for hyperparameter tuning and model training, running simulations when training reinforcement learning (RL) models, and model serving. Ray is now used in many production deployments. I'll explain the problems that Ray solves for cluster-wide scaling of general Python applications and for specific examples, like RL workloads. Ray’s features include rapid scheduling and execution of “tasks” and management of distributed state, such as model parameters during training. I'll compare Ray to other libraries for distributed Python. This talk is for you if you need to scale your Python applications to a cluster and you want a robust, yet easy-to-use API to do it. You don't need to be a distributed systems expert to use Ray. You'll learn when to use Ray versus alternatives, how it’s used in several open source systems, and how to use it in your projects. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Philipp Thomann - NLPeasy - a Workflow to Analyse, Enrich, and Explore Textual Data
"NLPeasy - a Workflow to Analyse, Enrich, and Explore Textual Data EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Philipp Thomann Ever wanted to try out NLP methods but it felt it too cumbersome to set up a workflow for textual data? How to enrich your data based on textual features and explore the results? NLPeasy (https://github.com/d-one/NLPeasy) does that: Enrich the data using well-known pre-trained models (Word embeddings, Sentiment Analysics, POS, Dependency Parsing). Then start the Elastic Stack on your Docker. Set-up indices and ingest it in bulk. And finally generate Kibana dashboards to explore the results. Complicated? Not at all! Just do it in a simple Jupyter Notebook. In this presentation we will give an architecture overview of the different components and demonstrate the capabilities of this Python package. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Miki Tebeka - IPython: The Productivity Booster
"IPython: The Productivity Booster EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Miki Tebeka IPython seems like a fancy Python shell. Why do we need it when we have PyCharm, VSCode, and other IDEs? In this talk you'll learn how to use the power of IPython for rapid development and how you can integrate it with existing tools. We'll cover magic commands, calling external process, usage of extended history, async/await and more. You'll also learn on some popular extension and cool configuration hacks (such as code%autoreload 2/code) Since Jupyter is based on IPython, you'll be able to use all of what you learned in Jupyter Lab/Notebooks as well. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ian Ozsvald - Making Pandas Fly
"Making Pandas Fly EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Ian Ozsvald Larger datasets can't fit into RAM - suddenly you can't use Pandas any more - but we need to analyse that data! First we'll review techniques to compress our data (maybe cutting our DataFrame RAM usage in half!) so we can process more rows using regular Pandas. Next we'll look at clever ways to make common operations run faster on DataFrames including dropping down to numpy, compiling with Numba and running multi-core. Finally for still-larger datasets we'll review Dask on Pandas and the new Vaex competitor solution. You'll leave with new techniques to make your DataFrames smaller and ideas for processing your data faster. This talk is inspired by Ian's work updating his O'Reilly book High Performance Python to the 2nd edition for 2020. With over 10 years of evolution the Pandas DataFrame library has gained a huge amount of functionality and it is used by millions of Pythonistas - but the most obvious way to solve a task isn't always the fastest or most RAM efficient. This talk will help any Pandas user (beginner or beyond) process more data faster, making them more effective at their jobs. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
V. Fedotova, F. Schlimbach - The Painless Route in Python to Fast and Scalable Machine Learning
"The Painless Route in Python to Fast and Scalable Machine Learning EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Victoriya Fedotova, Frank Schlimbach Python is the lingua franca for data analytics and machine learning. Its superior productivity makes it the preferred tool for prototyping. However, traditional Python packages are not necessarily designed to provide high performance and scalability for large datasets. From this talk you will learn how to get close-to-native performance with Intel-optimized packages, such as numpy, scipy, and scikit-learn. The next part of the talk is focused on getting high performance and scalability from multi-cores on a single machine to large clusters of workstations. It will be demonstrated that with Python it is possible to achieve the same performance and scalability as with hand-tuned C++/MPI code: - Scalable Dataframe Compiler (SDC) makes possible to efficiently load and process huge datasets using pandas/Python. - A convenient Python API to data analytics and machine learning primitives (daal4py). While its interface is scikit-learn-like, its MPI-based engine allows to scale machine learning algorithms to bare-metal cluster performance. - From the talk you will learn how to use SDC and daal4py together to build an end-to-end analytics pipeline that scales to clusters, requiring only minimal code changes. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mario Corchero, Marianna Polatoglou - Growing a Python Community at an Enterprise Scale
"Growing a Python Community at an Enterprise Scale EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Mario Corchero, Marianna Polatoglou 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Robson Junior - Mastering a data pipeline with Python: 6 years of learned lessons from mistakes
"Mastering a data pipeline with Python: 6 years of learned lessons from mistakes EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Robson Junior Building data pipelines are a consolidated task, there are a vast number of tools that automate and help developers to create data pipelines with few clicks on the cloud. It might solve non-complex or well-defined standard problems. This presentation is a demystification of years of experience and painful mistakes using Python as a core to create reliable data pipelines and manage insanely amount of valuable data. Let's cover how each piece fits into this puzzle: data acquisition, ingestion, transformation, storage, workflow management and serving. Also, we'll walk through best practices and possible issues. We'll cover PySpark vs Dask and Pandas, Airflow, and Apache Arrow as a new approach. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Sarah Gibson - Sharing Reproducible Python Environments with Binder
"Sharing Reproducible Python Environments with Binder EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Sarah Gibson As reproducibility gains traction in the data science and research communities, the need to package code, data and the computational environment is growing. There are many tools that address different aspects of this type of packaging, such as Jupyter Notebooks for literate programming, Docker for containerising and porting computational environments, and so on. But they represent barriers to reproducibility as each one requires time and effort to learn. Project Binder integrates Notebooks and Docker for generating reproducible computational analyses and combines them with a web-based interface and cloud orchestration engines. This means that analysts do not have to worry about all the moving parts so long as they have followed basic software best practices: their code is version controlled and they've captured the dependencies the analysis needs to run. Binder then hosts the compute in the cloud and makes it easily shareable by providing a unique URL to the code repository, without imposing additional overheads on the analyst. During this talk, Sarah will introduce Binder (the service), BinderHub (the technological infrastructure) and mybinder.org (a public instance of a Binder service, free for anyone to use) and demonstrate how it can be used to share Python environments and analyses. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Bence Arató - The Python Data Visualization Landscape in 2020
"The Python Data Visualization Landscape in 2020 EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Bence Arató Python offers many different data visualization libraries, and the sheer number of alternatives can be daunting to newcomers. This talk aims to introduce the most important visualization libraries, covering Matplotlib, Plotly, Bokeh and Altair, among others. It also provides a summary of the quickly developing dashboarding solutions, including Dash, Panel and Voila. The goal of talk is not just to provide a simple list of libraries, but also to highlight the main characteristics and inspirations for each, and summarize the recent developments as well. This talk is aimed to people who have some basic experience working with data in Python and would like to get a better understanding of the data visualization tool landscape. Some existing knowledge of pandas DataFrames is beneficial for understanding the examples, but not required. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Anmol Krishan Sachdeva - Painting with GANs: Challenges and Technicalities of Neural Style Transfer
"Painting with GANs: Challenges and Technicalities of Neural Style Transfer EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Anmol Krishan Sachdeva A lot of advancements are happening in the field of Deep Learning and Generative Adversarial Networks are one of them. We have seen GANs being applied for photo editing and in-painting, generating new image datasets and realistic photographs, increasing resolution of images (Super Resolution), and many more things. Some people have also exploited GANs for generating fake content. All the above-mentioned examples are result of a technique where the focus is to generate uncommon yet original samples from scratch. However, these examples have very less commercial applications and GANs are capable of doing much more. The focus of this talk is a technique called ""Neural Style Transfer (NST)"" which has numerous commercial applications in the gaming world, fashion/design industry, mobile applications, and many more fields. Challenges and technicalities of NSTs will be covered in great detail. We will teach the machines on how to paint images and utilize Style Transfer networks to generate artistic artefacts. The flow of the talk will be as follows: ~ Self Introduction 1 minute ~ A Succinct Prelude to GANs 10 minutes ~ Understanding Style Transfer 5 minutes ~ Learning about Neural Style Transfer Networks 5 minutes ~ Loss Functions: Content, Style, Total Variantion 10 minutes ~ Code Walkthrough and Result Analysis 5 minutes ~ Challenges and Applications 5 minutes ~ Questions and Answers Session 3-4 minutes 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Hui Xiang Chua - Top 15 Python Tips for Data Cleaning/ Understanding
"Top 15 Python Tips for Data Cleaning/ Understanding EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Hui Xiang Chua Data cleaning is one of the most important tasks in data science but it is unglamorous, underappreciated and under-discussed. These are some common tasks involved in data cleaning but not limited to: - Merging/ appending - Checking completeness of data - Checking of valid values - De-duplication - Handling of missing values - Recoding Most, if not all, of the time, the datasets that we have to analyze are unclean. i.e. they are not necessarily complete/ accurate/ valid. This will impact the accuracy of our analysis if we do not clean them properly. This talk covers how to perform data cleaning and understanding using primarily Pandas and Numpy. If you’re new to data analytics/ data science and are interested how to use Python to perform analysis, or if you're an Excel user hoping to move to Python, this talk might be for you. Participants should be at least familiar with the basics of Python programming. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Hongjoo Lee - Automating machine learning workflow with DVC
"Automating machine learning workflow with DVC EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Hongjoo Lee As software engineers work on CI/CD process as soon as they start a new project, data scientists and ML engineers define a pipeline for data as it flows through a typical workflow. Each step of the pipeline is fed data processed from its preceding step as CI/CD process starts from code changes. ""Pipelining ML project"" is sometimes misleading as it implies a large project with a group of engineers working on some large systems , being considered to be hard for an individual and unnecessary for a small project. Regardless of its size, having well organized pipelines for any ML projects is essential to succeed and actually it could be done easily with utilizing a proper tool. In this talk, we will go through a machine learning workflow divided into a few steps composing a ML pipeline from data ingestion to model deployment. Each step depends on data produced by previous step, which are controlled by DVC. DVC is open-source version control system for data scientist and ML engineer helping them to organize data, models and experiments for some ML projects. The presentation will not only introduce how to use the tool but also show how to organize a ML pipeline with some examples. The goal of this talk is to motivate data scientists and ML engineer to start building machine learning pipeline with DVC. Audience might expect a guide to using DVC for automating the pipeline. Also I will give some explanation about concepts of machine learning related techniques necessary for understanding the pipeline. This session is designed to be accessible to everyone in beginners level. Understandings of basic concepts of machine learning and version control system (preferably, Git) might be helpful but not mandatory 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Adinata Thayib - Running Unit Test on Top of Serverless Service
"Running Unit Test on Top of Serverless Service EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Adinata Thayib I will share on how to utilize serverless architecture for a less common scenario - unit testing. As part of the talk, we will also discuss different approaches to parallelizing unit test suite execution. Attendees will also learns on cost-benefit analysis related to increasing developer productivity. Outline: - Introduction - Different approaches to parallelizing unit test execution with pro & cons - What we learned (gotcha) when implementing serverless as a unit test runner - Cost-Benefit Analysis and usage report, - Q&A 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Fernando Masanori Ashikaga - Python Emergency Remote Teaching
"Python Emergency Remote Teaching EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Fernando Masanori Ashikaga During the pandemic lockdown of COVID-19, we found a very different context from the usual: a) students with much more time available for learning b) many students who did not have a personal computer and could only access classes by cell phone c) difficulty to realistically assess learning. In this lecture we will present the real experiences in a traditional programming course given during the Covid-19 pandemic. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Marc-Andre Lemburg - EuroPython 2021: Help us build the next edition!
"EuroPython 2021: Help us build the next edition! EuroPython 2020 - EuroPython session - 2020-07-24 - Ni Online By Marc-Andre Lemburg We need help with organizing and running EuroPython 2021. In this session, we will explain how the EuroPython workgroup model works and where you could help. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Find a new job - Sponsor Presentations
"Find a new job - Sponsor Presentations EuroPython 2020 - Talk - 2020-07-24 - Ni Online Many of our sponsor are looking to hire more developers and EuroPython is the perfect place to reach out to many of them. In this session, the sponsors will present themselves in short intros and you can then approach them directly in their sponsor virtual rooms (chat and Zoom) to discuss their offerings in more detail. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Elizaveta Shashkova - The Hidden Power of the Python Runtime
"The Hidden Power of the Python Runtime EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Elizaveta Shashkova Many people like Python for its simplicity and beauty. But every statement in Python, even the simple one, produces a lot of events during the program execution. These events are usually hidden from a user, so it helps developers to skip low-level implementation details and focus on bigger things. At the same time many parts of this hidden information are very useful and interesting to examine. The good news is that Python Runtime allows to retrieve it really simply, so there is no need to configure additional libraries or pass additional parameters to interpreter. Everybody can do it right inside their Python code. During this talk we will learn how Python allows to inspect current program state during the execution. We will learn about Python variables, frame objects and useful information they store. After that we will discuss several powerful tools which are based on the runtime information and which can be helpful for any Python programmer in their everyday life. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
David Bordeynik - Flasync Await
"Flasync Await EuroPython 2020 - Talk - 2020-07-24 - Ni Online By David Bordeynik Async is all the rage, mostly because it simplifies waiting for an operation that takes some time to finish. Python went all in on asyncio by changing the language to support it (async/await) iIn this microservices era where many of the applications we develop consume several 3rd party API services, async is the fast track to success. In this talk, I’ll demonstrate the benefits of going async for a web application, justify choosing Sanic over other web frameworks like aiohttp. I’ll do so by transforming a Flask backed application to a Sanic backed application. Finally, I’ll provide tips & tricks from my experience on measuring, monitoring and testing async code. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Anastasiia Tymoshchuk - Can we deploy yet?
"Can we deploy yet? EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Anastasiia Tymoshchuk What happens when your features are done, your MVP is ready and you want to deploy your first production build? What do you do then? How do you make your first production build instead of re-using your development one? is your code ready to handle real user interactions? This talk will show a production ready checklist for your Python code; what to look for when creating a production-ready Docker image; what are the differences between development and production environments and builds. You will see how to deal with exceptions, logs, and metrics with real-world use cases. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Cheuk Ho - How to be Pythonic? Design a Query Language in Python
"How to be Pythonic? Design a Query Language in Python EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Cheuk Ho Query language is an important part of a database system, it is how people manage their data and how they can make the data useful to them. Starting from the 70s, the world is full of relational databases and SQL was the way to make queries. However, SQL is valuable to an injection attack. Lots of efforts are being used to stop those attacks and it made workflow become less efficient. We don’t want to make the same mistake. That’s why using a Python query language is good. Having the Python community in our mind, we created WOQLpy, an open-source query language that lets users build queries in Python, instead of JSON-LD which is the native query language for our TerminusDB database. Now users can store data with a knowledge graph and make graph data visualization with Python. In the first part of the talk, we will talk about what challenges we have when creating a query language in Python, the method we use, the idea and theory behind, and how WOQLpy work. This part will include a quick live demo of using WOQLpy so audiences can have an impression on how to make a query and get the task done, that is, getting a meaningful graph visualization form the source CSVs. The process of how to create a database and schema, loading the data form many CSVs, making a query and visualization, will be demonstrated using just one python script. In the second part of the talk, we want to stimulate a discussion of what is a good design in Python and what is not. This part will be more interactive with the audiences, as we want to hear from you all, what would be the best for Pythonistas. By first suggesting some possible design, we will use a live voting system to gather opinions. This part of the talk will extend to the Q & A sessions to allow further discussions. This talk is for Pythonista at all levels who are interested in starting to design a package in Python, no matter if the audience has published a python library or not. By attending this talk, audiences will learn about how to design a Python package that will be useful to Pythonistas and hopefully encourage more people to publish open-source packages online. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Michael Howitz - We have nearly one million lines of Python 2 code in production – and now?
"We have nearly one million lines of Python 2 code in production – and now? EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Michael Howitz In this talk I am going to present possible approaches for a Python 3 migration of existing Python code running on Python 2.7. I'll evaluate which of these approaches seems suitable for a large code base and which principles should be paid attention to to increase the probability of a successful migration project. I'll use union.cms (a content management system used by German trade unions) to show the story of a successful migration project involving nearly one million lines of Python code. The story will include the obstacles we encountered and what we learned on the way. I believe that most of the discussed ideas and experience can also be used unchanged in smaller projects as the presented principles are very much the same. Goal of the presentation: You should be able to come up with a plan for migrating your Python 2 based projects to Python 3. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Wei Lee - Python Table Manners: Cut the Cookie Gracefully
"Python Table Manners: Cut the Cookie Gracefully EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Wei Lee h3Goals/h3 I expect the audiences to gain knowledge of the tools I mention and the primary usage of them. The tools will cover various aspects of software engineering (e.g., dependencies, testing, security, etc.). Also, I'll purpose how I combine all these tools in my development workflow as a sample for how the audiences can integrate these tools into their workflow. h3Outline for 30 minutes/h3 Dependency Management (4 min) Testing - Don't let your customer debug for you (4 min) Style Check and auto-fix (4 min) Task Management - No more repetitive typing (3 min) pre-commit - Prevent committing bad code into codebase (3 min) commitizen-tool - How good commit message can help (4 min) Security (3 min) Cookiecutter - Wrap up all the tools (3 min) Q & A (2 min) h3Outline for 45 minutes/h3 Dependency Management (5 min) Testing - Don't let your customer debug for you (5 min) Style Check and auto-fix (5 min) Task Management - No more repetitive typing (5 min) pre-commit - Prevent committing bad code into codebase (5 min) commitizen-tool - How good commit message can help (5 min) Security (5 min) Continuous Integration - Assemble all the trivial steps (5 min) Cookiecutter - Wrap up all the tools (3 min) Q & A (2 min) 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Smit Thakkar - Writing Clean Abstractions
"Writing Clean Abstractions EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Smit Thakkar Abstractions make things appear simple. This is one of the main concepts behind OOP. So what is it?! This talk will provide some guidelines on how to build abstractions that are extendable and scalable. I will start by bringing audience on same page, I will explain what are abstractions in programming with some examples, I will also compare what are strong and weak abstractions and also give some examples. Later on I will talk a bit about leaky abstractions and provide some examples. After brining audience to the same page I would switch focus to actual topic by talking about how bad abstractions are formed and then have a quick interactive session where I will show audience some interfaces and ask them to tell which abstraction is better and also bitch about the wrong things in the bad ones. After having good understanding of what makes abstractions bad, I would explain you various design pattern by doing post mortem of the python redis client. Lastly if you have any questions I would be happy to answer them. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Petertc Chu - Speak Python with Devices
"Speak Python with Devices EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Petertc Chu The talk will be a getting start guide on controlling hardware devices with Python. We know Python users are very keen on multitasking and always wish to know more about how it can be used in different tasks. This talk will help audiences exploring new Python skillset. Audiences may be inspired by this talk and apply it to many scenarios, e.g., IoT and infrastructure automation. Intended audiences include: 1. wish to know how Python can be used beyond data analysis and web dev 2. a Pythonista who interested in craft some touchable things 3. want to acquire something new into your Python skillset Audiences are expected to have basic knowledge about: 1. Python syntax and control flow 2. Computer and operating system (especially UNIX) After this talk, audiences will have: 1. The basic idea of controlling devices with Python 2. Expanding their Python skillset. Know how to use Python in another interesting and useful task besides ML, web scrapping, etc. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Tam-Sanh Nguyen - Writing and Scaling Collaborative Data Pipelines with Kedro
"Writing and Scaling Collaborative Data Pipelines with Kedro EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Tam-Sanh Nguyen The goal of this talk is to introduce data pipeline developers to QuantumBlack's approach for keeping data pipelines healthy and sustainable and facilitating collaboration between data scientists and data engineers by using our open source framework, Kedro. Attendees need between novice and intermediate knowledge of Python (enough to understand syntactic sugar and funargs) in order to appreciate this talk. As data continues to inform more and more business strategy, high quality, fully featured data pipelines have never been more critical. Small data scripts and single-coder science projects are not enough to keep up with the pace of day-to-day business and their ever-growing list of requirements. Now, more than ever, we need data engineers and data scientists to collaborate effectively. Yet, these two parties come with inherently competing needs. Data scientists need high data volatility and parameterization, for experimentation, and data engineers, on the other hand, need stability and performance, to deliver data. Furthermore, as pipelines grow, the cost of knowledge transfer and training new team members also increases. How can we get scientists and engineers to work well together, and sustain pipeline growth as the team also grows? For this, QuantumBlack created Kedro, a framework for writing data pipelines that addresses both the needs for flexibility and stability in its features and patterns of use. By using Kedro’s tools and operating model, we have enabled our teams to scale our single-developer, micro-pipes to industrial sized data processors with dozens of developers; all without sacrificing readability, quality, or stability. This talk will show you how. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Lidi Zheng, Pau Freixes - gRPC Python, C Extensions, and AsyncIO
"gRPC Python, C Extensions, and AsyncIO EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Lidi Zheng, Pau Freixes Goal - Encourage Python developers to understand C extensions by sharing gRPC Python’s practice, and advocate the adoption of AsyncIO. Prerequisite - Understand thread vs. process; - Interested in asynchronous programming. gRPC Brief - What’s gRPC Core? And what is gRPC Python? Cython To The Rescue - Why we picked Cython among all other available tools (e.g., pybind11, ctypes) - Debuggability: pdb & gdb The GIL Friction - How to delegate work to C extension - How to make multithreading work AsyncIO Topic - Not blocking the loop, the main headache. - Non-blocking I/O solution 1: replacing C libraries’ I/O operations - Non-blocking I/O solution 2: dedicated background poller thread - Performance improvement (10k - 20k for client, 4k - 16k for server) Migration to AsyncIO - Tolerate multithreading and AsyncIO in the same application - Make both API co-existable in the same application 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
EuroPython 2020 - Lightning Talks 07/23
"Lightning Talks 1 EuroPython 2020 - - 2020-07-23 - Microsoft Online 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Morning Announcements 07/24
"Morning Annoucements EuroPython 2020 - 2020-07-24 - Microsoft Online 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alexander Hultnér - API-schema-based testing with schemathesis
"API-schema-based testing with schemathesis EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Alexander Hultnér The goal with this talk is to introduce the audience to property-based testing for API’s using schemas to automatically generate test scenarios, enabling them to write more powerful tests faster. The talk will focus on a subset of the field of property-based testing where we focus on testing by automatically generating properties and test strategies from the API Schemas that we often already have. These tests ensure that our APIs conform to their specified schema and enables us to write a much larger amount of tests in less time. I will focus on the schemathesis library which leverages the strong hypothesis library as well as the hypothesis-JSONSchema extension strategies, and will in the future also support GraphQL via the hypothesis-graphql strategies. I’m a contributor to schemathesis and currently working on the future GraphQL support with schemathesis creator, Dmitry Dygalo. I will also compare it with its predecessor “swagger-conformance”, pure property-based testing through hypothesis, schema strategies with hypothesis-graphql and hypothesis-jsonschema, and discuss their advantages and disadvantages. I will also briefly talk about “QuickREST: Property-based Test Generation of OpenAPI-Described RESTful APIs” (https://arxiv.org/abs/1912.09686), the research paper that’s part of the inspiration for these tools. By focusing on property-based test generation using schemas we already have, I will show that a field like property-based testing, which can seem quite daunting at first, actually can have a low barrier to entry while yielding large amounts of value in return and is useful for most common web projects today. The talk will show how formal schemas for APIs can and will continue to provide additional value outside the scope of documentation. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Miloslav Pojman - HTTP/3 – Why should I care?
"HTTP/3 – Why should I care? EuroPython 2020 - Talk - 2020-07-23 - Brian Online By Miloslav Pojman HTTP is the foundation of the current web, and HTTP/3 is the upcoming major version of it. The new version is built on top of the QUIC transport protocol, originally developed in Google. HTTP/3 can change the Internet as we know it today. Since its beginning in the 90s, HTTP transfers data over TCP to ensure reliable connections between clients and servers. QUIC is a TCP alternative, reimplemented on top of unreliable and connectionless UDP. Proprietary Google implementation of QUIC is deployed worldwide and supported by Chrome browsers. Future HTTP/3 will be hopefully standardized by IETF soon, but many diverse implementations are available already today. HTTP/3 improves performance and increases privacy. The switch from TCP to QUIC allows us to address the inherent limitations of previous HTTP versions. The QUIC protocol is completely encrypted, including traffic control headers, which are visible in TCP. This talk introduces HTTP/3 and the underlaying QUIC protocol. It shows both advantages and disadvantages of the new technology, and it describes the landscape of the current implementations and suggests what you can try today. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Vinayak Mehta - The Hitchhiker's Guide to CLIs in Python
"The Hitchhiker's Guide to CLIs in Python EuroPython 2020 - Talk - 2020-07-23 - Microsoft Online By Vinayak Mehta Command-line applications and interfaces are used by both newcomers and experienced Python developers everyday. But do you know how they came to be? Hop on to this ship as we go through the CLI galaxy and look at its history, explore the CLI anatomy and discover some Python packages that can help us create them. We’ll then look at some widely used CLIs of our time. And emulate one of them by creating our own CLI using Click. Finally, we’ll package it and publish it on PyPI. Are you ready to travel faster-than-light using this ship’s Infinite Improbability Drive? Carry your towel! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Joseph Song - Durable Functions: A More Durable Azure Function
"Durable Functions: A More Durable Azure Function EuroPython 2020 - Poster session - 2020-07-23 - Poster 1 Online By Joseph Song 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Nicolas Kuhaupt - Probabilistic Forecasting with DeepAR and AWS SageMaker
"Probabilistic Forecasting with DeepAR and AWS SageMaker EuroPython 2020 - Talk - 2020-07-24 - Parrot Data Science Online By Nicolas Kuhaupt In time series forecasting we are interested in how the time series is going to continue in the future. This is of high importance in areas like forecasting energy production from renewable resources, forecasting demand of customers or the price of products. Many forecasting algorithms provide only the prediction. However, oftentimes we are also interested in the likelihood of the prediction and how much it may vary. This is what probabilistic forecasting is for. With every forecast, we also obtain an upper and lower bound with certain probabilities. For a long time, probabilistic forecasting was limited to traditional techniques like ARIMA. DeepAR is an algorithm that allows us to combine Deep Learning techniques with probabilistic forecasting. Additionally, in contrast to training a model for each time series individually, DeepAR suggests training one large forecasting model for all related time series. The algorithm was developed by Amazon and is also provided in AWS SageMaker. In this talk, we will understand the theoretical basics of DeepAR, have a look at a practical time series example and will demonstrate an implementation. In the end, you will be prepared to get started with your own forecasts. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alexander Condello - Building quantum applications with D-Wave's Leap
"Building quantum applications with D-Wave's Leap EuroPython 2020 - Talk - 2020-07-24 - Ni Online By Alexander Condello In the past, quantum computing was largely reserved for researchers, physicists, and scientists with direct access to physical quantum computing systems. But the game has changed, thanks to the cloud. Barriers to quantum computing are coming down quickly. Today, cloud access (like D-Wave’s Leap 2 quantum application environment) and improvements in quantum computing hardware, software, and developer tools are allowing programmers around the world to code on live quantum computers in real-time. Developers, students, and researchers around the world can now tap into the power of a quantum via their browser — quantum mechanical knowledge not required. Users and private companies have already built over 200 early applications on D-Wave’s computers in industries ranging from automotive to machine learning, aerospace, finance, and beyond. The quantum application era is here, and the growing quantum developer community is making it a reality. In this session, Alex Condello, Manager of Applications Development Technology and Tools at D-Wave Systems, will talk about the burgeoning quantum application development ecosystem, and how developers can start learning to code on a quantum computer today. This includes a walkthrough of Leap 2, D-Wave's new quantum cloud service equipped with hybrid solvers, and D-Wave's Ocean SDK. Alex will also explore some of the early applications that developers and companies have built to-date. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Francesca Tedeschi - The Phantom of Radon
"The Phantom of Radon EuroPython 2020 - Poster session - 2020-07-24 - Poster 1 Online By Francesca Tedeschi This project contains an open source Python library for image reconstruction in Axial Computed Tomography (TAC), based on the analytical Radon transforms of some classes of phantoms. The package is available on GitHub at the following address: https://github.com/francescat93/Exact_sinogram. The mathematical phantoms are fictitious images, composed of very simple geometric figures (ellipses, squares and rectangles) that, sampled with the Radon transform allows to build a fictitious signal, called (exact) sinogram. Using a phantom gives the advantage to test the reconstruction algorithm on a zero-noise data so the error we get is only due to numerical inaccuracies in the algorithm itself. We want to calculate two reconstructed images from the approximated and exact sinograms, obtained applying the iradon function of the Python library scikit-image on both of them. We expect a smaller error on the exact reconstructed image. This turns to be true on continuous regions, but near the discontinuities of the phantom the Gibbs phenomenon prevents us to obtain the same enhancement. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Camila Maia - ScanAPI
"ScanAPI EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Camila Maia In the current IT scenario, the use of APIs is, without question, widely vast, popular, and significant. It seems at least prudent to ensure they are working properly, as expected. To guarantee the quality of the data that is being consumed or used. To ensure that communication between services is occurring as expected. To ensure the system does, in fact, what it should do. ScanAPI is an open-source library that was created to solve all these points. ScanAPI provides an easy way to create integration tests for REST APIs via configuration files. The three main reasons that led me to the creation of this library were: ol To be a firefighter in a scenario where most of the reported bugs were directly related to some API contract being broken or some endpoint having a behavior different from that expected by the consumer. To need to deal with APIs with outdated or mistaken documentation. To need to debug an endpoint in the middle of a ""chain"" of other endpoints. Where I needed to recreate a state that depends on the action of other endpoints. /ol Given a fictitious example: debug an endpoint to reserve seats on an airplane, which depends directly on the previous call of an endpoint for user registration. The ScanAPI is open-source and written in Python. However, it can be used in APIs created in any other programming language, since the tests provided by it are integration tests. With ScanAPI you can: Use environment variables Create variables Chaining requests - making a request from a result of previous responses Hide sensitive information of the requests and responses in the generated report Write Python code - if you want, it's not necessary :) Topics I intend to address in this talk: Motivation to create the library What problems the library solves How to test an API using a ScanAPI Show the documentation generated by ScanAPI An overview of how it is implemented Where it is currently being used Next steps Project Link: https://github.com/scanapi/scanapi Prerequisites: - Python - REST APIs - Integration tests 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Siddha Ganju - 30 Golden Rules of Deep Learning Performance
"30 Golden Rules of Deep Learning Performance EuroPython 2020 - Keynote - 2020-07-24 - Microsoft Online By Siddha Ganju 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Guido van Rossum - Guido van Rossum Q&A
"Guido van Rossum Q&A EuroPython 2020 - Keynote - 2020-07-24 - Microsoft Online By Guido van Rossum 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Adam Hopkins - Overcoming access control in web APIs
"Overcoming access control in web APIs EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Adam Hopkins Great, you've developed a great web API. Awesome, you are about to deploy it. But, how do you secure it and manage access? Learn about different approaches to securing a web API whether it is meant for third-party integrations or driving a modern single-page application. Not all APIs are the same, so we will explore different considerations to make when crafting a solution to handle token-based authentication, and scoping to define access levels. As one of the core developers of the async web framework Sanic, I will primarily focus on authentication and authorization tools inside Sanic to showcase how to address these issues. However, the concepts should be broadly applicable enough to take back and apply to any web API. The goal is to learn the hot spots, and identify strategies to overcome them. Core take aways will include: - how to implement various JWT strategies; - best practices for storing JWTs on a browser; and - controlling access privileges using structured scopes. Time permitting, we will even discuss some tools to be used to help ease the anxiety and make security more approachable. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Lilian Nandi - Creating the Next Generations of Billionaires - Part 2
"Creating the Next Generations of Billionaires - Part 2 EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Lilian Nandi Our generation of young people in school (aged 5-18) have noticed the connection between Computer pRogramming, Technology, Success and Billionaires. On mass they are clamouring to master the skill of Computer pRogramming. It has been dubbed the ‘4th’ R’ (computer pRogramming) along with Reading, wRiting and aRithmetic. So, governments worldwide have launched initiatives to have it taught in schools from Kindergarten to all the way to high school. So, how do we best teach and motivate the next generation in acquiring this skill? We describe a successful working model for the teaching of Computer pRogamming. We have been building upon this model for a couple of years now. Last year at EuroPython 2019 in Basel, we spoke about this subject and this year we would like to share more findings with the Python community about what we are learning about the teaching of Computer Programming to children and young people. The talk will describe a case study whereby computer programming (Python) was introduced to a group of 110 young people from the ages of 11 to 18, in a U.K secondary school. The talk will include descriptions of the various teaching methodologies & the outcomes; & the challenges involved. The talk will conclude with helpful suggestions, on how to proceed in this area. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Reuven Lerner - How to sort anything
"How to sort anything EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Reuven Lerner Sorting is one of those things that we take for granted in Python. The built-in ""sorted"" function knows how to sort any iterable of objects that are themselves sortable. But hiding behind that simple description is a great deal of depth. In this talk, I'll go deep into what it means to sort, and how we can sort any collection of Python data. We'll see how you can use custom functions to sort built-in data structures in new and interesting ways. And we'll see how you can design your own custom classes such that they will sort in just the way you want. After watching this talk, you'll have a better understanding of sorting, built-in data structures, function objects, and how ""magic methods"" affect the our Python classes. Moreover, you'll be able to write clearer, shorter, and more easily understood code. Topics I'll address in this talk: ""sorted"" and Timsort Sorting a list of simple structures Reversing the direction with ""reverse"" Custom sorting with ""key"" Stable sort Sorting a list of dicts Using ""lambda"" Using operator.itemgetter Sorting a list of named tuples Sorting a list of objects Making your object sortable The functools.total_ordering decorator This is an intermediate-level talk; I'll assume that anyone attending knows how to write functions, classes, and methods. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mark Smith - Everything You Know About MongoDB is Wrong!
"Everything You Know About MongoDB is Wrong! EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Mark Smith MongoDB is webscale, right? It's a JSON database, it's eventually consistent, and you use map-reduce to query it. Oh, and it's insecure. Let me clear up some things: MongoDB is an ACID-compliant database with transactions, schemas & relationships. It includes a powerful aggregation query language; map-reduce has been deprecated for some time now. MongoDB doesn't speak or store JSON, and nowadays it comes with pretty good security defaults (we think). There are many myths around about MongoDB - what it is, how it works, and what it does wrong. Like any database product, you need to know its capabilities and how to get the best out of it. On top of this, the product has changed ema lot/em over the years, but lots of information out there hasn't caught up. I'll cover 8 myths around MongoDB, explain how they're wrong, why the myth originated in the first place (some of them weren't originally myths). What exactly emis/em MongoDB? What is the current release of MongoDB? MongoDB is emnot/em a JSON database. MongoDB emhas/em transactions. MongoDB allows relationships. You should only consider sharding if you emmust/em. MongoDB emis secure/em. MongoDB stores your data reliably. MongoDB is a big product, with lots to learn. Along the way, I'll explain some of MongoDB's best-kept secrets, and provide practical tips and tricks for using it. The audience will leave with a good idea of what MongoDB is, what it isn't, and how to best develop with it. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
J.M. Ortega - Python Memory Management 101
"Python Memory Management 101 EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By J.M. Ortega I will review the main mechanims for memory allocation and how the garbage collector works in conjunction with the memory manager for reference counting of the python objects.Finally, I will comment the best practices for memory managment such as writing efficient code. These could be the main talking points: -Introduccition to memory management -Garbage collector and reference counting with python -Review the gc module for configuring the python garbage collector -Best practices for memory managment 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ivana Kellyerova - How to Avoid Becoming a 10x Engineer
"How to Avoid Becoming a 10x Engineer EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Ivana Kellyerova The internet has never failed at being, among other things, a giant treasure of unsolicited advice by random people on all sorts of things, programming being no exception. Wanna become a better coder? Learn to maximize your WPM (c). Never look at documentation because that's just embarrassing. And for crying out loud, change your screen background to black! So there you are, a fairly okay programmer, looking for ways to become better at coding. How do you achieve that? Well I'm no 10x engineer myself (thank goodness), but I do believe that there's a handful of things we can safely rule out. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Vincent D. Warmerdam - Why Transformers Work
"Why Transformers Work EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Vincent D. Warmerdam This will be a technical talk where I'll explain the inner workings of the machine learning algorithms inside of Rasa. In particular I'll talk about why the transformer has become a part in many of our algorithms and has replaced RNNs. These include use-cases in natural language processing but also in dialogue handling. You'll see a live demo of a typical error that an LSTM would make but a transformer wouldn't. The algorithms are explained with calm diagrams and very little maths. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Marc-Andre Lemburg - Running EuroPython 2020 as an online conference
"Running EuroPython 2020 as an online conference EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Marc-Andre Lemburg We had been planning the EuroPython 2020 conference in Dublin, Ireland ever since late in 2019, when we ran the CFP. In March, it became apparent that the COVID-19 crisis would not be over by July 2020 and so we had to make a hard decision to either drop the event for 2020 or go online. Since we wanted to support the community even in difficult times, we decided to go for the online version -- even though this would be much less engaging than the in-person event. For the past months, we have been creating a concept for the conference from scratch. The talk will present our approach, how it came to be and which challenges we faced. The concept should be usable by other conference as well. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Gautam Prajapati - Advanced Infrastructure Management in Kubernetes using Python
"Advanced Infrastructure Management in Kubernetes using Python EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Gautam Prajapati Many of us are using Kubernetes in production. A Kubernetes Operator is a way to automate packaging, deploying, and managing of a Kubernetes Application. It is a software alternative to a human operator who has deep knowledge of how to set up, deploy, and manage a particular piece of infrastructure and what to do if it isn’t behaving correctly. Let’s see how we can automate all of this while staying in the Python ecosystem. It will be helpful to know some basic concepts of Kubernetes(Deployments, Services, Pods, Configmap etc.) and Celery(docs.celeryproject.org) to get the most out of this talk. Talk is divided into four phases. Phase I - Problems and Opportunities We're going to see some simple examples/problems where a lot of manual effort is involved so as to connect audience to the problem. We're going to discuss problems with configuration management, database cluster setup and introduce the focus problem of the talk which is around automating the setup of a Celery cluster. Phase II - Incrementally Approaching the Solution We're going to incrementally approach the automation each of the manual steps involved in running a Celery cluster in Production. We're going to discuss the extension capabilities in Kubernetes using CRDs and Custom Controllers which are going to help us manage our Celery cluster automagically. Phase III - Celery Operator in action We're going to see the code of custom controller and the whole operator in action. We create the newly defined celery resource and see how the operator works on bringing up the worker and flower deployments and handles autoscaling based on queue length. Phase IV - Conclusion and Q&A We're going to talk about different use-cases and what is world doing with Operators. We'll discuss the next steps for the Celery operator and some resources to help build operators. We'll end the talk with a Q&A. Slides for the talk are available on - https://bit.ly/europython20-ppt Celery Operator POC I built for this talk is open source - https://github.com/brainbreaker/Celery-Kubernetes-Operator 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Alejandro Saucedo - Meditations on First Deployment: A Practical Guide to Responsible Development
"Meditations on First Deployment: A Practical Guide to Responsible Development EuroPython 2020 - Keynote - 2020-07-24 - Microsoft Online By Alejandro Saucedo 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Sangarshanan Veeraraghavan - Interactive Mapmaking with Python
"Interactive Mapmaking with Python EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Sangarshanan Veeraraghavan GeoDataframes are awesome for working with GIS data in Python as it provides the goodness of pandas for geographic data but So let's use them to create some cool interactive maps This talk introduces Geopatra, an open-source mapping library that can be used to quickly map geodataframes with libraries like folium, kepler.gl, plotly, etc. Currently interactive mapping with geodataframes is not very straighforward for beginners and requires you to understand the interfaces exposed by different mapping libraries. geopatra attempts to abstract all the complexities and tries to provide a unified framework for mapping geodataframes ol Introduction (2 mins) Who am I? Setting the expectations Working with Geodataframes (5 mins) Reading Spatial data as a GeoDataframe The awesomeness of GeoDataframes (An overview of some of the amazing things you can do with a single line of code eg: Spatial joins, Manipulations, and transformations) Now that we have established our love for geopandas lets map geodataframes Let the Mapmaking begin (10 mins) Basic Non Interactive maps with Geopandas and Matplotlib Creating basic interactive maps with Folium, Plotly & Kepler (GeoJSONPlots, Clustermaps, Heatmaps, H3gridmaps) The number of steps vs the number of necessary steps Enter Geopatra (10 mins) The need for Geopatra (Could it be any Easier and Faster) Wrapping up popular mapmaking libraries for GeoDataframes Create interactive maps with just a single line Future work and Discussion :) /ol 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Bruno Paixão - Digital Transformation in the fight against Coronavirus
"Digital Transformation in the fight against Coronavirus EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Bruno Paixão The Corona Virus - COVID-19 pandemic caused a significant impact on public services. In particular, it brought a massive digitalization of services that were offered in person. In addition, there was a great deal of pressure on official channels, whether to seek a service or to report a fact. Qualified and official information becomes an element in combating the pandemic. Knowing where to look for information, reporting a fact or getting a qualified response are essential steps to maximize the efficiency of the citizen's decision-making process, especially in a scenario of such uncertainty. The State has a fundamental role, whether as an inducer, executor or provider of the means necessary for information and decision-making to be effective at that time. Connected by the growing demand, the State of Goiás, through the State's Comptroller General, published a series of technological tools with the objective of bringing information to the citizen, promoting social control and improving public policies to fight the Coronavirus. This document seeks to show how technological tools were adopted and implemented in terms of transforming the ombudsman channels in the State of Goiás through the State's Comptroller General in actions to combat the Coronavirus pandemic. The document seeks to show how the transformation of the ombudsman channels occurred through machine learning techniques and data visualization. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Mason Egger - There’s a Snake in the Birdhouse!
"There’s a Snake in the Birdhouse! EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Mason Egger It’s no surprise why many of us are so enamored with Python. Its simplicity, accessibility, and community make it a prime choice for many projects. However, not all software engineering shops use Python, maybe even some of the jobs you work at. Introducing Python to your company and building a Pythonic culture from the ground up is no small task, but it can be done. Join me as I take you through the journey of getting Python from zero to hero within my previous company. I’ll share the experience from start to finish, including what worked, what didn’t, what I would have done differently, and how I evangelized Python to bring it to be a supported language within my company’s ecosystem. Viewers will leave having learned from my experiences—both successes and mistakes—and with a solid plan for implementing Python at their job. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Amber Vanderburg - Cultivating a Culture of Creativity, Collaboration, and Captainship
"Cultivating a Culture of Creativity, Collaboration, and Captainship EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Amber Vanderburg In my work as a consultant, coach, and organizational leader- I work with amazing companies around the world, helping them craft and implement strategies to build high-performing teams. And when I work with these teams, I notice that there are two factors that make all the difference between a good organization and one that is changing the world. The first is having a culture of collaboration – and this means collaboration across individuals, across departments, and across teams – really - it’s a culture that’s less about competition and cutthroat political systems.. And more about helping each other achieve the extraordinary. The second quality is organizations that treat and expect their employees to act like owners. Owning not just their behaviors, actions, and responsibilities, but owning outcomes and becoming a voice for the organization. No matter where your organization is at today, the good news is– there are proven strategies to create a culture of collaborative ownership at your organization and that’s what I’m going to teach you in this course. I’ll share how you can build momentum from a carefully crafted vision and goals, I’ll help you improve communication and drive ownership, I’ll help you foster creativity, and finally, I’ll help you train up leaders in your organization and help you meet more of your goals. So, if you’re ready to transform your organization. let’s go! LEARNING OBJECTIVES: Attendees will learn: How to transform a command-obey dynamic to one of creativity and innovation through opportunities for ownership. How to collaborate with opportunities for ownership through proven methods to increase connectivity and engagement in the team. How to foster captainship within your organization. How to apply the ideas of collaborative ownership specifically in individual organizations. SESSION OUTLINE: Fostering an Ownership Culture (Creativity and Innovation)- Ownership Activity -Fostering a Collaborative Culture- Collaborative Activity - Fostering Captainship Culture - Captainship activity- The Application of Collaborative Ownership for Personal and Organizational Success- Applying Collaborative Ownership to Organizations and Self Activity -Conclusion Q&A 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Francisco Passos - Migrating codebases with millions of modules from Python 2 to Python 3
"Migrating codebases with millions of modules from Python 2 to Python 3 EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Francisco Passos This has been mitigated with tooling and education, but for the most part it requires human action and decision. While most codebases have somewhere between tens and thousands of Python modules, some companies may maintain a codebase with millions of modules. This presentation covers techniques and tooling that Google created to enable the developers to scope their migration needs, plan the work required, execute effectively at scale and collaborate across teams/dependencies. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Stefan Baerisch - Tests that (Almost) Write Themselves
"Tests that (Almost) Write Themselves EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Stefan Baerisch What do we do when the only test requirements we have are ""the new system should have the exact same results as the old system""? Golden Master Testing may help. The idea behind golden master testing, also called characterization testing, is quite simple: We don't write test cases that specify what the expected result is. Instead, we take the output from a prior, working version of a program (the golden master) and compare it to the result of the current version. If there is a difference between the output of the current system and the golden master, we may have found a bug. If implemented right, Golden Master testing can be very useful to test legacy systems or data processing programs with complex input and outputs. Golden Master Testing is also a good addition to our regression testing processes. In practice, implementing Golden Master testing is not quite that easy. Just checking if the outputs are equal will often not work: If the output includes times and dates or random elements, a simple comparison will not be enough. Luckily for use, with Python, we have the perfect tool to process all kinds of outputs and only look at the parts of the output that are important for the outcome of the test. In this talk, we will look at best practices for Golden Master Testing with Python. We will see techniques to identify and quantify the relevant differences between our golden master and the current output. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Irene Iriarte - Building The Perfect Personalised Menu Using Python
"Building The Perfect Personalised Menu Using Python EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Irene Iriarte This talk will describe how Gousto, a leading recipe box service based in the UK, is using python to build a personalisation ecosystem. Our menu planning optimisation algorithm allows us to create the perfect mix of recipes, ensuring a variety of dish types, cuisines and ingredients. Our recommendation engine sitting on top of this can then offer each customer a personally curated menu, making sure that users have meaningful choice. All this while ensuring that we are also optimising for maximum performance from the operations point of view! To build this, we have used a range of Python packages, such as DEAP for implementing genetic algorithms, and integrations, such as the one for graph database neo4j. The talk will give an overview of our methods, our infrastructure, our results and everything that we have learnt along the way! 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
T. Petkos, G. Zisopoulos - Ensuring data integrity with asynchronous programming in a cloud IoT core
"Ensuring data integrity with asynchronous programming in a cloud IoT core EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Theofanis Petkos, George Zisopoulos Undoubtedly this will be the decade of low-cost and high-performance cloud IoT core development. All cloud IoT solutions will have to meet the same two fundamental requirements: Performance and Data Integrity. Having said that, AsyncIO comes to mind. While researching similar topics on cloud IoT solutions, we noticed that the vast majority of such solutions primarily includes performance. In this discussion we would like to demonstrate how you can ensure that a low-cost, fast developed cloud IoT core can ensure that its data is not corrupted and is accurate for the user. Technically speaking, it is very interesting to analyze how a bucket of async/await tasks can handle (consume or even produce) messages from or to message queues, interact with other (even non pythonic) modules inside the core, manage socket connections and many other functionalities that make Python3.6+ the heart of any IoT core. Note that it is equally important to check imported data with periodic tasks, acquire statistics from devices and sanitize database data in order to ensure data integrity. Our goal: Firstly, to encourage new developers to get involved with cloud IoT cores and use Python and AsyncIO as the heart of their core. Secondly, as new developers we would like to show our logic and our prefered python libraries and techniques in order to receive feedback from more experienced developers. We are a team of software engineers located in Athens, Greece working for a fast growing startup in San Francisco (https://www.veturilo.io). We have developed our own cloud IoT core for a vehicle fleet management SaaS. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Prashant Chaubey - Writing Good Python
"Writing Good Python EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Prashant Chaubey Like other programming languages, it is easy to write cryptic, unmaintainable, and rigid Python code. Moreover, in teams, this problem escalates due to varied coding styles of developers. How to ensure code quality and consistency? My goal with this talk is to educate my audience about some tools and libraries that can help us in making our code more consistent. I was a Software Engineer who wrote Automation systems in Python for some of the fortune 500s. I intend to cover the following major ideas: • What is a high-quality code? How consistency is an important aspect of maintainability? • Ways to achieve consistency in Python o What is PEP8? o “pylint” - a source code, bug, and quality checker for python and follows the style recommended by PEP 8 o What is PEP257? o “pydocstyle” checks compliance with Python docstring conventions. o What is PEP484? o “mypy” provides optional static type checking. o “bandit” which can find common security issues in Python code. o “black” which is a Python source code formatter. • Ways to integrate mentioned tools in development life cycle o While writing (IDE extensions) o During commit (pre-commit hooks) o After push (Build pipelines) • “pre-commit” is a framework for managing and maintaining multi-language pre-commit hooks • Example of an Azure DevOps pipeline integrating all mentioned tools. pylint, pydocstyle, mypy, bandit, black and pre-commit are available on PyPI. My audience should know how to install Python libraries from PyPi using pip. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Fabian Höring - Building reproducible distributed applications at scale
"Building reproducible distributed applications at scale EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Fabian Höring Packaging in Python is hard. Packaging is particularly hard when code needs to run in a distributed computing environment where it is difficult to know what runs where and which parts of the code are available to run there. In this talk we will present different ways to ship Python code to a compute cluster, what Python's ""pickling"" feature has to do with this, what self contained executables are and the challenges we met when shipping Python code to a cluster with 1000s of nodes running 1000s of jobs like TensorFlow or Spark. As an example, we will show how one can run a PySpark job on top of S3 storage using PEX as a self contained executable artifact. Finally we will explain how those ideas generalize for different Jobs (like Tensorflow, Dask), different virtual environments (like Anaconda or vanilla Python virtual envs) and different distributed storage's (like S3 or HDFS). The auditor will get an overview of the challenges of Python packaging for distributed applications and see code samples that can be applied in his own project. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Anton Chernikov - Automate your tasks with Python and publish with Chat Apps
"Automate your tasks with Python and publish with Chat Apps EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Anton Chernikov The technology is to take script written in a high-level language (Python), analyze its inputs/outputs, images or graphs display, other interactions with the user and build connectors to this script from Chat Apps like Slack, Skype, and others. Imagine that you described your skill as a script and gave it to a software robot. And from that moment it is his skill, you and your colleagues can ask him any time to run this skill and give results. As a script author, you don't think about how to connect with different Chat Apps, how to control access, how to monitor that script works fine when colleagues run it, how to save logs, how to balance load if there are too many colleagues running script and so on, our platform does all of this so the author doesn't need to think about what is that software robot, how it works, the platform will understand script by itself. The author just drop script to the platform and tell to the platform which colleagues have the right to run this script. For whom? For teams who are in charge of Servers, Applications, API's, Data Bases, Analytical reports and other information technology items. For tasks like to fetch diagnostic information from multiple data sources into Chat App, gather metrics/logs and analyzing them to take an action in case of incident right from a Chat App, rerouting users requests, server rebooting, launching new instances, and many other actions to give easy access via Chat App to APIs for team members and other coleagues to provide analytical reports by the request from Chat App, reports with graphs, images, tables, files, etc. These things are trivial to automate and share, you can do much more with Python, Chat App and smart script sharing platform. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Ching Lam Choi - Corona-Net
"Corona-Net EuroPython 2020 - Talk - 2020-07-24 - Microsoft Online By Ching Lam Choi Identified in December 2019, the novel Coronavirus has infected 2.7 million worldwide, and claimed the lives of 0.2 million. Amidst this deadly pandemic, I started my open source project, Corona-Net, in the hopes of contributing to the global fight against the Coronavirus. Corona-Net is a 3-part project dedicated to the classification, binary segmentation and multi-class segmentation of COVID-19. I first leverage the EfficientNet model for COVID-19 diagnosis, then utilise and refine the U-Net architecture for both binary and 3-class (ground-glass, consolidation, pleural effusion) segmentation of COVID-19 symptoms, through inference on the COVID-19 CT segmentation (chest axial CT) dataset. Through Corona-Net, I aim to develop a reliable, visual-semantically balanced method for automatic COVID-19 diagnosis, as well as extend an invitation to all to collaborate and stand together against this pandemic. My PyTorch code is publicly available at https://github.com/chinglamchoi/Corona-Net. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Chiin-Rui Tan - Accessible Python education for schoolgirls using Avocados, Zombies, and Korean!
"Accessible Python education for schoolgirls using Avocados, Zombies, and Korean! EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Chiin-Rui Tan Imagine this school scenario: an entire year group of students aged 11-12, the majority completely new to coding, undergoing 6 hours of compulsory lessons on Python for Scientific Computing. Now imagine these outcomes: br / • Students wanting to continue coding from the lessons outside of class in their own time br / • Students asking to replicate the lesson computing environment at home br / • Students disappointed for the lessons to come to an end and asking for more br / • Students struggling in Science discovering intrinsic ability in computing, bringing new enjoyment and confidence And lastly, imagine that all the students are girls! This talk will share this actual case study of a pioneering Python education initiative implemented at a secondary school for girls in London, UK for a cohort of 120 students. The audience will gain actionable insights of the factors that enabled these children to develop basic but working proficiency of a mainstream scientific data stack using typical school IT resources. Ultimately, this talk aims to increase awareness of Scientific Computing & Data Science as potentially effective and empowering Python education for young people. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Noah Chen - Community-oriented conference status during COVID-19
"Community-oriented conference status during COVID-19 EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Noah Chen due to COVID-19(Coronavirus disease 2019), we changed our life, social, and our community. most of us are engineer/organizer/designer/contributor with passion to communicate to everyone who has similar background. in COVID-19 disease, we are forced to reduce social event for keeping safe. in case from China/Korea/Malaysia.... we can see the number is decreasing and be controlled after each government announced new policy: Face masked, Social Distancing, Quarantine, and Isolation. it meant we can not go to some place to hangout like usual, of course we have a lot of SMS tools/platform/media to keep relationship with our love, but for community, we easily lost our passion. and now, I want to share some doing/status of communities in Asia or other region I knew during/after COVID-19. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
Takanori Suzuki - Decade of PyCon JP: How we spread the Python community in Japan
"Decade of PyCon JP: How we spread the Python community in Japan EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Takanori Suzuki Overview The history of PyCon JP has been 10 years since 2010 The conference itself has started up → expanded in scale → stabilized At the same time, we are working on spreading Python throughout Japan. And what to do in the future History of PyCon JP The origin of PyCon JP was PyCon APAC 2010 in Singapore We have been holding PyCon JP every year since 2011 Our first PyCon was PyCon mini JP in 2011 We invited PyCon APAC from Singapore in 2013 Participants are increasing steadily There is English tracks and Japanese talks 2013: Association Purpose: We have established a legal entity to make it easier to manage money and contracts for PyCon JP event I have been a director since 2013 2014-1016: Chair od PyCon JP event I was the chair of PyCon JP event from 2014 to 2016 Purpose: Open management I opened every staff meeting to make it easier for new staff to join We created an operation manual and made it reusable We regularly publish our activities on the blog to get interested in event management 2015-: PyCon mini Small PyCons in the region were held in Sapporo and Hiroshima in 2015 It has been held in various places such as Kumamoto and Osaka PyCon Kyushu is held all over Kyushu(Fukuoka - Okinawa - Kumamoto) We have been sharing operating know-how and supporting money and people We have also provided a subdomain of pycon.jp 2016-: Python Boot Camp Objective: We visit all over Japan to teach Python → We connect with local people → We hope local communities to start up We teach an introduction to Python programming in half a day We hold 40 times in 3.5 years with 950 local participants We hold in cooperation with local staff and local teachig assistants Result: Some local communities have been created PyCon JP has more people coming from local area 2019: Python Boot Camp Caravan, Regional Meetup Purpose: To strengthen the connection between local communities A regional meetup was held at PyCon JP 2019 with local community members About 30 people gathered from all over Japan for this event We had various discussions and shared ideas and worries We hold local meetups online We hold the first online meeting using Zoom, with 15 participants from all over Japan Future We want to hold PyCon JP outside of Tokyo We want to conquer all prefectures at Python Boot Camp We want PyCon mini to be held all over Japan Summary We have spread Python throughout Japan with various activities I think it's important to meet First we go to meet local people Reunion strengthens relationship 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://ep2020.europython.eu/events/speaker-release-agreement/
Watch
Serge Sans Paille - Tooling for Static Analysis of Python Programs
"Tooling for Static Analysis of Python Programs EuroPython 2020 - Talk - 2020-07-24 - Brian Online By Serge Sans Paille In spite of the dynamic nature of their favorite language, some Python developer have a huge desire to statically analyse it. This can indeed be useful for linters, type inference, auto-completion and all the tooling some developers expect from modern IDE. We all know that lazy binding prevents even the simplest function call or attribute lookup to be reliably analyzed. Yet we try. And Python as this fabulous codeast/code module, saving us from writing a parser! Isn't that a strong incentive to do static analysis? This talk presents two modules developers can build upon to build such analyzers: precode- gast, a generalization of the Python AST that provides a common API for all the variant of the Python AST, from python 2.7 to Python 3.8 - beniget, an analyzer of the Python AST (built upon gast) that provides a useful and well-known abstraction to understand programs: use-def chains /code/pre Built upon these two modules, memestra is a static analyzer of deprecated function calls, developed in partnership with QuantStack. A tool which, given a module, reports any use of deprecated APIs. Let's explore how such a module can be built and unveil the mysteries of static analysis. 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
James Ing Wei Tang - Honey, There Is a Python in My Android Phone!
"Honey, There Is a Python in My Android Phone! EuroPython 2020 - Talk - 2020-07-23 - Ni Online By James Ing Wei Tang This is a small code snippet that I have written in Python for the POC of getting the GPS coordinate from android phone: import androidhelper import json import time from bottle import Bottle, run, response, request app = Bottle() droid = androidhelper.Android() @app.route(""/location"") def get_location(): precodedroid.startLocating() droid.eventWaitFor('location', 12500) time.sleep(0.1) current_location = droid.readLocation().result if not current_location: current_location = droid.getLastKnownLocation().result droid.stopLocating() response.content_type = ""application/json"" return json.dumps( ""result"": current_location , indent=4 ) /code/pre This project was initiated during my Christmas vacation, inspired by Android Barcode Scanner as I was looking on the solution that I could catalogue my books by scanning the ISBN using android phone. This quick solution did save me enormous amount of time in cataloguing my books. Intriguing by the design of APIs that can interact with android intents, I decided to dig further to understand how the APIs works. In concept, there is an RPC call between android app and python interpreter within the app that acts as a bridge, which allows python APIs to trigger Android intents, upon calling related APIs. For example, using the code snippet above, when Python GPS API is executed, the API will send request to Android GPS intent via the RPC call. Once Android intent receives the request, it will grab the GPS data, and passes the GPS data back to Python GPS API through the same channel. Reference: python-for-android Qpython Android Barcode Scanner 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
EuroPython 2020 - Lightning Talks 07/24
"Lightning Talks 2 EuroPython 2020 - - 2020-07-24 - Microsoft Online 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch
EuroPython 2020 - Closing Session
"Closing Session EuroPython 2020 - - 2020-07-24 - Microsoft Online 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://ep2020.europython.eu/events/speaker-release-agreement/ "
Watch