List of videos

CPython Developer Panel

EuroPython 2022 - CPython Developer Panel - presented by Łukasz Langa, Pablo Galindo Salgado, Mark Shannon, Steve Dower, Irit Katriel, Batuhan Taskaya & Ken Jin [The Auditorium on 2022-07-13] Come meet the folks who make the Python programming language! A panel discussion of core Python developers will take place on Wednesday at 2pm. Hear what's on their mind, what they're working on and what the future holds for Python. With Pablo Galindo Salgado, Steve Dower, Batuhan Taskaya, Ken Jin, Irit Katriel and Dr.Mark ""HotPy"" Shannon. Chaired by the esteemed Łukasz ""Any color you like so long as it's black"" Langa. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
CPython bugs & risky features - presented by disconnect3d

EuroPython 2022 - CPython bugs & risky features - presented by disconnect3d [The Auditorium on 2022-07-13] In this talk we will look into a few bug cases or doubtful features in CPython some of which are still present (and known to bugs.python.org) and may impose a security risk for admins or organizations. We will learn why running Python interpreter in random directory can be harmful which is related to interpreter libs loading, a possibility for installed modules to inject code into any Python script execution (even if the installed library is not imported), a socket.inet_aton issue that actually comes from glibc and risks involved with those cases and possible mitigations of those risks. @EDIT After talk: - Watch the talk on https://youtu.be/tRtxCCRdZOs?t=12251 - Slides are available on https://ujeb.se/pybugs This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Python Packaging Automation — Auto-Publish to PyPI via Pull Requests - presented by Justin Mayer

