List of videos

Anna-Lena Popkes - Finding Magic in Python

Finding Magic in Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Anna-Lena Popkes This talk was inspired by a personal project I worked on a while ago where I created my own magical universe in order to learn and apply Python concepts I hadn’t used before. Some of these concepts are included in the talk in a clear, precise and well-explained manner, including examples from the magical universe. The talk tells a story about how our passions can be used for learning to create something magical. Level: The talk is suited both for beginners and intermediates. It might even contain some new knowledge for professionals. Required knowledge: Only basic Python knowledge is required, all other concepts will be introduced and explained clearly in the talk. The goal of the talk is two-fold: a) the audience should understand that learning becomes much more fun and engaging when they look for a topic they are interested in and use it for learning. b) the presented Python features should become clear such that everyone is able to use them in future projects or come back to the talk if they need a well-explained reference. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Meredydd Luff - Writing Better Documentation for Developers

Writing Better Documentation for Developers [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Meredydd Luff If you're building something for developers, you want it to get used. This means your potential users need to find your library, framework, or API. They need to work out whether it's useful for them, learn how to use it, and solve problems they encounter along the way. All these things depend on your developer docs! This talk is about important functions of your developer docs that you might not think about, some particular pitfalls of documenting things for developers, and how we can make things better. -- Your docs are content marketing. Your prospective users are out there, Googling "how to [what your product does]", and your docs are the answer. Your docs define your product. When a developer is evaluating your project, this is what they're reading. Your docs are your user interface. Developers using your API aren't looking at your website - they're looking at your docs, and their code. So let's look at some "dos and don'ts": Do know what type of doc you're writing. Tutorials are not the same thing as reference docs. I'll walk you through a useful framework for thinking about types of documentation. Don't confuse reference docs and API docs. Merely enumerating the classes, methods and functions of your API isn't enough to describe its behaviour. I'll explain why it's tempting, and why it's a bad idea! Do make it easy to navigate between types of documentation. Your user is on a journey, from "what should I use?" to "how do I use it?" to "what arguments does this function take?". Make it easy for them. Do talk to your users. They will tell you where the weaknesses in your docs are. Even better: have a public Q&A forum, where deficiencies in your documentation get found and filled in, and the long tail takes care of itself. Your docs are your UI, your marketing and the definition of your product - so act like it! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Daniel Moisset - Pattern Matching in Python

Pattern Matching in Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Daniel Moisset When Python 3.10 comes out in October 2021, it will include a new feature called “Structural Pattern Matching”. Structural Pattern Matching has been a staple of functional programming languages, but it has recently appeared or been proposed as future additions to imperative and OOP programming languages (like JavaScript, C++, and Rust). It provides an elegant way of processing and deconstructing heterogeneous data structures, and it enables an alternative paradigm to method dispatch. As one of this feature's contributors, my goals in this presentation are to describe the motivation for this new functionality, present some of the problems that its use will effectively solve, and give a brief introduction of how to use it. This talk is aimed at intermediate Python developers (although a beginner will be able to understand it). After attending you should be able to understand not just how to use pattern matching, but also when it’s a good idea to use it and what are the possible pitfalls to avoid. There will be a Q&A session which could be a good chance to discuss your questions about why certain design decisions were made when introducing pattern matching into Python License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Emmanuelle Delescolle - Writing a python web framework in 2021

Writing a python web framework in 2021 [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Emmanuelle Delescolle Django, Flask and Pyramid are among the most popular Python web frameworks and for good reasons. But... Those projects are over 10 years old and tied to decisions made at the time of the first commit. The fact the web was a server-rendered world of request/response cycle is a big part in those decisions. Today's web has shifted with a special attention to API's and websockets. It still needs to care for the "regular" server-rendered page but it is not its only focus anymore! Not only that, but (well-documented) tools are available today that were not there 10 years ago. So, if you wanted to write the next big webframefork in 2021, what tools and libraries would be at your disposal? Somewhat ironically, those 3 main frameworks I mentioned have given rise to, or at least inspired some, "derivate" standalone libraries like ORM's, or schema serializers that can be used by a third party framework. Other libraries have also spawned as ports from other languages and, finally, the python WSGI ecosystem (like middlewares) has also grown in that time frame. So, is writing a python web framework in 2021 mostly a matter of picking up existing tools and putting them together? Let's take a closer look! License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Reuven Lerner - Generators, coroutines, and nanoservices

Generators, coroutines, and nanoservices [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Reuven Lerner Generator functions have been a part of Python for many years already, and are a well known technique for creating iterators. But generators have a few lesser-known aspects, including their “send” method and the “yield from” syntax. Many Python developers shy away from using them, unsure of what they would do, or how they would be useful — seeing coroutines as a solution looking for a problem. In this talk, I’ll tell you why coroutines can be useful, and how thinking about them as in-process “nanoservices” puts us in the right frame of mind to determine when they would and wouldn’t be appropriate. Among the topics we’ll explore are: Generator function basics next vs. send How to build a coroutine Thinking of coroutines as nanoservices Sub-coroutines The need for yield from Using yield from Ideas for general usage License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Yoichi Takai - Getting Started with Statically Typed Programming in Python 3.10

Getting Started with Statically Typed Programming in Python 3.10 [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Yoichi Takai Goals of this session - Basic usage of type hint - What's new in 3.10's typing modules - Best practice for developing with type hint Detail I'll talk about static-typing programming in Python with the "typing" standard module. In 2015, it appeared in Python 3.5, but it has only become common in the last few years. However, over the years, there have been several big PEPs adopted and updated. Even now, I think many people don't know where to start because there is little coherent information. I'll also talk about this: - Improving developing experiences throw taking advantage of the typing inference engine - Perspectives on code reviews. I have been - Used type hints for almost two years in production - Learned Haskell and typescript Let me introduce the audiences to type hints based on those experiences. The timeline of the talk is: 1. Self-introduction, Overview of this session [5min] 2. Why do I talk about typing? [5min] 3. Introduction of typing, How to write basically (Most significant) [10min] 4. Generics, User-Defined types (Best practice included) [10min] 5. Backward compatibility for 3.9 or before [5min] 6. Updates overview on 3.10 [10min] Technical Requirements for audience - Basic knowledge of Python 3.x grammar - Experiences developing in statically typed language - Optional, not required License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Marc-Andre Lemburg - Thoughts on the Future of Python

Thoughts on the Future of Python [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Marc-Andre Lemburg Python has come a long way since it was created in 1989. The talk will look into the current state, upcoming changes and explore possibilities for its future development, both at a language and application level. The talk looks at Python's development from a higher level point of view, using a more business oriented approach and analyzing the perspective from a corporate C-level user. It's an updated version of the talk I've given at Driving IT 2020 and include more recent developments: https://ida.dk/viden-og-netvaerk/videoer-fra-ida/kategorisider/videoer-it-og-innovation/driving-it-talks-thoughts-on-the-future-of-python License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
Zac Hatfield Dodds - Stop Writing Tests!

Stop Writing Tests! [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By Zac Hatfield Dodds We often think of manual testing as slower and less effective than automated testing, but most test suites haven't automated that much! Computers can execute all our pre-defined tests very quickly - and this is definitely a good thing, especially for regression tests - but the tricky parts are still done by humans. We select test cases (inputs) and check that the corresponding outputs make sense; we write functions that "arrange, act, and assert" for our tests; and we decide - or script via CI systems - which tests to execute and when. So lets explore some next-generation tools that we could use to automate these remaining parts of a testing workflow! PROPERTY-BASED TESTING helps you to write more powerful tests by automating selection of test cases: instead of listing input-output pairs, you describe the kind of data you want and write a test that passes for all X.... We'll see a live demo, and learn something about the Python builtins in the process! CODE INTROSPECTION, and a handy templating tool, can help write tests for you. Do you need to know any more than which code to test, and what properties should hold? ADAPTIVE FUZZING tools take CI to its logical conclusion: instead of running a fixed set of tests on each push, they sit on a server and run tests full-time... fine-tuning themselves to find bugs in your project and pulling each new commit as it lands! By the end of this talk, you'll know what these three kinds of tools can do - and how to get started with automating the rest of your testing tomorrow. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch
David Bordeynik - Moving Fast with FastAPI

Moving Fast with FastAPI [EuroPython 2021 - Talk - 2021-07-29 - Optiver] [Online] By David Bordeynik FastAPI is the new kid on python’s web frameworks block. Don’t let its novelty fool you - it is feature packed and it has top notch documentation. In this talk, we’ll build an application using FastAPI - leveraging our knowledge from existing frameworks. We’ll see how the “fast” FastAPI is for fast development. License: This video is licensed under the CC BY-NC-SA 4.0 license: https://creativecommons.org/licenses/by-nc-sa/4.0/ Please see our speaker release agreement for details: https://ep2021.europython.eu/events/speaker-release-agreement/

Watch