{"title":"PyVideo.org - europython","link":[{"@attributes":{"href":"https:\/\/pyvideo.org\/","rel":"alternate"}},{"@attributes":{"href":"https:\/\/pyvideo.org\/feeds\/tag_europython.atom.xml","rel":"self"}}],"id":"https:\/\/pyvideo.org\/","updated":"2020-07-23T00:00:00+00:00","subtitle":{},"entry":[{"title":"EPS General Assembly 2019","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2019\/eps-general-assembly-2019.html","rel":"alternate"}},"published":"2019-07-11T00:00:00+00:00","updated":"2019-07-11T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2019-07-11:\/europython-2019\/eps-general-assembly-2019.html","content":"<h3>Description<\/h3><p>This is where the EuroPython Society (EPS) board gives its reports,\nresolutions are passed and the EPS members can vote in a new EPS board.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2019"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EPS"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}}]},{"title":"EuroPython 2020: Help us build the next edition!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2019\/europython-2020-help-us-build-the-next-edition.html","rel":"alternate"}},"published":"2019-07-11T00:00:00+00:00","updated":"2019-07-11T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2019-07-11:\/europython-2019\/europython-2020-help-us-build-the-next-edition.html","content":"<h3>Description<\/h3><p>We need help with organizing and running EuroPython 2020.<\/p>\n<p>In this session, we will explain how the EuroPython workgroup model\nworks and where you could help.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2019"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}}]},{"title":"15 Things You Should Know About Spacy","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/15-things-you-should-know-about-spacy.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alexander Hendorf"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/15-things-you-should-know-about-spacy.html","summary":"<h3>Description<\/h3><p>Natural Language Processing to Go<\/p>\n<p>spaCy is a free, open-source library for advanced Natural Language Processing (NLP) in Python.\nIt was specifically designed for production use and it's a great tool to build applications that process text and help  to \u201cunderstand\u201d large corpuses.<\/p>\n<p>In this talk I'll present 15 \u2026<\/p>","content":"<h3>Description<\/h3><p>Natural Language Processing to Go<\/p>\n<p>spaCy is a free, open-source library for advanced Natural Language Processing (NLP) in Python.\nIt was specifically designed for production use and it's a great tool to build applications that process text and help  to \u201cunderstand\u201d large corpuses.<\/p>\n<p>In this talk I'll present 15 things you should know about Spacy for the better and worse.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Natural Language Processing"}},{"@attributes":{"term":"Python 3"}}]},{"title":"30 Golden Rules of Deep Learning Performance","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/30-golden-rules-of-deep-learning-performance.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Siddha Ganju"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/30-golden-rules-of-deep-learning-performance.html","summary":"<h3>Description<\/h3><p>\u201cWatching paint dry is faster than training my deep learning model.\u201d\n\u201cIf only I had ten more GPUs, I could train my model in time.\u201d\n\u201cI want to run my model on a cheap smartphone, but it\u2019s probably too heavy and slow.\u201d<\/p>\n<p>If this sounds like you, then \u2026<\/p>","content":"<h3>Description<\/h3><p>\u201cWatching paint dry is faster than training my deep learning model.\u201d\n\u201cIf only I had ten more GPUs, I could train my model in time.\u201d\n\u201cI want to run my model on a cheap smartphone, but it\u2019s probably too heavy and slow.\u201d<\/p>\n<p>If this sounds like you, then you might like this talk.<\/p>\n<p>Exploring the landscape of training and inference, we cover a myriad of tricks that step-by-step improve the efficiency of most deep learning pipelines, reduce wasted hardware cycles, and make them cost-effective. We identify and fix inefficiencies across different parts of the pipeline, including data preparation, reading and augmentation, training, and inference.<\/p>\n<p>With a data-driven approach and easy-to-replicate TensorFlow examples, finely tune the knobs of your deep learning pipeline to get the best out of your hardware. And with the money you save, demand a raise!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"A Brief History of Jupyter Notebooks","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/a-brief-history-of-jupyter-notebooks.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"William Horton"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/a-brief-history-of-jupyter-notebooks.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>To start, we will look at tools that popularized the \u201ccomputational notebook\u201d 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.<\/p>\n<p>Turning to the present, we look at the expanding ecosystem beyond the Notebook. JupyterLab provides a richer programming environment. Voil\u00e0 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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Ipython"}},{"@attributes":{"term":"Jupyter"}},{"@attributes":{"term":"Open-Source"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"A deep dive and comparison of Python drivers for Cassandra and Scylla","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/a-deep-dive-and-comparison-of-python-drivers-for-cassandra-and-scylla.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alexys Jacob"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/a-deep-dive-and-comparison-of-python-drivers-for-cassandra-and-scylla.html","summary":"<h3>Description<\/h3><p>This talk will explain the thread-per-core data architecture of Scylla and\ndetail how we implemented &quot;shard-awareness&quot; in the Cassandra Python driver\nwhich allows to route queries down to the right CPU!<\/p>\n<p>Cassandra's and Scylla's architecture and topology rely on the usage of\na consistent token ring to distribute their \u2026<\/p>","content":"<h3>Description<\/h3><p>This talk will explain the thread-per-core data architecture of Scylla and\ndetail how we implemented &quot;shard-awareness&quot; in the Cassandra Python driver\nwhich allows to route queries down to the right CPU!<\/p>\n<p>Cassandra's and Scylla's architecture and topology rely on the usage of\na consistent token ring to distribute their data evenly on the cluster.<\/p>\n<p>The cassandra-python driver is used widely to interact with those NoSQL\ndatabases. It implements connection pools and token awareness allowing the\ndriver to route queries to the right node based on its knowledge of where the\ndata is.<\/p>\n<p>But Scylla goes one step further as it also dedicates CPUs to a smaller portion\nof the data on each node (called shards). This means that <strong>we can route CQL\nqueries not only to the right node but to the right CPU<\/strong>!<\/p>\n<p>This talk will give implementation details on how we have done it.<\/p>\n<p>Talk audience requirements: having a minimal knowledge of what Cassandra and\na consistent hash ring are.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Databases"}},{"@attributes":{"term":"NoSQL"}},{"@attributes":{"term":"Python 3"}},{"@attributes":{"term":"Scaling"}}]},{"title":"Accessible Python education for schoolgirls using Avocados, Zombies, and Korean!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/accessible-python-education-for-schoolgirls-using-avocados-zombies-and-korean.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Chiin-Rui Tan"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/accessible-python-education-for-schoolgirls-using-avocados-zombies-and-korean.html","summary":"<h3>Description<\/h3><p>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.<\/p>\n<p>Now imagine these outcomes:\n\u2022       Students wanting to continue coding from the lessons outside of class in their own time\n\u2022       Students \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>Now imagine these outcomes:\n\u2022       Students wanting to continue coding from the lessons outside of class in their own time\n\u2022       Students asking to replicate the lesson computing environment at home\n\u2022       Students disappointed for the lessons to come to an end and asking for more\n\u2022       Students struggling in Science discovering intrinsic ability in computing, bringing new enjoyment and confidence<\/p>\n<p>And lastly, imagine that all the students are girls!<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>Ultimately, this talk aims to increase awareness of Scientific Computing &amp; Data Science as potentially effective and empowering Python education for young people.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Education"}},{"@attributes":{"term":"Learning"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Advanced Infrastructure Management in Kubernetes using Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/advanced-infrastructure-management-in-kubernetes-using-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Gautam Prajapati"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/advanced-infrastructure-management-in-kubernetes-using-python.html","summary":"<h3>Description<\/h3><p>Automate managing complex applications in a cloud native way using Operators written in Python<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Automate managing complex applications in a cloud native way using Operators written in Python<\/p>\n<p>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\u2019t behaving correctly. Let\u2019s see how we can automate all of this while staying in the Python ecosystem.<\/p>\n<p>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.<\/p>\n<p>Talk is divided into four phases.<\/p>\n<p>Phase I - Problems and Opportunities\nWe're going to see some simple examples\/problems where a lot of manual effort is involved so as to connect audience to the problem.\nWe'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.<\/p>\n<p>Phase II - Incrementally Approaching the Solution\nWe'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.<\/p>\n<p>Phase III - Celery Operator in action\nWe'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.<\/p>\n<p>Phase IV - Conclusion and Q&amp;A\nWe'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&amp;A.<\/p>\n<p>Slides for the talk are available on - <a class=\"reference external\" href=\"https:\/\/bit.ly\/europython20-ppt\">https:\/\/bit.ly\/europython20-ppt<\/a>\nCelery Operator POC I built for this talk is open source - <a class=\"reference external\" href=\"https:\/\/github.com\/brainbreaker\/Celery-Kubernetes-Operator\">https:\/\/github.com\/brainbreaker\/Celery-Kubernetes-Operator<\/a><\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"DevOps general"}},{"@attributes":{"term":"Distributed Systems"}},{"@attributes":{"term":"Infrastructure"}},{"@attributes":{"term":"Messaging and Job Queues (RabbitMQ\/Redis\/...)"}},{"@attributes":{"term":"python"}}]},{"title":"An ASGI Server from scratch","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/an-asgi-server-from-scratch.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Philip Jones"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/an-asgi-server-from-scratch.html","summary":"<h3>Description<\/h3><p>Echo server to a basic ASGI server in a talk<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Echo server to a basic ASGI server in a talk<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"ASYNC \/ Concurreny"}},{"@attributes":{"term":"Web"}},{"@attributes":{"term":"Web Protocols"}},{"@attributes":{"term":"Web Servers and MicroFWs (Flask\/Tornado\/Nginx\/...)"}}]},{"title":"API-schema-based testing with schemathesis","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/api-schema-based-testing-with-schemathesis.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alexander Hultn\u00e9r"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/api-schema-based-testing-with-schemathesis.html","summary":"<h3>Description<\/h3><p>Automatically generate test-cases based on your API-schemas.<\/p>\n<p>The goal with this talk is to introduce the audience to property-based testing for API\u2019s using schemas to automatically generate test scenarios, enabling them to write more powerful tests faster.<\/p>\n<p>The talk will focus on a subset of the field of \u2026<\/p>","content":"<h3>Description<\/h3><p>Automatically generate test-cases based on your API-schemas.<\/p>\n<p>The goal with this talk is to introduce the audience to property-based testing for API\u2019s using schemas to automatically generate test scenarios, enabling them to write more powerful tests faster.<\/p>\n<p>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.<\/p>\n<p>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\u2019m a contributor to schemathesis and currently working on the future GraphQL support with schemathesis creator, Dmitry Dygalo.<\/p>\n<p>I will also compare it with its predecessor \u201cswagger-conformance\u201d, 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 \u201cQuickREST: Property-based Test Generation of OpenAPI-Described RESTful APIs\u201d (<a class=\"reference external\" href=\"https:\/\/arxiv.org\/abs\/1912.09686\">https:\/\/arxiv.org\/abs\/1912.09686<\/a>), the research paper that\u2019s part of the inspiration for these tools.<\/p>\n<p>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.<\/p>\n<p>The talk will show how formal schemas for APIs can and will continue to provide additional value outside the scope of documentation.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"RESTful"}},{"@attributes":{"term":"Test Libraries (pytest\/nose\/...)"}},{"@attributes":{"term":"Testing"}},{"@attributes":{"term":"Web Servers and MicroFWs (Flask\/Tornado\/Nginx\/...)"}}]},{"title":"Attractive GUIs with PySimpleGUI","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/attractive-guis-with-pysimplegui.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Ruud van der Ham"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/attractive-guis-with-pysimplegui.html","summary":"<h3>Description<\/h3><p>With PySimpleGUI everyone can build powerful GUI applications without a steep learning curve.<\/p>\n<p>In the Python landscape, there are several high-end GUI packages. Of course, there\u2019s tkinter which is part of the standard library. And there is wxPython and several versions of Qt. What they share is that \u2026<\/p>","content":"<h3>Description<\/h3><p>With PySimpleGUI everyone can build powerful GUI applications without a steep learning curve.<\/p>\n<p>In the Python landscape, there are several high-end GUI packages. Of course, there\u2019s 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.\nAt 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.\nRelatively 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.\nIn this talk, I want to show the design methodology behind this fascinating product that might change the way people look at GUIs.\nI will start with live coding a simple yet not evident program that shows the basic concepts. With this, I will demonstrate the design philosophy.\nPySimpleGUI can also be used to implement a user-friendly interface as opposed to command-line interfaces.\nFrom there, I will give an overview of some more elements present in this package.\nFinally, I will show a full-featured GUI program with several bells and whistles.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"General"}},{"@attributes":{"term":"Human-Machine-Interaction"}},{"@attributes":{"term":"python"}}]},{"title":"Automate your tasks with Python and publish with Chat Apps","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/automate-your-tasks-with-python-and-publish-with-chat-apps.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Anton Chernikov"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/automate-your-tasks-with-python-and-publish-with-chat-apps.html","summary":"<h3>Description<\/h3><p>That\u2019s the way to build a Virtual Assistant for your team, the way to boost productivity.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>That\u2019s the way to build a Virtual Assistant for your team, the way to boost productivity.<\/p>\n<p>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.<\/p>\n<p>For whom?<\/p>\n<p>For teams who are in charge of Servers, Applications, API's, Data Bases, Analytical reports and other information technology items.<\/p>\n<p>For tasks like<\/p>\n<blockquote>\n<ul class=\"simple\">\n<li>to fetch diagnostic information from multiple data sources into Chat App, gather metrics\/logs and analyzing them<\/li>\n<li>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<\/li>\n<li>to give easy access via Chat App to APIs for team members and other coleagues<\/li>\n<li>to provide analytical reports by the request from Chat App, reports with graphs, images, tables, files, etc.<\/li>\n<\/ul>\n<\/blockquote>\n<p>These things are trivial to automate and share, you can do much more with Python, Chat App and smart script sharing platform.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"Operations"}},{"@attributes":{"term":"Workforce"}},{"@attributes":{"term":"python"}}]},{"title":"Automating machine learning workflow with DVC","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/automating-machine-learning-workflow-with-dvc.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Hongjoo Lee"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/automating-machine-learning-workflow-with-dvc.html","summary":"<h3>Description<\/h3><p>What data scientist \/ ML engineer wants to do while software engineers are busy with CI\/CD.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>What data scientist \/ ML engineer wants to do while software engineers are busy with CI\/CD.<\/p>\n<p>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.<\/p>\n<p>&quot;Pipelining ML project&quot; 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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Deployment\/Continuous Integration and Delivery"}}]},{"title":"Best practices for production-ready Docker packaging","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/best-practices-for-production-ready-docker-packaging.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Itamar Turner-Trauring"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/best-practices-for-production-ready-docker-packaging.html","summary":"<h3>Description<\/h3><p>An iterative packaging plan for your Python application<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>An iterative packaging plan for your Python application<\/p>\n<p>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.<\/p>\n<p>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?<\/p>\n<p>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.<\/p>\n<p>To make this process more concrete, along the way you'll also learn some of the techniques needed to build production-ready images:<\/p>\n<ul class=\"simple\">\n<li>Running as a non-root, for increased security.<\/li>\n<li>Debugging C crashes with faulthandler.<\/li>\n<li>Faster startup with pre-compiled .pycs.<\/li>\n<li>Smaller images by disabling pip caching.<\/li>\n<li>Avoiding Alpine Linux.<\/li>\n<li>And more!<\/li>\n<\/ul>\n<p>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.<\/p>\n<p>This talk is for Python programmers who know the basics of Docker packaging, and need to run the resulting images in a production environment.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Deployment\/Continuous Integration and Delivery"}},{"@attributes":{"term":"DevOps general"}},{"@attributes":{"term":"Docker"}},{"@attributes":{"term":"Packaging"}},{"@attributes":{"term":"Security"}}]},{"title":"Boosting simulation performance with Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/boosting-simulation-performance-with-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Eran Friedman"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/boosting-simulation-performance-with-python.html","summary":"<h3>Description<\/h3><p>Simulating hours of robots' work in minutes<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Simulating hours of robots' work in minutes<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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 &quot;Y2K bug&quot;.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Robotics"}},{"@attributes":{"term":"Testing"}}]},{"title":"Bringing your Python script to more users!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/bringing-your-python-script-to-more-users.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Takuya Futatsugi"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/bringing-your-python-script-to-more-users.html","summary":"<h3>Description<\/h3><p>Quick tour from CLI through GUI to Web app with image size reduction script<\/p>\n<p>It is wonderful to automate boring stuffs with Python.\nIn Japan, new introductory books are being published every month and more and more Pythonistas are working on automation.\nA Python script that is useful to \u2026<\/p>","content":"<h3>Description<\/h3><p>Quick tour from CLI through GUI to Web app with image size reduction script<\/p>\n<p>It is wonderful to automate boring stuffs with Python.\nIn Japan, new introductory books are being published every month and more and more Pythonistas are working on automation.\nA Python script that is useful to you may be useful to others.\nSo I talk about how to enable others to use your script.<\/p>\n<p>In this talk, I use a simple script which can reduce the width and the height of a specified image in your computer.\nI assume someone who's read the introductory book can understand the script.<\/p>\n<p>First, I introduce Command Line Interface (CLI) to solve hardcoding in the sample script.\nAfter implementing CLI, you don't need to edit the script.\nSecond, I introduce Grafical User Interface (GUI) to make the script more user-friendly.\nFinally, I introduce web application so that users can the script without installation. All users have to do is connecting the Internet!<\/p>\n<p>The timeline is supposed to be the following:<\/p>\n<p># Introduction (3min)\n- self-introduction\n- motivation of this talk\n- sample script (pathlib, Pillow)<\/p>\n<p># CLI (5min)\n- problem: need to edit the script\n- introduce argparse module (pass target file path from command line)\n- about positional arguments and optional arguments\n- check whether a path points an existing file (type parameter of add_argument())<\/p>\n<p># GUI (9min)\n- problem: CLI is not easy to handle than GUI\n- introduce eel\n- eel's elements: HTML, CSS, JavaScript\n- hello world in eel\n- file access in eel app\n- convert sample script to eel app (user can see which image is specified as target\ud83d\ude03)\n- how to distribute<\/p>\n<p># Web app (9min)\n- problem: Users need to install\n- introduce Web app\n- server \/ client\n- actually eel's elements are used in web app (we can recycle codes)\n- introduce Flask\n- hello world in flask\n- static files in web app\n- how to deploy (heroku)<\/p>\n<p># wrap up (1min)\n# Q&amp;A (3min)<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Command-Line"}},{"@attributes":{"term":"Web Servers and MicroFWs (Flask\/Tornado\/Nginx\/...)"}}]},{"title":"Building quantum applications with D-Wave's Leap","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/building-quantum-applications-with-d-waves-leap.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alexander Condello"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/building-quantum-applications-with-d-waves-leap.html","summary":"<h3>Description<\/h3><p>Get started coding on a quantum computer using D-Wave's Python-based Leap cloud service.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Get started coding on a quantum computer using D-Wave's Python-based Leap cloud service.<\/p>\n<p>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.<\/p>\n<p>Today, cloud access (like D-Wave\u2019s 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 \u2014 quantum mechanical knowledge not required. Users and private companies have already built over 200 early applications on D-Wave\u2019s 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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"Jupyter"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Other Hardware"}},{"@attributes":{"term":"Python general"}}]},{"title":"Building reproducible distributed applications at scale","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/building-reproducible-distributed-applications-at-scale.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Fabian H\u00f6ring"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/building-reproducible-distributed-applications-at-scale.html","summary":"<h3>Description<\/h3><p>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.<\/p>\n<p>In this talk we will present different ways to ship \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>In this talk we will present different ways to ship Python code to a compute cluster, what Python's &quot;pickling&quot; 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.<\/p>\n<p>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).<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Distributed Systems"}},{"@attributes":{"term":"Packaging"}},{"@attributes":{"term":"Virtual Env"}}]},{"title":"Building smarter solutions with no expertise in machine learning","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/building-smarter-solutions-with-no-expertise-in-machine-learning.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Laurent PICARD"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/building-smarter-solutions-with-no-expertise-in-machine-learning.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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\u2019ll also be active players of a live demo, so don't put your smartphone on airplane mode!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Computer Vision"}},{"@attributes":{"term":"Human-Machine-Interaction"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Natural Language Processing"}},{"@attributes":{"term":"Public Cloud (AWS\/Google\/...)"}}]},{"title":"Building The Perfect Personalised Menu Using Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/building-the-perfect-personalised-menu-using-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Irene Iriarte"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/building-the-perfect-personalised-menu-using-python.html","summary":"<h3>Description<\/h3><p>How Gousto is building an algorithm to offer personalised menus to their customers using python<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>How Gousto is building an algorithm to offer personalised menus to their customers using python<\/p>\n<p>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!<\/p>\n<p>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.<\/p>\n<p>The talk will give an overview of our methods, our infrastructure, our results and everything that we have learnt along the way!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Algorithms"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"E-Commerce"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Can we deploy yet?","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/can-we-deploy-yet.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Anastasiia Tymoshchuk"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/can-we-deploy-yet.html","summary":"<h3>Description<\/h3><p>How to make your code production ready<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>How to make your code production ready<\/p>\n<p>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?\nThis 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.\nYou will see how to deal with exceptions, logs, and metrics with real-world use cases.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Clean Code"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Documentation"}}]},{"title":"Clean Architectures in Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/clean-architectures-in-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Leonardo Giordani"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/clean-architectures-in-python.html","summary":"<h3>Description<\/h3><p>A practical approach to better software design<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>A practical approach to better software design<\/p>\n<p>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.<\/p>\n<p>The \u201cclean architecture\u201d 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 \u201cClean Architectures in Python\u201d. 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Abstractions"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Clean Code"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"TDD"}}]},{"title":"Community-oriented conference status during COVID-19","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/community-oriented-conference-status-during-covid-19.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Noah Chen"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/community-oriented-conference-status-during-covid-19.html","summary":"<h3>Description<\/h3><p>what can we do during\/after COVID-19<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>what can we do during\/after COVID-19<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Communication"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"freelancing"}}]},{"title":"Community-oriented conference status during COVID-19","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/community-oriented-conference-status-during-covid-19.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Noah Chen"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/community-oriented-conference-status-during-covid-19.html","summary":"<h3>Description<\/h3><p>what can we do during\/after COVID-19<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>what can we do during\/after COVID-19<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Communication"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"freelancing"}}]},{"title":"Corona-Net","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/corona-net.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Ching Lam Choi"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/corona-net.html","summary":"<h3>Description<\/h3><p>Fighting COVID-19 with Machine Learning<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Fighting COVID-19 with Machine Learning<\/p>\n<p>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 <a class=\"reference external\" href=\"https:\/\/github.com\/chinglamchoi\/Corona-Net\">https:\/\/github.com\/chinglamchoi\/Corona-Net<\/a>.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Computer Vision"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Image Processing"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Creating an inclusive team culture in times of change","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/creating-an-inclusive-team-culture-in-times-of-change.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Yenny Cheung"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/creating-an-inclusive-team-culture-in-times-of-change.html","summary":"<h3>Description<\/h3><p>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:<\/p>\n<p>Prioritizing Safety &amp; Self-care\nRevisit our Expectations\nEffective \u2026<\/p>","content":"<h3>Description<\/h3><p>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:<\/p>\n<p>Prioritizing Safety &amp; Self-care\nRevisit our Expectations\nEffective Communication\nLead Inclusive Meetings\nCheck our Biases<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Communication"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"Diversity"}},{"@attributes":{"term":"Management"}}]},{"title":"Creating the Next Generations of Billionaires - Part 2","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/creating-the-next-generations-of-billionaires-part-2.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"lil anonymous"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/creating-the-next-generations-of-billionaires-part-2.html","summary":"<h3>Description<\/h3><p>Teaching the Next Generation of Computer Trillionaires<\/p>\n<p>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 \u20184th\u2019 R\u2019 (computer pRogramming) along \u2026<\/p>","content":"<h3>Description<\/h3><p>Teaching the Next Generation of Computer Trillionaires<\/p>\n<p>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 \u20184th\u2019 R\u2019 (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.<\/p>\n<p>So, how do we best teach and motivate the next generation in acquiring this skill?<\/p>\n<p>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.<\/p>\n<p>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 &amp; the outcomes; &amp; the challenges involved. The talk will conclude with helpful suggestions, on how to proceed in this area.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Education"}},{"@attributes":{"term":"General"}},{"@attributes":{"term":"Python 3"}},{"@attributes":{"term":"Science"}},{"@attributes":{"term":"Teaching"}}]},{"title":"Cultivating a Culture of Creativity, Collaboration, and Captainship","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/cultivating-a-culture-of-creativity-collaboration-and-captainship.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Amber Vanderburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/cultivating-a-culture-of-creativity-collaboration-and-captainship.html","summary":"<h3>Description<\/h3><p>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.<\/p>\n<p>And when I work with these teams, I notice that there are two factors that make all the difference between a \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>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.<\/p>\n<p>The first is having a culture of collaboration \u2013 and this means collaboration across individuals, across departments, and across teams \u2013 really - it\u2019s a culture that\u2019s less about competition and cutthroat political systems.. And more about helping each other achieve the extraordinary.<\/p>\n<p>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.<\/p>\n<p>No matter where your organization is at today, the good news is\u2013 there are proven strategies to create a culture of collaborative ownership at your organization and that\u2019s what I\u2019m going to teach you in this course.<\/p>\n<p>I\u2019ll share how you can build momentum from a carefully crafted vision and goals, I\u2019ll help you improve communication and drive ownership, I\u2019ll help you foster creativity, and finally, I\u2019ll help you train up leaders in your organization and help you meet more of your goals.<\/p>\n<p>So, if you\u2019re ready to transform your organization. let\u2019s go!<\/p>\n<p>LEARNING OBJECTIVES:<\/p>\n<p>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.<\/p>\n<p>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&amp;A<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Agile"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Business"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"DevOps general"}}]},{"title":"Decade of PyCon JP: How we spread the Python community in Japan","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/decade-of-pycon-jp-how-we-spread-the-python-community-in-japan.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Takanori Suzuki"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/decade-of-pycon-jp-how-we-spread-the-python-community-in-japan.html","content":"<h3>Description<\/h3><p>Decade of PyCon JP: How we spread the Python community in Japan<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}}]},{"title":"Deceptive Security using Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/deceptive-security-using-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Gajendra Deshpande"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/deceptive-security-using-python.html","summary":"<h3>Description<\/h3><p>Deceiving hackers to protect your resources<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Deceiving hackers to protect your resources<\/p>\n<p>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\u2019s 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.<\/p>\n<p>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:\n\u2022       WebTrap (<a class=\"reference external\" href=\"https:\/\/github.com\/IllusiveNetworks-Labs\/WebTrap\">https:\/\/github.com\/IllusiveNetworks-Labs\/WebTrap<\/a>): 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.\n\u2022       DemonHunter (<a class=\"reference external\" href=\"https:\/\/github.com\/RevengeComing\/DemonHunter\">https:\/\/github.com\/RevengeComing\/DemonHunter<\/a>):  is a distributed low interaction honeypot with Agent\/Master design\nFinally, we will conclude the talk with how built a deception tool and demonstrate its working.<\/p>\n<p>How we implemented a deception tool in python using machine learning:\nWe 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.<\/p>\n<p>Outline\n1. Introduction to deception, Deception types, Deception technology applicable methods and Deception Life cycle(08 Minutes)\n2. Demonstration of WebTrap deception tool(04 Minutes)\n3. Demonstration of DemonHunter deception tool(04 Minutes)\n4. Discussion of our deception tool and demonstration(06 Minutes)\n5. Conclusion and Questions(03 Minutes)<\/p>\n<p>Audience\nNo 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Security"}},{"@attributes":{"term":"python"}}]},{"title":"Decision Science with Probabilistic Programming","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/decision-science-with-probabilistic-programming.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Mattia Ferrini"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/decision-science-with-probabilistic-programming.html","summary":"<h3>Description<\/h3><p>Make robust optimal decisions with Python!<\/p>\n<p>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.<\/p>\n<p>Furthermore \u2026<\/p>","content":"<h3>Description<\/h3><p>Make robust optimal decisions with Python!<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>Generative models of key optimization parameters are necessary input to Robust Optimization and Stochastic Programming problems.\nPython provides all the tools to successfully integrate Probabilitistic Programs with Robust and Stochastic Optimization and therefore cope with high uncertainty in optimization.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Functional Programming"}},{"@attributes":{"term":"Science"}}]},{"title":"Deploy your Machine Learning Bots like a boss with CI\/CD","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/deploy-your-machine-learning-bots-like-a-boss-with-cicd.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"William Arias"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/deploy-your-machine-learning-bots-like-a-boss-with-cicd.html","summary":"<h3>Description<\/h3><p>Using Gitlab Open Source tools to automate NLP models deployment<\/p>\n<p>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<\/p>\n<p>Problem: Sharing your chatbot with the outside world is not as easy as training \u2026<\/p>","content":"<h3>Description<\/h3><p>Using Gitlab Open Source tools to automate NLP models deployment<\/p>\n<p>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<\/p>\n<p>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<\/p>\n<p>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.<\/p>\n<p>Pre-reqs: Entry level understanding of CI\/CD Pipelines, NLP, jupyterhub, Version Control, Rasa<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Deployment\/Continuous Integration and Delivery"}},{"@attributes":{"term":"Ipython"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Open-Source"}}]},{"title":"Detecting and Analyzing Solar Panels in Switzerland using Aerial Imagery","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/detecting-and-analyzing-solar-panels-in-switzerland-using-aerial-imagery.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Adrian Meyer"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/detecting-and-analyzing-solar-panels-in-switzerland-using-aerial-imagery.html","summary":"<h3>Description<\/h3><p>A novel method for detecting solar panels and its geometry on aerial imagery is presented. Deep Learning with PyTorch is being used for segmentation. The goal is to know the exact locations, dimensions and potential of every solar installation in Switzerland. It is shown how we labelled the data \u2026<\/p>","content":"<h3>Description<\/h3><p>A novel method for detecting solar panels and its geometry on aerial imagery is presented. Deep Learning with PyTorch is being used for segmentation. The goal is to know the exact locations, dimensions and potential of every solar installation in Switzerland. It is shown how we labelled the data and how we found a solution to distinguish different solar panel types.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Developing a match-making algorithm between customers and Go-Jek products!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/developing-a-match-making-algorithm-between-customers-and-go-jek-products.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Gunjan Dewan"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/developing-a-match-making-algorithm-between-customers-and-go-jek-products.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.\nIn 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Developing GraphQL API in Django using Graphene","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/developing-graphql-api-in-django-using-graphene.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Nisarg Shah"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/developing-graphql-api-in-django-using-graphene.html","summary":"<h3>Description<\/h3><p>Build GraphQL schema, queries, and mutations in Django using graphene library<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Build GraphQL schema, queries, and mutations in Django using graphene library<\/p>\n<p>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?<\/p>\n<p>While using GraphQL, a client can request the data which is needed. It is an alternative for building APIs in place of REST. It\u2019s a query language that can work as a medium between the frontend and backend.<\/p>\n<p>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.<\/p>\n<p>Learning outcomes would be the understanding of code and building GraphQL APIs using graphene in a proper and structured way.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"Databases"}},{"@attributes":{"term":"Django"}},{"@attributes":{"term":"PostgreSQL"}},{"@attributes":{"term":"Python 3"}}]},{"title":"Difficulties of Python code development:packages,virtualenvs and package mangers","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/difficulties-of-python-code-developmentpackagesvirtualenvs-and-package-mangers.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Micha\u0142 Wody\u0144ski"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/difficulties-of-python-code-developmentpackagesvirtualenvs-and-package-mangers.html","summary":"<h3>Description<\/h3><p>Develop your code effectively with well chosen tools<\/p>\n<dl class=\"docutils\">\n<dt>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.<\/dt>\n<dd>After that we will jump to the topic of virtualenvs and \u2026<\/dd><\/dl>","content":"<h3>Description<\/h3><p>Develop your code effectively with well chosen tools<\/p>\n<dl class=\"docutils\">\n<dt>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.<\/dt>\n<dd>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.\nFinally we will focus on the most important topic without which development is not possible \u2013 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?\nThis 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.<\/dd>\n<\/dl>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Conda \/ conda forge"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Packaging"}},{"@attributes":{"term":"Virtual Env"}}]},{"title":"Diffprivlib: Privacy-preserving machine learning with Scikit-learn","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/diffprivlib-privacy-preserving-machine-learning-with-scikit-learn.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Naoise Holohan"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/diffprivlib-privacy-preserving-machine-learning-with-scikit-learn.html","summary":"<h3>Description<\/h3><p>Train machine learning models with differential privacy guarantees<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Train machine learning models with differential privacy guarantees<\/p>\n<p>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.\nBy 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.\nIn 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data Privacy"}},{"@attributes":{"term":"Data Protection"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Open-Source"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Digital Transformation in the fight against Coronavirus","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/digital-transformation-in-the-fight-against-coronavirus.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Bruno Ferreira"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/digital-transformation-in-the-fight-against-coronavirus.html","summary":"<h3>Description<\/h3><p>COVID-19: An experience of the Comptroller General of the State of Goi\u00e1s<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>COVID-19: An experience of the Comptroller General of the State of Goi\u00e1s<\/p>\n<p>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.\nConnected by the growing demand, the State of Goi\u00e1s, 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.\nThis document seeks to show how technological tools were adopted and implemented in terms of transforming the ombudsman channels in the State of Goi\u00e1s 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"PyPi"}},{"@attributes":{"term":"PyPy"}},{"@attributes":{"term":"Python Skills"}},{"@attributes":{"term":"Python general"}},{"@attributes":{"term":"R"}}]},{"title":"Django Clone From Scratch With Flask","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/django-clone-from-scratch-with-flask.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Abdur-Rahmaan Janhangeer"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/django-clone-from-scratch-with-flask.html","summary":"<h3>Description<\/h3><p>How to effectively mimick most of Django features with Flask, apps included.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>How to effectively mimick most of Django features with Flask, apps included.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Web Servers and MicroFWs (Flask\/Tornado\/Nginx\/...)"}}]},{"title":"Django Testing on Steroid: pytest + Hypothesis","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/django-testing-on-steroid-pytest-hypothesis.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Bojan Miletic"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/django-testing-on-steroid-pytest-hypothesis.html","summary":"<h3>Description<\/h3><p>Generate hundred of test with few lines of code<\/p>\n<p>The talk should hopefully provided value to all listeners, regardless of their knowledge level, but preferably you have some knowledge of pytest test parametrization<\/p>\n<p>We'll use a simple Django project, setup initial tests using pytest with some parallelization in the \u2026<\/p>","content":"<h3>Description<\/h3><p>Generate hundred of test with few lines of code<\/p>\n<p>The talk should hopefully provided value to all listeners, regardless of their knowledge level, but preferably you have some knowledge of pytest test parametrization<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Django"}},{"@attributes":{"term":"TDD"}},{"@attributes":{"term":"Test Libraries (pytest\/nose\/...)"}},{"@attributes":{"term":"Testing"}}]},{"title":"Docker and Python: making them play nicely and securely for Data Science and ML","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/docker-and-python-making-them-play-nicely-and-securely-for-data-science-and-ml.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Tania Allard"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/docker-and-python-making-them-play-nicely-and-securely-for-data-science-and-ml.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>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.<\/p>\n<p>Attendees will leave the talk feeling confident about adopting Docker across a range of DS, ML and research projects.<\/p>\n<p>Who and Why (audience)\nThis 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.\nIntroduction (5 minutes)\nAbout me\nWhen is Docker the right choice?\nDocker for all Python users: introduction to Docker in Machine Learning (ML), Data Science (DS) and research contexts\nThe usual culprits\nOptimising for data-oriented application (10 minutes)\nCreating a data-oriented Docker image - how is this different from an app\/web image?\nChoosing the right base image - set yourself for success\nDependencies, volumes and code best practices\nSecurity and performance (10 minutes)\nFinding vulnerabilities in your images\nImage consistency and reproducibility\nOptimising image building - cache and image size considerations\nDo not reinvent the wheel - automate! (10 minutes)\nConsider tools to assist with Dockerfile generation - e.g. repo2docker, dokta\nCreating templates for projects\nAutomating image build and publishing - e.g. GitHub actions\nAutomated deployment strategies - going from local to deploying your containerised application\nConclusions (5 minutes)\nTop 10 best practices when working with Docker and Python for DS\/ML and research\nAdditional resources\nThanks and getting in touch<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Conda \/ conda forge"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Durable Functions: A More Durable Azure Function","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/durable-functions-a-more-durable-azure-function.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Joseph Song"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/durable-functions-a-more-durable-azure-function.html","summary":"<h3>Description<\/h3><p>Serverless functions-as-a-service lets you run event-triggered code without having to explicitly provision or manage infrastructure. While they are powerful, they also have limitations. In this talk, we\u2019ll discuss how Durable Functions can overcome the limitation by extending Azure Functions to let you write stateful functions in a serverless \u2026<\/p>","content":"<h3>Description<\/h3><p>Serverless functions-as-a-service lets you run event-triggered code without having to explicitly provision or manage infrastructure. While they are powerful, they also have limitations. In this talk, we\u2019ll discuss how Durable Functions can overcome the limitation by extending Azure Functions to let you write stateful functions in a serverless compute environment.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Infrastructure"}},{"@attributes":{"term":"serverless"}}]},{"title":"Effective Code Reviews","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/effective-code-reviews.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Vinicius Gubiani Ferreira"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/effective-code-reviews.html","summary":"<h3>Description<\/h3><p>The edge between hard skills and soft skills<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>The edge between hard skills and soft skills<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Agile"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Clean Code"}},{"@attributes":{"term":"Code Analysis"}},{"@attributes":{"term":"Communication"}}]},{"title":"Elegant Exception Handling","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/elegant-exception-handling.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Eyal Trabelsi"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/elegant-exception-handling.html","content":"<h3>Description<\/h3><p>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?<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Python Skills"}},{"@attributes":{"term":"Python general"}},{"@attributes":{"term":"python"}}]},{"title":"Ensuring data integrity with asynchronous programming in a cloud IoT core","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/ensuring-data-integrity-with-asynchronous-programming-in-a-cloud-iot-core.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Theofanis Petkos"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/ensuring-data-integrity-with-asynchronous-programming-in-a-cloud-iot-core.html","summary":"<h3>Description<\/h3><p>Python3.6, AsyncIO, Flask, RabbitMQ. A simple and powerful combination for IoT data integrity.<\/p>\n<p>Undoubtedly this will be the decade of low-cost and high-performance cloud IoT core development.\nAll cloud IoT solutions will have to meet the same two fundamental requirements: Performance and Data Integrity. Having said that,  AsyncIO \u2026<\/p>","content":"<h3>Description<\/h3><p>Python3.6, AsyncIO, Flask, RabbitMQ. A simple and powerful combination for IoT data integrity.<\/p>\n<p>Undoubtedly this will be the decade of low-cost and high-performance cloud IoT core development.\nAll cloud IoT solutions will have to meet the same two fundamental requirements: Performance and Data Integrity. Having said that,  AsyncIO comes to mind.\nWhile 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.\nTechnically 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.\nOur 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.\nWe are a team of software engineers located in Athens, Greece working for a fast growing startup in San Francisco (<a class=\"reference external\" href=\"https:\/\/www.veturilo.io\">https:\/\/www.veturilo.io<\/a>). We have developed our own cloud IoT core for a vehicle fleet management SaaS.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"ASYNC \/ Concurreny"}},{"@attributes":{"term":"Internet of Things (IoT)"}},{"@attributes":{"term":"Python 3"}},{"@attributes":{"term":"Software Design"}},{"@attributes":{"term":"Use Case"}}]},{"title":"EuroPython 2020 - Closing Session","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2020-closing-session.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Various Speakers"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2020-closing-session.html","content":"<h3>Description<\/h3><p>Closing Session<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}}]},{"title":"EuroPython 2020 - Lightning Talks 07\/23","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2020-lightning-talks-0723.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Various Speakers"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2020-lightning-talks-0723.html","content":"<h3>Description<\/h3><p>Lightning Talks 1<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}}]},{"title":"EuroPython 2020 - Lightning Talks 07\/24","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2020-lightning-talks-0724.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Various Speakers"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2020-lightning-talks-0724.html","content":"<h3>Description<\/h3><p>Lightning Talks 2<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}}]},{"title":"Europython 2020 - Opening Session","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2020-opening-session.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Various Speakers"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2020-opening-session.html","content":"<h3>Description<\/h3><p>Opening Session<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}}]},{"title":"EuroPython 2021: Help us build the next edition!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2021-help-us-build-the-next-edition.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2021-help-us-build-the-next-edition.html","content":"<h3>Description<\/h3><p>We need help with organizing and running EuroPython 2021.<\/p>\n<p>In this session, we will explain how the EuroPython workgroup model works and where you could help.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}}]},{"title":"EuroPython 2021: Help us build the next edition!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/europython-2021-help-us-build-the-next-edition.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/europython-2021-help-us-build-the-next-edition.html","content":"<h3>Description<\/h3><p>We need help with organizing and running EuroPython 2021.<\/p>\n<p>In this session, we will explain how the EuroPython workgroup model works and where you could help.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}}]},{"title":"Everything You Know About MongoDB is Wrong!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/everything-you-know-about-mongodb-is-wrong.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Mark Smith"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/everything-you-know-about-mongodb-is-wrong.html","summary":"<h3>Description<\/h3><p>(Probably)<\/p>\n<p>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.<\/p>\n<p>Let me clear up some things: MongoDB is an ACID-compliant database with transactions, schemas &amp; relationships. It includes a powerful aggregation query language; map-reduce has been deprecated \u2026<\/p>","content":"<h3>Description<\/h3><p>(Probably)<\/p>\n<p>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.<\/p>\n<p>Let me clear up some things: MongoDB is an ACID-compliant database with transactions, schemas &amp; 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).<\/p>\n<p>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 a lot over the years, but lots of information out there hasn't caught up.<\/p>\n<p>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).<\/p>\n<ul class=\"simple\">\n<li>What exactly is MongoDB?<\/li>\n<li>What is the current release of MongoDB?<\/li>\n<li>MongoDB is not a JSON database.<\/li>\n<li>MongoDB has transactions.<\/li>\n<li>MongoDB allows relationships.<\/li>\n<li>You should only consider sharding if you must.<\/li>\n<li>MongoDB is secure.<\/li>\n<li>MongoDB stores your data reliably.<\/li>\n<li>MongoDB is a big product, with lots to learn.<\/li>\n<\/ul>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Databases"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"MongoDB"}}]},{"title":"Extending HTTP for fun and non-profit","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/extending-http-for-fun-and-non-profit.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Roberto Polli"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/extending-http-for-fun-and-non-profit.html","summary":"<h3>Description<\/h3><p>My journey into the IETF HTTP workgroup<\/p>\n<p>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?<\/p>\n<p>This talk proposes an iterative strategy for identify and standardize inside IETF key features \u2026<\/p>","content":"<h3>Description<\/h3><p>My journey into the IETF HTTP workgroup<\/p>\n<p>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?<\/p>\n<p>This talk proposes an iterative strategy for identify and standardize inside IETF key features of your API guidelines.\nThe steps includes feature landscaping, stakeholder identification and engagement, prototyping and writing an actual internet-draft.<\/p>\n<p>The strategy is shown using two examples:\n- rewriting of <cite>Digest<\/cite> header RFC3230 adding clarifications useful for implementors;\n- proposing new <cite>RateLimit<\/cite> headers and engage with implementors (Microsoft, Red Hat, Kong, ..).<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"HTTP"}}]},{"title":"Extending Python with Rust","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/extending-python-with-rust.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Mikhail Medvedev"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/extending-python-with-rust.html","summary":"<h3>Description<\/h3><p>Introduction and a hands-on demo of writing Python extension in Rust<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Introduction and a hands-on demo of writing Python extension in Rust<\/p>\n<p>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.\nIn this talk we will take a look at existing crates that provide interface to Python and see how easy it is to use them.\nThen we go through the demo and see it in action.\nRun some benchmarks against pure Python and also Cython.\nWrite a Dockerfile to build it all together.\nDiscuss CI\/CD for mixed Rust\/Python projects.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"All Other Programming Languages"}},{"@attributes":{"term":"Compiler and Interpreters"}},{"@attributes":{"term":"Deployment\/Continuous Integration and Delivery"}},{"@attributes":{"term":"Docker"}},{"@attributes":{"term":"Rust"}}]},{"title":"Find a new job - Sponsor Presentations","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/find-a-new-job-sponsor-presentations.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/find-a-new-job-sponsor-presentations.html","summary":"<h3>Description<\/h3><p>Recruiting Session<\/p>\n<p>Many of our sponsor are looking to hire more developers and EuroPython is the perfect place to reach out to many of them.<\/p>\n<p>In this session, the sponsors will present themselves in short intros and you can then approach them directly in their sponsor virtual rooms (chat \u2026<\/p>","content":"<h3>Description<\/h3><p>Recruiting Session<\/p>\n<p>Many of our sponsor are looking to hire more developers and EuroPython is the perfect place to reach out to many of them.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Business"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Job Hunting"}},{"@attributes":{"term":"Python Skills"}},{"@attributes":{"term":"Workforce"}}]},{"title":"Flasync Await","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/flasync-await.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"David Bordeynik"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/flasync-await.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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\u2019ll demonstrate the benefits of going async for a web application, justify choosing Sanic over other web frameworks like aiohttp. I\u2019ll do so by transforming a Flask backed application to a Sanic backed application. Finally, I\u2019ll provide tips &amp; tricks from my experience on measuring, monitoring and testing async code.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"ASYNC \/ Concurreny"}},{"@attributes":{"term":"Abstractions"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Web"}}]},{"title":"Full Stack Type Safety","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/full-stack-type-safety.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Szymon Py\u017calski"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/full-stack-type-safety.html","summary":"<h3>Description<\/h3><p>Beyond PEP-484 \u2013 ensure type consistency between layers<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Beyond PEP-484 \u2013 ensure type consistency between layers<\/p>\n<p>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?\nIn 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.\nThe 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.\nBasic 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\u2019t have prior exposure to these technologies.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"Django"}},{"@attributes":{"term":"JavaScript"}},{"@attributes":{"term":"Type-Hinting"}},{"@attributes":{"term":"Web Protocols"}}]},{"title":"Growing a Python Community at an Enterprise Scale","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/growing-a-python-community-at-an-enterprise-scale.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Mario Corchero"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/growing-a-python-community-at-an-enterprise-scale.html","summary":"<h3>Description<\/h3><p>The talk will showcase how the Python community started and took off in Bloomberg, and how it can serve as a model that can be used within other companies as well. This includes details on how Bloomberg's Python community got started and grew to the place that it is \u2026<\/p>","content":"<h3>Description<\/h3><p>The talk will showcase how the Python community started and took off in Bloomberg, and how it can serve as a model that can be used within other companies as well. This includes details on how Bloomberg's Python community got started and grew to the place that it is today, as well as tips from its leaders personal experiences.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}}]},{"title":"gRPC Python, C Extensions, and AsyncIO","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/grpc-python-c-extensions-and-asyncio.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Lidi Zheng"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/grpc-python-c-extensions-and-asyncio.html","summary":"<h3>Description<\/h3><p>How to make AsyncIO work with the gRPC Core<\/p>\n<p>Goal - Encourage Python developers to understand C extensions by sharing gRPC Python\u2019s practice, and advocate the adoption of AsyncIO.<\/p>\n<p>Prerequisite\n- Understand thread vs. process;\n- Interested in asynchronous programming.<\/p>\n<p>gRPC Brief\n- What\u2019s gRPC Core? And what is gRPC Python \u2026<\/p>","content":"<h3>Description<\/h3><p>How to make AsyncIO work with the gRPC Core<\/p>\n<p>Goal - Encourage Python developers to understand C extensions by sharing gRPC Python\u2019s practice, and advocate the adoption of AsyncIO.<\/p>\n<p>Prerequisite\n- Understand thread vs. process;\n- Interested in asynchronous programming.<\/p>\n<p>gRPC Brief\n- What\u2019s gRPC Core? And what is gRPC Python?<\/p>\n<p>Cython To The Rescue\n- Why we picked Cython among all other available tools (e.g., pybind11, ctypes)\n- Debuggability: pdb &amp; gdb<\/p>\n<p>The GIL Friction\n- How to delegate work to C extension\n- How to make multithreading work<\/p>\n<p>AsyncIO Topic\n- Not blocking the loop, the main headache.\n- Non-blocking I\/O solution 1: replacing C libraries\u2019 I\/O operations\n- Non-blocking I\/O solution 2: dedicated background poller thread\n- Performance improvement (10k -&gt; 20k for client, 4k -&gt; 16k for server)<\/p>\n<p>Migration to AsyncIO\n- Tolerate multithreading and AsyncIO in the same application\n- Make both API co-existable in the same application<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"ASYNC \/ Concurreny"}},{"@attributes":{"term":"CPython"}},{"@attributes":{"term":"Cython"}},{"@attributes":{"term":"Performance"}}]},{"title":"Guido van Rossum Q&A","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/guido-van-rossum-qa.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Guido van Rossum"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/guido-van-rossum-qa.html","content":"<h3>Description<\/h3><p>Q&amp;A session with Guido van Rossum, Creator of Python.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Python general"}}]},{"title":"Honey, There Is a Python in My Android Phone!","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/honey-there-is-a-python-in-my-android-phone.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"James Ing Wei Tang"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/honey-there-is-a-python-in-my-android-phone.html","summary":"<h3>Description<\/h3><p>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.\nThis quick solution did save me enormous amount of time in cataloguing my books. Intriguing by \u2026<\/p>","content":"<h3>Description<\/h3><p>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.\nThis 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"conference"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"python"}},{"@attributes":{"term":"Gadgets"}},{"@attributes":{"term":"General"}},{"@attributes":{"term":"Python 3"}}]},{"title":"How to Avoid Becoming a 10x Engineer","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/how-to-avoid-becoming-a-10x-engineer.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Ivana Kellyerova"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/how-to-avoid-becoming-a-10x-engineer.html","summary":"<h3>Description<\/h3><p>Why you should ignore advice by random internet people, by a random internet person<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Why you should ignore advice by random internet people, by a random internet person<\/p>\n<p>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!<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Programming"}},{"@attributes":{"term":"The Answer to Life the Universe and Everything Else"}}]},{"title":"How to be Pythonic? Design a Query Language in Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/how-to-be-pythonic-design-a-query-language-in-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Cheuk Ho"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/how-to-be-pythonic-design-a-query-language-in-python.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>We don\u2019t want to make the same mistake. That\u2019s 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.<\/p>\n<p>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.<\/p>\n<p>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 &amp; A sessions to allow further discussions.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"Databases"}},{"@attributes":{"term":"Graph Databases"}},{"@attributes":{"term":"Open-Source"}},{"@attributes":{"term":"Programming"}}]},{"title":"How to Run a Corridor Track in a Remote Conference with Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/how-to-run-a-corridor-track-in-a-remote-conference-with-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Nicholas Tollervey"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/how-to-run-a-corridor-track-in-a-remote-conference-with-python.html","summary":"<h3>Description<\/h3><p>How hard can it be..? Let's find out..!<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>How hard can it be..? Let's find out..!<\/p>\n<p>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.<\/p>\n<p>How do we remotely recreate the opportunity for chance encounters, unexpected conversation and exploration of a venue and new city with friends?<\/p>\n<p>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, &quot;what would a MUD written in 2020 look like?&quot;. Then, rather foolishly, &quot;how hard can this be?&quot;. Happily, I'd written a MUD in Python as a recent entry to PyWeek.<\/p>\n<p>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.<\/p>\n<p>What could possibly go wrong..? Let's find out..!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Conferences and Meet-Ups"}},{"@attributes":{"term":"Fun and Humor"}},{"@attributes":{"term":"Game-Development"}},{"@attributes":{"term":"Python general"}}]},{"title":"How to sort anything","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/how-to-sort-anything.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Reuven Lerner"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/how-to-sort-anything.html","summary":"<h3>Description<\/h3><p>Keeping your data organized with &quot;sorted&quot; and custom functions<\/p>\n<p>Sorting is one of those things that we take for granted in Python. The built-in &quot;sorted&quot; function knows how to sort any iterable of objects that are themselves sortable.<\/p>\n<p>But hiding behind that simple description is a great deal of \u2026<\/p>","content":"<h3>Description<\/h3><p>Keeping your data organized with &quot;sorted&quot; and custom functions<\/p>\n<p>Sorting is one of those things that we take for granted in Python. The built-in &quot;sorted&quot; function knows how to sort any iterable of objects that are themselves sortable.<\/p>\n<p>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.<\/p>\n<p>After watching this talk, you'll have a better understanding of sorting, built-in data structures, function objects, and how &quot;magic methods&quot; affect the our Python classes.  Moreover, you'll be able to write clearer, shorter, and more easily understood code.<\/p>\n<p>Topics I'll address in this talk:<\/p>\n<ul class=\"simple\">\n<li>&quot;sorted&quot; and Timsort<\/li>\n<li>Sorting a list of simple structures<\/li>\n<li>Reversing the direction with &quot;reverse&quot;<\/li>\n<li>Custom sorting with &quot;key&quot;<\/li>\n<li>Stable sort<\/li>\n<li>Sorting a list of dicts<\/li>\n<li>Using &quot;lambda&quot;<\/li>\n<li>Using operator.itemgetter<\/li>\n<li>Sorting a list of named tuples<\/li>\n<li>Sorting a list of objects<\/li>\n<li>Making your object sortable<\/li>\n<li>The functools.total_ordering decorator<\/li>\n<\/ul>\n<p>This is an intermediate-level talk; I'll assume that anyone attending knows how to write functions, classes, and methods.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Functional Programming"}}]},{"title":"How to write multi-paradigm code","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/how-to-write-multi-paradigm-code.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Elias Mistler"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/how-to-write-multi-paradigm-code.html","summary":"<h3>Description<\/h3><p>... without making a mess<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>... without making a mess<\/p>\n<p>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.<\/p>\n<p>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:<\/p>\n<ul class=\"simple\">\n<li>Code Structure<\/li>\n<li>Data Structures<\/li>\n<li>State Handling<\/li>\n<li>Multiple implementations<\/li>\n<\/ul>\n<p>Prerequisites:\nThere 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Abstractions"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Clean Code"}},{"@attributes":{"term":"Functional Programming"}}]},{"title":"HTTP\/3 \u2013 Why should I care?","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/http3-why-should-i-care.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Miloslav Pojman"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/http3-why-should-i-care.html","summary":"<h3>Description<\/h3><p>Internet foundations reworked.<\/p>\n<p>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.<\/p>\n<p>HTTP\/3 can change the Internet as we know it today. Since \u2026<\/p>","content":"<h3>Description<\/h3><p>Internet foundations reworked.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"HTTP"}},{"@attributes":{"term":"Internet"}},{"@attributes":{"term":"Privacy"}},{"@attributes":{"term":"Web"}},{"@attributes":{"term":"Web Protocols"}}]},{"title":"Interactive Mapmaking with Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/interactive-mapmaking-with-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Sangarshanan Veeraraghavan"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/interactive-mapmaking-with-python.html","summary":"<h3>Description<\/h3><p>Introducing Geopatra for quickly creating amazing interactive maps with dataframes<\/p>\n<p>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<\/p>\n<p>This talk introduces Geopatra, an open-source mapping library \u2026<\/p>","content":"<h3>Description<\/h3><p>Introducing Geopatra for quickly creating amazing interactive maps with dataframes<\/p>\n<p>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<\/p>\n<p>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.\ngeopatra attempts to abstract all the complexities and tries to provide a unified framework for mapping geodataframes<\/p>\n<ol class=\"arabic\">\n<li><p class=\"first\">Introduction (2 mins)<\/p>\n<blockquote>\n<ul class=\"simple\">\n<li>Who am I?<\/li>\n<li>Setting the expectations<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<li><p class=\"first\">Working with Geodataframes (5 mins)<\/p>\n<blockquote>\n<ul class=\"simple\">\n<li>Reading Spatial data as a GeoDataframe<\/li>\n<li>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)<\/li>\n<li>Now that we have established our love for geopandas lets map geodataframes<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<li><p class=\"first\">Let the Mapmaking begin (10 mins)<\/p>\n<blockquote>\n<ul class=\"simple\">\n<li>Basic Non Interactive maps with Geopandas and Matplotlib<\/li>\n<li>Creating basic interactive maps with Folium, Plotly &amp; Kepler (GeoJSONPlots, Clustermaps, Heatmaps, H3gridmaps)<\/li>\n<li>The number of steps vs the number of necessary steps<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<li><p class=\"first\">Enter Geopatra (10 mins)<\/p>\n<blockquote>\n<ul class=\"simple\">\n<li>The need for Geopatra (Could it be any Easier and Faster)<\/li>\n<li>Wrapping up popular mapmaking libraries for GeoDataframes<\/li>\n<li>Create interactive maps with just a single line<\/li>\n<li>Future work and Discussion :)<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<\/ol>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"GEO and GIS"}},{"@attributes":{"term":"Open-Source"}},{"@attributes":{"term":"Visualization"}}]},{"title":"IoTPy: Python + Streams + Agents for Streaming Applications","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/iotpy-python-streams-agents-for-streaming-applications.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Kanianthra Chandy"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/iotpy-python-streams-agents-for-streaming-applications.html","summary":"<h3>Description<\/h3><p>Ingest and analyze streams of data generated by sensors, social media an other sources.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Ingest and analyze streams of data generated by sensors, social media an other sources.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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\u2019s huge base of libraries and (2) create multithreaded, multicore and distributed Python applications by simply connecting streams to each other.<\/p>\n<p><a class=\"reference external\" href=\"https:\/\/www.AssembleSoftware.com\">https:\/\/www.AssembleSoftware.com<\/a><\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Distributed Systems"}},{"@attributes":{"term":"Internet of Things (IoT)"}},{"@attributes":{"term":"Messaging and Job Queues (RabbitMQ\/Redis\/...)"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}},{"@attributes":{"term":"Sensors"}}]},{"title":"IPython: The Productivity Booster","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/ipython-the-productivity-booster.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Miki Tebeka"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/ipython-the-productivity-booster.html","summary":"<h3>Description<\/h3><p>Learn to be productive with IPython<\/p>\n<p>IPython seems like a fancy Python shell. Why do we need it when we have PyCharm, VSCode, and other IDEs?<\/p>\n<p>In this talk you'll learn how to use the power of IPython for rapid development and how you can integrate it with existing \u2026<\/p>","content":"<h3>Description<\/h3><p>Learn to be productive with IPython<\/p>\n<p>IPython seems like a fancy Python shell. Why do we need it when we have PyCharm, VSCode, and other IDEs?<\/p>\n<p>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.<\/p>\n<p>You'll also learn on some popular extension and cool configuration hacks (such as <cite>%autoreload 2<\/cite>)<\/p>\n<p>Since Jupyter is based on IPython, you'll be able to use all of what you\nlearned in Jupyter Lab\/Notebooks as well.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Ipython"}}]},{"title":"Lessons from the Trenches: rewriting and re-releasing virtualenv","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/lessons-from-the-trenches-rewriting-and-re-releasing-virtualenv.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Bernat Gabor"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/lessons-from-the-trenches-rewriting-and-re-releasing-virtualenv.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Packaging"}},{"@attributes":{"term":"Virtual Env"}},{"@attributes":{"term":"python"}}]},{"title":"Live-coding a music synthesizer","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/live-coding-a-music-synthesizer.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Ram Rachum"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/live-coding-a-music-synthesizer.html","summary":"<h3>Description<\/h3><p>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.<\/p>\n<p>All the code will be written live and we'll hear the audio that it produces.<\/p>\n<p>We\u2019ll start \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n<p>All the code will be written live and we'll hear the audio that it produces.<\/p>\n<p>We\u2019ll start with creating a simple sound using a sine wave. We\u2019ll gradually make it sound more like a real instrument, learning a little\nbit about music theory on the way. We\u2019ll add features one-by-one until by the end of the talk, we\u2019ll hear our synthesizer play a piece\nof classical music.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Agile"}},{"@attributes":{"term":"Algorithms"}},{"@attributes":{"term":"Fun and Humor"}},{"@attributes":{"term":"Physics"}},{"@attributes":{"term":"PyPy"}}]},{"title":"Machine Learning for Everyone","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/machine-learning-for-everyone.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Aaron Ma"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/machine-learning-for-everyone.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"General"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Making Pandas Fly","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/making-pandas-fly.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Ian Ozsvald"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/making-pandas-fly.html","summary":"<h3>Description<\/h3><p>Process bigger-than-RAM data using Pandas, Dask and Vaex<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Process bigger-than-RAM data using Pandas, Dask and Vaex<\/p>\n<p>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.\nThis 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Multi-Processing"}},{"@attributes":{"term":"Performance"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Mastering a data pipeline with Python: 6 years of learned lessons from mistakes","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/mastering-a-data-pipeline-with-python-6-years-of-learned-lessons-from-mistakes.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Robson Junior"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/mastering-a-data-pipeline-with-python-6-years-of-learned-lessons-from-mistakes.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Open-Source"}}]},{"title":"Meditations on First Deployment: A Practical Guide to Responsible Development","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/meditations-on-first-deployment-a-practical-guide-to-responsible-development.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alejandro Saucedo"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/meditations-on-first-deployment-a-practical-guide-to-responsible-development.html","summary":"<h3>Description<\/h3><p>Keynote<\/p>\n<p>As the impact of software increasingly reaches farther and wider, our professional responsibility as developers becomes more critical to society. The production systems we design, build and maintain often bring inherent adversities with complex technical, societal and even ethical challenges. The skillsets required to tackle these challenges require \u2026<\/p>","content":"<h3>Description<\/h3><p>Keynote<\/p>\n<p>As the impact of software increasingly reaches farther and wider, our professional responsibility as developers becomes more critical to society. The production systems we design, build and maintain often bring inherent adversities with complex technical, societal and even ethical challenges. The skillsets required to tackle these challenges require us to go beyond the algorithms, and require cross-functional collaboration that often goes beyond a single developer. In this talk we introduce intuitive and practical insights from a few of the core ethics themes in software including Privacy, Equity, Trust and Transparency. We cover their importance, the growing societal challenges, and how organisations such as The Institute for Ethical AI, The Linux Foundation, the Association for Computer Machinery, NumFocus, the IEEE and the Python Software Foundation are contributing to these critical themes through standards, policy advise and open source software initiatives. We finally will wrap up the talk with practical steps that any individual can take to get involved and contribute to some of these great open initiatives, and contribute to these critical ongoing discussions.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Ethics"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Migrating codebases with millions of modules from Python 2 to Python 3","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/migrating-codebases-with-millions-of-modules-from-python-2-to-python-3.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Francisco Passos"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/migrating-codebases-with-millions-of-modules-from-python-2-to-python-3.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Python 2"}},{"@attributes":{"term":"Python 3"}}]},{"title":"Morning Announcements 07\/24","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/morning-announcements-0724.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Various Speakers"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/morning-announcements-0724.html","content":"<h3>Description<\/h3><p>Morning Annoucements<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}}]},{"title":"NLPeasy - a Workflow to Analyse, Enrich, and Explore Textual Data","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/nlpeasy-a-workflow-to-analyse-enrich-and-explore-textual-data.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Philipp Thomann"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/nlpeasy-a-workflow-to-analyse-enrich-and-explore-textual-data.html","summary":"<h3>Description<\/h3><p>Use pre-trained NLP-models, ingest into Elastic Search, and enjoy auto-generated Kibana dashboards!<\/p>\n<p>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?<\/p>\n<p>NLPeasy (<a class=\"reference external\" href=\"https:\/\/github.com\/d-one\/NLPeasy\">https:\/\/github \u2026<\/a><\/p>","content":"<h3>Description<\/h3><p>Use pre-trained NLP-models, ingest into Elastic Search, and enjoy auto-generated Kibana dashboards!<\/p>\n<p>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?<\/p>\n<p>NLPeasy (<a class=\"reference external\" href=\"https:\/\/github.com\/d-one\/NLPeasy\">https:\/\/github.com\/d-one\/NLPeasy<\/a>) 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.<\/p>\n<p>Complicated? Not at all! Just do it in a simple Jupyter Notebook.<\/p>\n<p>In this presentation we will give an architecture overview of the different components and demonstrate the capabilities of this Python package.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Elastic Search"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Natural Language Processing"}}]},{"title":"Object Internals","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/object-internals.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Mridu Bhatnagar"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/object-internals.html","summary":"<h3>Description<\/h3><p>Memory address in Python<\/p>\n<p>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.<\/p>\n<p>Pre-requisites:\nAnyone who knows built-in python \u2026<\/p>","content":"<h3>Description<\/h3><p>Memory address in Python<\/p>\n<p>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.<\/p>\n<p>Pre-requisites:\nAnyone who knows built-in python data structures like List, Dictionaries, set, etc.<\/p>\n<p>Curiosity questions that the talk answers:\n1. What happens to the memory address when * operator is used?\n2. When does python create a new object in memory?\n3. What does it refer to the mutability and immutability of objects in Python?\n4. If the outer object is immutable but the reference objects are mutable. Can the elements be added?\n5. What is the difference at the memory level when we refer to deep copy and shallow copy in lists?\n6. Operations like List.sort and sorted in python? What to use, when to use? What happens at the memory level?\n7. What is the difference between is vs ==? When should it be used?\n8. Lots and lots of interesting examples.\n9. How do we determine the memory reference id associated with the object?\n10. Meaning of assigning a value to a variable in Python.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data-Structures"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Python 3"}}]},{"title":"Overcoming access control in web APIs","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/overcoming-access-control-in-web-apis.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Adam Hopkins"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/overcoming-access-control-in-web-apis.html","summary":"<h3>Description<\/h3><p>How to address security concerns using Sanic<\/p>\n<p>Great, you've developed a great web API. Awesome, you are about to deploy it. But, how do you secure it and manage access?<\/p>\n<p>Learn about different approaches to securing a web API whether it is meant for third-party integrations or driving a \u2026<\/p>","content":"<h3>Description<\/h3><p>How to address security concerns using Sanic<\/p>\n<p>Great, you've developed a great web API. Awesome, you are about to deploy it. But, how do you secure it and manage access?<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>Core take aways will include:\n- how to implement various JWT strategies;\n- best practices for storing JWTs on a browser; and\n- controlling access privileges using structured scopes.<\/p>\n<p>Time permitting, we will even discuss some tools to be used to help ease the anxiety and make security more approachable.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"APIs"}},{"@attributes":{"term":"Authentication"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"RESTful"}},{"@attributes":{"term":"Web"}}]},{"title":"Painless Machine Learning in Production","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/painless-machine-learning-in-production.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Chase Stevens"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/painless-machine-learning-in-production.html","summary":"<h3>Description<\/h3><p>Developing machine learning models is easy; training, deploying, monitoring, scaling, and maintaining them in an automated fashion - all while maintaining your sanity - is hard.<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Developing machine learning models is easy; training, deploying, monitoring, scaling, and maintaining them in an automated fashion - all while maintaining your sanity - is hard.<\/p>\n<p>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.<\/p>\n<p>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:\n- AWS SageMaker\n- Airflow\n- Docker\n- Cookiecutter\n- Property-based testing\n- Jsonschema\n- Linting\n- Slack integration\n- Model artifacts and diagnostics\n- Automated deployments and rollbacks\n- Healthchecks\n- Autoscaling\n- DBT<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"DevOps general"}},{"@attributes":{"term":"Infrastructure"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Painting with GANs: Challenges and Technicalities of Neural Style Transfer","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/painting-with-gans-challenges-and-technicalities-of-neural-style-transfer.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Anmol Krishan Sachdeva"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/painting-with-gans-challenges-and-technicalities-of-neural-style-transfer.html","summary":"<h3>Description<\/h3><p>Building Artistic Artefacts using Generative Networks<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Building Artistic Artefacts using Generative Networks<\/p>\n<p>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 &quot;Neural Style Transfer (NST)&quot; 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.<\/p>\n<p>The flow of the talk will be as follows:\n~ Self Introduction [1 minute]\n~ A Succinct Prelude to GANs [10 minutes]\n~ Understanding Style Transfer [5 minutes]\n~ Learning about Neural Style Transfer Networks [5 minutes]\n~ Loss Functions: Content, Style, Total Variantion [10 minutes]\n~ Code Walkthrough and Result Analysis [5 minutes]\n~ Challenges and Applications [5 minutes]\n~ Questions and Answers Session [3-4 minutes]<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Computer Vision"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Generative Adversarial Networks"}},{"@attributes":{"term":"Image Processing"}},{"@attributes":{"term":"Machine-Learning"}}]},{"title":"Paolo Melchiorre - A pythonic full-text search","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/paolo-melchiorre-a-pythonic-full-text-search.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Paolo Melchiorre"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/paolo-melchiorre-a-pythonic-full-text-search.html","summary":"<h3>Description<\/h3><p>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.\nThe implementation of full-text search can be complex and many adopt the strategy of \u2026<\/p>","content":"<h3>Description<\/h3><p>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.\nThe 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.\nIn 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).\nThrough 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.\nMore info on <a class=\"reference external\" href=\"https:\/\/www.paulox.net\/2020\/07\/23\/europython-2020\/\">https:\/\/www.paulox.net\/2020\/07\/23\/europython-2020\/<\/a><\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Django"}},{"@attributes":{"term":"PostgreSQL"}}]},{"title":"Pluggable Architecture","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/pluggable-architecture.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Aly Sivji"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/pluggable-architecture.html","summary":"<h3>Description<\/h3><p>Extend functionality without touching existing code<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Extend functionality without touching existing code<\/p>\n<p>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.<\/p>\n<p>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!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Abstractions"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Software Design"}},{"@attributes":{"term":"System Architecture"}}]},{"title":"Practical Optimisations for Pandas","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/practical-optimisations-for-pandas.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Eyal Trabelsi"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/practical-optimisations-for-pandas.html","content":"<h3>Description<\/h3><p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Data Science"}}]},{"title":"Probabilistic Forecasting with DeepAR and AWS SageMaker","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/probabilistic-forecasting-with-deepar-and-aws-sagemaker.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Nicolas Kuhaupt"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/probabilistic-forecasting-with-deepar-and-aws-sagemaker.html","summary":"<h3>Description<\/h3><p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>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.\nIn 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Data Science"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Predictions"}},{"@attributes":{"term":"Public Cloud (AWS\/Google\/...)"}}]},{"title":"pyRT - Computer Graphics in Jupyter Notebooks for Fun and Teaching","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/pyrt-computer-graphics-in-jupyter-notebooks-for-fun-and-teaching.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Martin Christen"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/pyrt-computer-graphics-in-jupyter-notebooks-for-fun-and-teaching.html","summary":"<h3>Description<\/h3><p>Image Generation using Pure Python<\/p>\n<p>PyRT (pronounced pirate) is a raytracer\/image generator for Python 3.5 and higher. This project is mainly done with the following in mind:<\/p>\n<ul class=\"simple\">\n<li>ray tracing in the Jupyter notebook<\/li>\n<li>Teaching computer graphics and ray tracing<\/li>\n<li>Exploring ray tracing concepts for geo data using \u2026<\/li><\/ul>","content":"<h3>Description<\/h3><p>Image Generation using Pure Python<\/p>\n<p>PyRT (pronounced pirate) is a raytracer\/image generator for Python 3.5 and higher. This project is mainly done with the following in mind:<\/p>\n<ul class=\"simple\">\n<li>ray tracing in the Jupyter notebook<\/li>\n<li>Teaching computer graphics and ray tracing<\/li>\n<li>Exploring ray tracing concepts for geo data using Python.<\/li>\n<li>Rendering geo data, including large point clouds.<\/li>\n<li>Implementing new algorithms for rendering large 3D city models.<\/li>\n<li>Creating 3D-Maps from OpenStreetMap data<\/li>\n<li>Server-side rendering \/ cloud based rendering<\/li>\n<\/ul>\n<p>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.\nIn the last part I will show to use pyRT to create 3D renderings.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"3D"}},{"@attributes":{"term":"Education"}},{"@attributes":{"term":"GEO and GIS"}},{"@attributes":{"term":"Teaching"}},{"@attributes":{"term":"Virtualization"}}]},{"title":"Python Emergency Remote Teaching","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/python-emergency-remote-teaching.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Fernando Masanori Ashikaga"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/python-emergency-remote-teaching.html","summary":"<h3>Description<\/h3><p>Online Python programming course offered in response to a COVID-19 pandemic lockdown<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Online Python programming course offered in response to a COVID-19 pandemic lockdown<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"Education"}}]},{"title":"Python in Prison: how open source can change a criminal justice system","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/python-in-prison-how-open-source-can-change-a-criminal-justice-system.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Jessica McKellar"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/python-in-prison-how-open-source-can-change-a-criminal-justice-system.html","summary":"<h3>Description<\/h3><p>The United States has the highest incarceration rate in the world, with over 2.2 million people behind bars in our prisons, jails, juvenile facilities, and detention centers.<\/p>\n<p>The system is racist and ineffective, but how do we change something so big and so economically entrenched, especially as software \u2026<\/p>","content":"<h3>Description<\/h3><p>The United States has the highest incarceration rate in the world, with over 2.2 million people behind bars in our prisons, jails, juvenile facilities, and detention centers.<\/p>\n<p>The system is racist and ineffective, but how do we change something so big and so economically entrenched, especially as software engineers?<\/p>\n<p>Let\u2019s look at how Python classes in US prisons are transforming rehabilitation and re-entry, and talk about what we can do as individuals and as an open source community to dismantle an unjust system.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Python 3"}},{"@attributes":{"term":"Teaching"}}]},{"title":"Python Memory Management 101","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/python-memory-management-101.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"J.M. Ortega"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/python-memory-management-101.html","summary":"<h3>Description<\/h3><p>Deeping in Garbage collector<\/p>\n<p>I will review the main mechanims&nbsp;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&nbsp;such as writing efficient code.<\/p>\n<p>These could \u2026<\/p>","content":"<h3>Description<\/h3><p>Deeping in Garbage collector<\/p>\n<p>I will review the main mechanims&nbsp;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&nbsp;such as writing efficient code.<\/p>\n<p>These could be the main talking points:\n-Introduccition&nbsp;to memory management\n-Garbage collector and reference counting with python\n-Review the gc module for configuring the python garbage collector\n-Best practices for memory managment<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Management"}},{"@attributes":{"term":"Python Skills"}}]},{"title":"Python Table Manners: Cut the Cookie Gracefully","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/python-table-manners-cut-the-cookie-gracefully.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Wei Lee"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/python-table-manners-cut-the-cookie-gracefully.html","summary":"<h3>Description<\/h3><p>A Guideline Toward Cleaner Code<\/p>\n<p>### Goals\nI 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 \u2026<\/p>","content":"<h3>Description<\/h3><p>A Guideline Toward Cleaner Code<\/p>\n<p>### Goals\nI 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.<\/p>\n<p>### Outline for 30 minutes\n* Dependency Management (4 min)\n* Testing - Don't let your customer debug for you (4 min)\n* Style Check and auto-fix (4 min)\n* Task Management - No more repetitive typing (3 min)\n* pre-commit - Prevent committing bad code into codebase (3 min)\n* commitizen-tool - How good commit message can help (4 min)\n* Security (3 min)\n* Cookiecutter - Wrap up all the tools (3 min)\n* Q &amp; A (2 min)<\/p>\n<p>### Outline for 45 minutes\n* Dependency Management (5 min)\n* Testing - Don't let your customer debug for you (5 min)\n* Style Check and auto-fix (5 min)\n* Task Management - No more repetitive typing (5 min)\n* pre-commit - Prevent committing bad code into codebase (5 min)\n* commitizen-tool - How good commit message can help (5 min)\n* Security (5 min)\n* Continuous Integration - Assemble all the trivial steps (5 min)\n* Cookiecutter - Wrap up all the tools (3 min)\n* Q &amp; A (2 min)<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"General"}},{"@attributes":{"term":"Programming"}},{"@attributes":{"term":"Tooling"}}]},{"title":"Radio Astronomy with Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/radio-astronomy-with-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Priscila Gutierres"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/radio-astronomy-with-python.html","summary":"<h3>Description<\/h3><p>Gaussian Processes and Neural Networks applied to photometric redshift reconstruction<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Gaussian Processes and Neural Networks applied to photometric redshift reconstruction<\/p>\n<p>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.\nAs 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.\nAstronomical 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.\nThe 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.\nWhen 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.\nTo 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.<\/p>\n<p>Prerequisites: machine learning and basic math knowledge<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Machine-Learning"}},{"@attributes":{"term":"Physics"}}]},{"title":"Ray: A System for High-performance, Distributed Python Applications","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/ray-a-system-for-high-performance-distributed-python-applications.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Dean Wampler"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/ray-a-system-for-high-performance-distributed-python-applications.html","summary":"<h3>Description<\/h3><p>Scale your applications from a laptop to a cluster with ease<\/p>\n<p>Ray (<a class=\"reference external\" href=\"http:\/\/ray.io\">http:\/\/ray.io<\/a>) is an open-source, distributed framework from U.C. Berkeley\u2019s RISELab that easily scales Python applications from a laptop to a cluster. While broadly applicable, it was developed to solve the unique performance challenges \u2026<\/p>","content":"<h3>Description<\/h3><p>Scale your applications from a laptop to a cluster with ease<\/p>\n<p>Ray (<a class=\"reference external\" href=\"http:\/\/ray.io\">http:\/\/ray.io<\/a>) is an open-source, distributed framework from U.C. Berkeley\u2019s 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.<\/p>\n<p>I'll explain the problems that Ray solves for cluster-wide scaling of general Python applications and for specific examples, like RL workloads. Ray\u2019s features include rapid scheduling and execution of \u201ctasks\u201d and management of distributed state, such as model parameters during training. I'll compare Ray to other libraries for distributed Python.<\/p>\n<p>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\u2019s used in several open source systems, and how to use it in your projects.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Architecture"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Deep Learning"}},{"@attributes":{"term":"Distributed Systems"}},{"@attributes":{"term":"Microservices"}}]},{"title":"Real Time Stream Processing for Machine Learning at Massive Scale","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/real-time-stream-processing-for-machine-learning-at-massive-scale.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Alejandro Saucedo"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/real-time-stream-processing-for-machine-learning-at-massive-scale.html","summary":"<h3>Description<\/h3><p>Processing Massively Parallel Stream of Data with Python (+ Kafka, SKlearn, SpaCy and Seldon)<\/p>\n<p>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.<\/p>\n<p>We \u2026<\/p>","content":"<h3>Description<\/h3><p>Processing Massively Parallel Stream of Data with Python (+ Kafka, SKlearn, SpaCy and Seldon)<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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..<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"ASYNC \/ Concurreny"}},{"@attributes":{"term":"Best Practice"}},{"@attributes":{"term":"Big Data"}},{"@attributes":{"term":"Distributed Systems"}},{"@attributes":{"term":"Scientific Libraries (Numpy\/Pandas\/SciKit\/...)"}}]},{"title":"Reduce hardware costs in Internet of Things using Python","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/reduce-hardware-costs-in-internet-of-things-using-python.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Vijay Sajjanar"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/reduce-hardware-costs-in-internet-of-things-using-python.html","summary":"<h3>Description<\/h3><p>An electronics teacher's perspective<\/p>\n<p>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.<\/p>\n<p>Cloud computing and Web services have opened a \u2026<\/p>","content":"<h3>Description<\/h3><p>An electronics teacher's perspective<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.\nReady to return to a classroom session? Login for More!!<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Case Study"}},{"@attributes":{"term":"Data"}},{"@attributes":{"term":"Internet of Things"}},{"@attributes":{"term":"Web Crawling"}}]},{"title":"Resurrecting a django project in python 2.7 for 3.8","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/resurrecting-a-django-project-in-python-27-for-38.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Griffith S Rees"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/resurrecting-a-django-project-in-python-27-for-38.html","summary":"<h3>Description<\/h3><p>Pitfalls and euphoria updating my GeoDjango 1.11 PhD project to Django 3.0<\/p>\n<p>Goals:<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Pitfalls and euphoria updating my GeoDjango 1.11 PhD project to Django 3.0<\/p>\n<p>Goals:<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Django"}},{"@attributes":{"term":"GEO and GIS"}},{"@attributes":{"term":"Git"}},{"@attributes":{"term":"Testing"}},{"@attributes":{"term":"legacy-code"}}]},{"title":"Roadmap to an Open Source Artificial Pancreas & Diabetes monitoring with Flask","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/roadmap-to-an-open-source-artificial-pancreas-diabetes-monitoring-with-flask.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Diana Rodriguez Manrique"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/roadmap-to-an-open-source-artificial-pancreas-diabetes-monitoring-with-flask.html","summary":"<h3>Description<\/h3><p>Nightscout + Python + Voice + SMS - Using tech for good!<\/p>\n<p>Open Source has crossed frontiers and is widely used to solve problems in the health &amp; science fields. In this talk we\u2019ll learn about the many moving parts of continuous glucose monitoring for type 1 Diabetes as part of the open-source \u2026<\/p>","content":"<h3>Description<\/h3><p>Nightscout + Python + Voice + SMS - Using tech for good!<\/p>\n<p>Open Source has crossed frontiers and is widely used to solve problems in the health &amp; science fields. In this talk we\u2019ll 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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Beginners"}},{"@attributes":{"term":"Communication"}},{"@attributes":{"term":"DIY"}},{"@attributes":{"term":"Development"}},{"@attributes":{"term":"Open-Source"}}]},{"title":"Running EuroPython 2020 as an online conference","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/running-europython-2020-as-an-online-conference.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/running-europython-2020-as-an-online-conference.html","summary":"<h3>Description<\/h3><p>Challenges we faced switching to an online event due to COVID-19<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Challenges we faced switching to an online event due to COVID-19<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}},{"@attributes":{"term":"The Answer to Life the Universe and Everything Else"}}]},{"title":"Running EuroPython 2020 as an online conference","link":{"@attributes":{"href":"https:\/\/pyvideo.org\/europython-2020\/running-europython-2020-as-an-online-conference.html","rel":"alternate"}},"published":"2020-07-23T00:00:00+00:00","updated":"2020-07-23T00:00:00+00:00","author":{"name":"Marc-Andre Lemburg"},"id":"tag:pyvideo.org,2020-07-23:\/europython-2020\/running-europython-2020-as-an-online-conference.html","summary":"<h3>Description<\/h3><p>Challenges we faced switching to an online event due to COVID-19<\/p>\n<p>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 \u2026<\/p>","content":"<h3>Description<\/h3><p>Challenges we faced switching to an online event due to COVID-19<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n<p>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.<\/p>\n","category":[{"@attributes":{"term":"EuroPython 2020"}},{"@attributes":{"term":"europython"}},{"@attributes":{"term":"europython-2020"}},{"@attributes":{"term":"europython-online"}},{"@attributes":{"term":"Community"}},{"@attributes":{"term":"EuroPython"}},{"@attributes":{"term":"EuroPython Society (EPS)"}},{"@attributes":{"term":"The Answer to Life the Universe and Everything Else"}}]}]}