EuroPython 2022 - Python Packaging Automation — Auto-Publish to PyPI via Pull Requests - presented by Justin Mayer [The Auditorium on 2022-07-13] Empowering anyone to issue a new release by submitting a pull request? At first glance, it seems like an outlandish idea. Upon further inspection, however, the benefits become clear. One of the biggest sources of friction in software development is packaging and publishing new releases. Somebody has to sift through the commits and write a change-log, tag it with a new version number, and publish the package to PyPI. And usually only one or two people have the access necessary for this last step. The unfortunate result is an infrequent release cadence. Bug fixes and new features are sitting there in the `main` branch, but hardly anybody is benefiting from them because they aren’t in a shipped release yet. Thankfully, there’s a better way: a continuous release process where new versions are auto-published via pull requests — without any manual monkeying. In this environment, all pull requests must include a release file that describes the changes within. This file must also include whether the new version should be a major, minor, or patch release. The continuous integration (CI) process looks for this file, and if one hasn’t been included, the tests will fail, and the pull request won’t be merged. Otherwise, a maintainer merges the pull request, and the CI process then uses the release file to put the description into the change-log, increment the version number, commit, tag, build, and publish the new release to PyPI. So with almost no human input, every code contribution results in a new release in a matter of minutes. Every feature and bug-fix has its own release, without anyone having to remember to package and publish a new version. Plus, if a bug is found, it’s now much easier to trace it to a specific release version. Perhaps the best part is that all contributors get to issue their own releases. What better way to welcome new contributors than to reward them with a dedicated release composed entirely of their own work? Attendees of this talk will take home the following knowledge and skills: * what kinds of problems are introduced by an infrequent release cadence * how automated releases solve those problems and provide myriad ancillary benefits * how to format and parse the release file * how to use continuous integration (CI) systems to automate releases * how to add deployment code so new versions are released when PRs are merged * how to use AutoPub(https://github.com/autopub/autopub) to facilitate this process This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Making Python better one error message at a time - presented by Pablo Galindo Salgado

EuroPython 2022 - Making Python better one error message at a time - presented by Pablo Galindo Salgado [The Auditorium on 2022-07-13] Python 3.10 has been recently released and among many exciting new features, one of the biggest improvements is the inclusion of a whole new set of changes focused on improving the error messages across the interpreter and the general user experience when dealing with error messages. The new error messages have been one of the most welcomed features from very different sets of users ranging from Python teachers and educators, first-time learners, industry professionals and data scientists. In this talk, we will cover: * What are the new improvements featured in Python 3.10. * Exciting new changes and improvements that will feature in Python 3.11. * How these improvements are useful to different sets of users from people learning Python to experienced programmers. * How the new PEG parser has unlocked adding new custom syntax errors. * How these improvements were implemented and what challenges the CPython core team faced to get them working reliably. * How users can contribute to adding new error messages: what is the workflow, how the errors are reviewed by the core team and where to find resources and help. No matter who you are and what you do with Python, there is an improvement that will probably make you smile. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Wednesday's Lightning Talks

EuroPython 2022 - Wednesday's Lightning Talks [The Auditorium on 2022-07-13] Signing up is on a first-come-first-served basis. The queue is reset every day in the morning. You may talk about / present (almost) everything with certain boundaries: - no promotion for products of companies, no call for 'we are hiring' (but you may name your employer). - conference announcements are limited to one minute only - one LT per person per conference policy: everyone who has not given an LT at this year's conference, yet, is ahead of you in the queue - keep it short, the shorter the presentations, the more people can give a talk See you there and have fun! This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Memory Problems, Did Collector Forgot to Clean the Garbage? - presented by Pratibha Jagnere

EuroPython 2022 - Memory Problems, Did Collector Forgot to Clean the Garbage? - presented by Pratibha Jagnere [Liffey B on 2022-07-14] In recent years, we have seen many improvements in Python Garbage Collection but there are some instances when it doesn’t work as expected. This results in memory crunch for the application leading it to crash. Although there are multiple ways to overcome the memory challenges, sometimes it is difficult to find what we can improve in our code and infrastructure that can make them memory efficient. In such cases, it helps to have an understanding of what is going on behind the curtains at a low level where memory is being managed. This presentation aims to give a quick overview of 1. How CPython manages the Memory allocation 2. Common memory errors we see in day to day production code and how we can improve them We will share what we have learned so far and encourage you to try it with your own projects. We'll walk through a simple example, with screenshots and code wherever required." This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Scalpel: The Python Static Analysis Framework - presented by Jiawei Wang

EuroPython 2022 - Scalpel: The Python Static Analysis Framework - presented by Jiawei Wang [The Auditorium on 2022-07-14] Scalpel is a Python Static Analysis Framework. It provides essential program analysis functions for facilitating the implementation of client applications focusing on statically resolving dedicated problems. We aim to provide Scalpel as a generic Python static analysis framework that includes as many functions as possible (e.g., to easily build inter-function control-flow graph, to interpret the import relationship of different Python modules, etc.) towards facilitating developers to implement their dedicated problem-focused static analyzers. Scalpel’s Github page has received around 100 stars from researchers and practitioners around the world in only three-month after being made public. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Predicting urban heat islands in Calgary - presented by Anand S & Sumedh Ghatage

EuroPython 2022 - Predicting urban heat islands in Calgary - presented by Anand S & Sumedh Ghatage [Liffey Hall 2 on 2022-07-14] Dealing with extreme heatwaves can be challenging, it has become the necessity to understand the land surface temperature (LST) change and its driving factors to reduce the impact and achieve more sustainable planning methods for city growth. This module will help you understand how to calculate LST from the openly available satellite imageries and merge it with urban morphological factors (like building height, building count, FSI, building block coverage, etc.) to predict the temperature trend and mitigate the impact. We will demonstrate an end-to-end methodology using geospatial Python libraries to understand the use of spatial regression methods taking into account the variation over time. This talk will also throw light upon: - Getting the large imagery datasets into DL friendly format - Spatial aggregation of different variables - Understanding correlation between variables for feature engineering - Application & comparison of different regression methods on the same data - Future scope We'll also showcase the geo-visualization portal we created and the technologies used, how you can use Python to convert large GeoJSON output to light vector tiles, and create a seamless experience for the user through an intuitive front-end. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch
Is the news media polarized? Or are we conditioned to think it is? - presented by Aroma Rodrigues

EuroPython 2022 - Is the news media polarized? Or are we being conditioned to think it is? - presented by Aroma Rodrigues [Liffey Hall 2 on 2022-07-14] This work is an example of an intersection of a non scientific field with computer science and mathematics, trying to quantify, measure and identify non mathematical phenomena in the language of mathematics. It is important because it could be the basis of the scientific approaches that the next generation policy makers, voters, non profit social organizations and governments could use to make life changing decisions for their citizens. 2 The questions that this study tries to answer is whether a neural network can learn biases from the news media based on perceived bias scores obtained from independent agencies. It also seeks to answer whether any of these political leanings of the news media affect the vulnerability of their consumer when it comes to fake news. The results of this experiment aim to show Conclusions: 1. SVMs perform better clustering with respect to the categories than neural networks, however the maximum does not cross 67% 2. The most significant conclusion from this work is that though there is a perceived bias when it comes to news agencies, when looked at from a neural networks standpoint, it is negligible. Mainstream news agencies are not able to polarize a neural network with inherent biases in their headlines. 3. There may be topical biases that need to be examined by using an Entity linking and bias calculation approach 4. Most mainstream news agencies do not make the consumer vulnerable to believing fake news. This study needs to be conducted with data from popular social media ”news” groups or popular TV shows that masquerade as news but may technically not even be news channels. It is safe to conclude that the perceived bias that stems from social media polarization is being extended to news media when their contribution to the polarization may be negligible. This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/

Watch