<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns:yt="http://www.youtube.com/xml/schemas/2015" xmlns:media="http://search.yahoo.com/mrss/" xmlns="http://www.w3.org/2005/Atom">
 <link rel="self" href="http://www.youtube.com/feeds/videos.xml?channel_id=UC98CzaYuFNAA_gOINFB0e4Q"/>
 <id>yt:channel:UC98CzaYuFNAA_gOINFB0e4Q</id>
 <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
 <title>EuroPython Conference</title>
 <link rel="alternate" href="https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q"/>
 <author>
  <name>EuroPython Conference</name>
  <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
 </author>
 <published>2011-07-04T16:27:05+00:00</published>
 <entry>
  <id>yt:video:j4gwORB2lqI</id>
  <yt:videoId>j4gwORB2lqI</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>The intricate art of making your (internal) clients happy - presented by Paulina Winkowska</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=j4gwORB2lqI"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:29+00:00</published>
  <updated>2022-10-19T10:25:29+00:00</updated>
  <media:group>
   <media:title>The intricate art of making your (internal) clients happy - presented by Paulina Winkowska</media:title>
   <media:content url="https://www.youtube.com/v/j4gwORB2lqI?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/j4gwORB2lqI/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - The intricate art of making your (internal) clients happy - the story from a Python-centered Infra team - presented by Paulina Winkowska

[Wicklow Hall 1 on 2022-07-13]


If you have ever worked on an internal company project, you may feel it deep in your bones.
Let’s say that you discovered a need for a generic technological component in your organization’s tech stack. You identified stakeholders, gathered requirements, and started agile iterations on providing it. Then comes a day when you can show the MVP to your internal client! Yet… the client has lost his interest: maybe right now he says that he has already come up with his own temporary solution and he has no intention to switch to another one? Building internal products differs from commercial ones - there is no flow of cash and your clients are fully transparent.

In this talk, I would like to share with you my experience and tips connected with developing such internal tools and standards. All of this from the perspective of a member of the Machine Learning Infra team that is delivering its solutions to a rapidly growing ML department in a company whose product is used by 300 million unique users per month.

But let’s be specific! I will talk about:

- Common pitfalls and try to dig up the reasons for why they happen when developing internal solutions
- How one can approach delivering tools (spoiler: pilot programs, guilds, and more!)
- Learnings from introducing such approaches (what worked, what didn’t) in our case

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="3" average="5.00" min="1" max="5"/>
    <media:statistics views="187"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:Ch4v-pOyVdg</id>
  <yt:videoId>Ch4v-pOyVdg</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Building a Just-in-Time Python FaaS Platform with Unikraft presented by Felipe Huici, Alexander Jung</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=Ch4v-pOyVdg"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:29+00:00</published>
  <updated>2022-10-19T10:25:29+00:00</updated>
  <media:group>
   <media:title>Building a Just-in-Time Python FaaS Platform with Unikraft presented by Felipe Huici, Alexander Jung</media:title>
   <media:content url="https://www.youtube.com/v/Ch4v-pOyVdg?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/Ch4v-pOyVdg/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Building a Just-in-Time Python FaaS Platform with Unikraft - presented by Felipe Huici, Alexander Jung

[Liffey Hall 1 on 2022-07-13]


Unikraft [1] is a unikernel (specialized virtual machine) project. Unikraft is able to target a specific application (e.g., a web server such as NGINX) and transparently build an entire software stack, from the operating system all the way up to systems libraries, that includes only the parts that the application needs and nothing more. Such specialization results in extremely short boot times (a few milliseconds compared to hundreds or thousands for Linux VMs), small image sizes and memory consumption (e.g., a few MBs vs. hundreds of MBs) and a minimal attack surface, to name a few benefits. The short boot times also allow us to bring Unikraft VMs up just-in-time, as a request for a service arrives, and to bring the instance back down (or suspend it) when the request is over, allowing for even greater efficiency.

In addition, Unikraft images are single address space: in cloud environments strong isolation is provided by the hypervisor, so for single application/single tenant VMs it does not make sense to have a kernel/user-space divide. The end result is higher efficiency in performance, with Unikraft yielding noticeably higher throughout than Linux [2].

Regarding application support, we have put great effort towards making Unikraft as POSIX compatible as possible. Unikraft provides a syscall shim-layer and support for the musl libc, allowing us to run unmodified versions of Python. 

In terms of orchestration, we have integrated Unikraft with major frameworks such as Kubernetes and Prometheus. This, along with extensive debugging facilities should make Unikraft easy to both use and develop for.

[1] https://unikraft.org/
[2] https://dl.acm.org/doi/10.1145/3447786.3456248 (best paper award)

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="4" average="5.00" min="1" max="5"/>
    <media:statistics views="214"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:Lddegb2ToNY</id>
  <yt:videoId>Lddegb2ToNY</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Protocols in Python: Why You Need Them - presented by Rogier van der Geer</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=Lddegb2ToNY"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Protocols in Python: Why You Need Them - presented by Rogier van der Geer</media:title>
   <media:content url="https://www.youtube.com/v/Lddegb2ToNY?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i1.ytimg.com/vi/Lddegb2ToNY/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Protocols in Python: Why You Need Them - presented by Rogier van der Geer

[Liffey B on 2022-07-13]


Protocols have been around since Python 3.8. So what are they, and how can they help you write better code? And how are they different from Abstract Base Classes? In this talk I will introduce you to both concepts (ABCs and Protocols), and show you by example how they can make your life easier, and your code cleaner.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="19" average="5.00" min="1" max="5"/>
    <media:statistics views="374"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:GVB7KsCb2uc</id>
  <yt:videoId>GVB7KsCb2uc</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Elephants, ibises and a more Pythonic way to work with databases - presented by Marlene Mhangami</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=GVB7KsCb2uc"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Elephants, ibises and a more Pythonic way to work with databases - presented by Marlene Mhangami</media:title>
   <media:content url="https://www.youtube.com/v/GVB7KsCb2uc?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/GVB7KsCb2uc/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Elephants, ibises and a more Pythonic way to work with databases - presented by Marlene Mhangami

[Liffey Hall 1 on 2022-07-13]


A few weeks ago I was working on setting up a relational database to explore records from DataSF’s Civic Art Collection. Whenever I attend a tech conference I try to spend a day or two in the city to check out its cultural scene, so this seemed like useful information! I decided to use MySQL as my database engine. Coming from a Pandas background I was surprised by how unproductive and restricted I felt writing raw SQL queries. I also spent a significant amount of time resolving errors in queries that worked with one flavor of SQL but failed with MySQL. Throughout the process, I kept thinking to myself if only there was a more Pythonic way!!! A few weeks later I was introduced to Ibis. 

I live in Zimbabwe and the first thing that pops into my mind when I think of the word ibis is a safari. One of my favorite things to do when I'm not working is to go on a game drive. Whenever I've been adventuring on safari I usually see ibises perched on top of an elephant. The contrast between the creatures is stark! The African Sacred Ibis is a small, elegant creature that's named after the ancient Egyptian god Thoth. While as many of us know, an elephant is a very big and complex animal. This image serves as a great metaphor for the Python package and how it interacts with big database engines. 

Ibis allows you to write intuitive Python code and have that code be translated into SQL. Whether you’re wanting to interact with SQL databases or wanting to use distributed DBMSs, Ibis lets you do this in Python. You can think of the python code as the less complex elegant layer sitting on top of any big data engine of your choice. At the moment, Ibis supports quite a few backends including:

Traditional DBMSs: PostgreSQL, MySQL, SQLite Analytical DBMSs: OmniSciDB, ClickHouse, Datafusion Distributed DBMSs: Impala, PySpark, BigQuery In memory analytics: pandas and Dask. 

Anything you can write in an SQL select statement you can write in Ibis. You can carry out joins, filters, and other operations on your data in a familiar, Pandas-like syntax. In this talk, we'll go through several examples of these and compare what the SQL code would look like versus writing to the database with Ibis. Overall, using Ibis simplifies your workflows, makes you more productive, and keeps your code readable.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="8" average="5.00" min="1" max="5"/>
    <media:statistics views="171"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:gy6XEUnIFUg</id>
  <yt:videoId>gy6XEUnIFUg</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Wednesday's Lightning Talks</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=gy6XEUnIFUg"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Wednesday's Lightning Talks</media:title>
   <media:content url="https://www.youtube.com/v/gy6XEUnIFUg?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/gy6XEUnIFUg/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Wednesday's Lightning Talks

[The Auditorium on 2022-07-13]


Signing up is on a first-come-first-served basis. The queue is reset every day in the morning.
You may talk about / present (almost) everything with certain boundaries:
- no promotion for products of companies, no call for 'we are hiring' (but you may name your employer).
- conference announcements are limited to one minute only
- one LT per person per conference policy: everyone who has not given an LT at this year's conference, yet, is ahead of you in the queue
- keep it short, the shorter the presentations, the more people can give a talk

See you there and have fun!

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="1" average="5.00" min="1" max="5"/>
    <media:statistics views="74"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:gznPQpZH1Yc</id>
  <yt:videoId>gznPQpZH1Yc</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>How to embed a Python interpreter in an iOS app - presented by Łukasz Langa</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=gznPQpZH1Yc"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>How to embed a Python interpreter in an iOS app - presented by Łukasz Langa</media:title>
   <media:content url="https://www.youtube.com/v/gznPQpZH1Yc?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/gznPQpZH1Yc/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - How to embed a Python interpreter in an iOS app - presented by Łukasz Langa

[Liffey A on 2022-07-15]


Come see how you can make a native mobile app that embeds Python 3.10 to allow users to script app behavior. It's allowed by Apple but is currently underutilized by the app makers. Add superpowers to your iPhone app with Python!

Native mobile applications have many advantages over mobile websites or apps made with cross-platform toolkits. They will use less battery, allow for richer graphics, more consistent UI behavior, and enable more functionality through device-specific APIs. Wouldn't it be great to have access to all this from Python?

In this talk, we'll marry a native iOS app written in Swift with an embedded Python 3.10 interpreter to allow users to customize what the application is doing. We'll go through the entire process of:

- embedding Python from source;
- building it into the Swift mobile app in Xcode;
- adding a few pre-compiled third-party libraries like numpy and Pillow to broaden the scope of what the user can do;
- running the resulting app on an iPhone 13;
- modifying the app behavior at runtime thanks to our new Python superpowers!

Knowledge of Swift is not required for attendees of this talk. However, it will be needed later if you're willing to embed Python in an iPhone app. Embedding Python doesn't really let you make an app without knowing Swift. Don't fret though! It's pretty easy to get a hang of Swift when you're fluent in Python.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="9" average="5.00" min="1" max="5"/>
    <media:statistics views="184"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:Fmmycsjqdh8</id>
  <yt:videoId>Fmmycsjqdh8</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>The beginner’s data science project checklist - presented by Sara Iris Garcia</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=Fmmycsjqdh8"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>The beginner’s data science project checklist - presented by Sara Iris Garcia</media:title>
   <media:content url="https://www.youtube.com/v/Fmmycsjqdh8?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/Fmmycsjqdh8/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - The beginner’s data science project checklist - presented by Sara Iris Garcia

[Liffey Hall 2 on 2022-07-13]


In this talk you will learn tips on:

- Defining requirements
- Outlining a data science project
- Reproducibility and Readability checklist
- Best practices for writing Documentation
- Useful python tools
- Tips on presenting your findings
 
This is a talk is intended for beginner audience.&quot;

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="3" average="5.00" min="1" max="5"/>
    <media:statistics views="75"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:95D5Hv9muUs</id>
  <yt:videoId>95D5Hv9muUs</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Taking charge of your race conditions - presented by Borjan Tchakaloff</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=95D5Hv9muUs"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Taking charge of your race conditions - presented by Borjan Tchakaloff</media:title>
   <media:content url="https://www.youtube.com/v/95D5Hv9muUs?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i2.ytimg.com/vi/95D5Hv9muUs/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Taking charge of your race conditions - presented by Borjan Tchakaloff

[Liffey A on 2022-07-13]


Anybody working with concurrency (threads, processes, or more abstractly workers) eventually encounters a _race condition_. This kind of hair-pulling problem is a staple in computer science. Sometimes you can offload the problem to a lower layer, usually to the database engine, bundling it with atomic transactions. But there are times when you have to take charge of worst-case concurrency scenarios, when your architecture and constraints do not leave room for implicit concurrency management. Then, you need to carefully craft the paths in and out of the critical section, avoiding deadlocks along the way.

In this talk, we will focus on how to test your program with a manufactured race condition. If you know it can happen, you'd better cover it in your test suite. We will define a server program called in parallel by multiple clients to illustrate the problem at hand. Then, we will manually set-up a race condition during testing to explore broken behaviour and problematic code.

The Python standard library offers all the tools we need to cater for race conditions. We hope the tour we will give allows you to exercise your own race conditions more easily. Why, we even think you will have all the cards in hand to counter them!

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="0" average="0.00" min="1" max="5"/>
    <media:statistics views="53"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:dlWSHbMl67E</id>
  <yt:videoId>dlWSHbMl67E</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Event-driven microservices with Python and Apache Kafka - presented by Dave Klein</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=dlWSHbMl67E"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Event-driven microservices with Python and Apache Kafka - presented by Dave Klein</media:title>
   <media:content url="https://www.youtube.com/v/dlWSHbMl67E?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i1.ytimg.com/vi/dlWSHbMl67E/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Event-driven microservices with Python and Apache Kafka - presented by Dave Klein

[Wicklow Hall 1 on 2022-07-13]


Building distributed systems can be challenging, and that's what microservices are. With traditional request/response based architectures, it is easy to end up with services that are tightly coupled, making them difficult to maintain and extend independently. While not a silver bullet, an event-based architecture makes it easier to maintain loose coupling. It also makes it easier to extend and evolve our systems without resorting to a rewrite. 

In this presentation, we will look at an example of an event-driven microservices application and discuss some things to consider when adopting this approach.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="8" average="5.00" min="1" max="5"/>
    <media:statistics views="232"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:OwA8hfLclTg</id>
  <yt:videoId>OwA8hfLclTg</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Code coverage through unit tests running in sub-processes/threads  - presented by Saransh Chopra</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=OwA8hfLclTg"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Code coverage through unit tests running in sub-processes/threads  - presented by Saransh Chopra</media:title>
   <media:content url="https://www.youtube.com/v/OwA8hfLclTg?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/OwA8hfLclTg/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Code coverage through unit tests running in sub-processes/threads: Locally and automated on GitHub - presented by Saransh Chopra

[Liffey A on 2022-07-13]


The *“Code coverage”* value of a codebase depicts how much of the production/development code is covered by the running unit tests. In the world of open-source, all the maintainers try their best to keep this percentage high, and this process is often automated through tools like `GitHub Actions` and `Codecov`. Hence, code coverage becomes a good metric (not always) to check if a particular codebase is well tested and reliable.

Open source maintainers often prefer to run these unit tests in sub-processes or threads as it allows them to run in parallel and reduce the `CI` (continuous integration) run time on pull requests. They also make it easier to stop the tests midway if they are taking too much time (probabilistic tests).

In this talk, we will first try to use `coverage.py` in the default mode on the unit tests running in a sub-process or a thread. After going through the results, we will build a solution to cover the “un-covered” code in the local repository. As a final step, we will also configure a `CI` (continuous integration) pipeline using `GitHub Actions` and `Codecov` to automate this process in our remote repository.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="0" average="0.00" min="1" max="5"/>
    <media:statistics views="54"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:srd_Keqgwh0</id>
  <yt:videoId>srd_Keqgwh0</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Dance with shadows: stubs, patch and mock - presented by María Andrea Vignau</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=srd_Keqgwh0"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Dance with shadows: stubs, patch and mock - presented by María Andrea Vignau</media:title>
   <media:content url="https://www.youtube.com/v/srd_Keqgwh0?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/srd_Keqgwh0/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Dance with shadows: stubs, patch and mock - presented by María Andrea Vignau

[Liffey Hall 2 on 2022-07-13]


A comprehensive but simple introduction to the use of fake objects. Explain how to inject this object and use in test using patch and the awesome and powerful mock objects . Last, I present some very interesting specialized libraries for mocking on web development.

Outline

0:00 I present the key factors to use fake objects, and present some dangers. 

3:00 Discuss some wanted characteristics in this kind of components. 

6:00 Patching: how to do that and some common mistakes. After that I present patch scopes and some disadvantage in the use of this technique. 

10:00 Inverse dependency as an possible alternative to patch 

13:00 Mocks properties: return value, side effect and specs. Using mocks as spy functions or wrappers. Asserting on callings. 

21:00 Using special libraries for mocking. Presenting pyvcr and moto.&quot;

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="1" average="5.00" min="1" max="5"/>
    <media:statistics views="75"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:ksfDqq14saQ</id>
  <yt:videoId>ksfDqq14saQ</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>Choosing the right database for your next project - presented by Marc-André Lemburg</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=ksfDqq14saQ"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>Choosing the right database for your next project - presented by Marc-André Lemburg</media:title>
   <media:content url="https://www.youtube.com/v/ksfDqq14saQ?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/ksfDqq14saQ/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - Choosing the right database for your next project - Looking at options beyond PostgreSQL and MySQL - presented by Marc-Andre Lemburg

[Liffey Hall 1 on 2022-07-13]


In the last few years, lots of new database engines have been developed and existing ones have been extended to cover new application spaces and features, making the selection process even more challenging than it was before, if you want to maintain an edge.

The talk will highlight the most important database engines to consider and their strengths when using them with Python applications, covering relational databases for general purpose tasks, data warehouse workloads, data analytics, machine learning, streaming data and massive scalability, to name a few aspects.

Talk slides: https://downloads.egenix.com/python/EuroPython-2022-Talk-Choosing-the-right-database-for-your-next-project.pdf

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="10" average="5.00" min="1" max="5"/>
    <media:statistics views="229"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:SSzZrUEd8Js</id>
  <yt:videoId>SSzZrUEd8Js</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>How to craft awesome Machine Learning demos with Python - presented by Omar Sanseviero</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=SSzZrUEd8Js"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>How to craft awesome Machine Learning demos with Python - presented by Omar Sanseviero</media:title>
   <media:content url="https://www.youtube.com/v/SSzZrUEd8Js?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i4.ytimg.com/vi/SSzZrUEd8Js/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - How to craft awesome Machine Learning demos with Python - presented by Omar Sanseviero

[Liffey Hall 2 on 2022-07-13]


Building interactive Machine Learning demos is now easier than ever. With Open Source libraries such as Gradio and Streamlit, you can use Python to craft demos, and use Spaces to share them with the rest of the ML ecosystem as well as non-ML people. Learning to create graphic interfaces for models is extremely useful for sharing with other people interesting in them. All of this leverages free, open-source tools that anyone can use.&quot;

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="1" average="5.00" min="1" max="5"/>
    <media:statistics views="64"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:J3KB_QEMIlI</id>
  <yt:videoId>J3KB_QEMIlI</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>An Introduction to Apache TVM - presented by Leandro Nunes</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=J3KB_QEMIlI"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>An Introduction to Apache TVM - presented by Leandro Nunes</media:title>
   <media:content url="https://www.youtube.com/v/J3KB_QEMIlI?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i3.ytimg.com/vi/J3KB_QEMIlI/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - An Introduction to Apache TVM - presented by Leandro Nunes

[Liffey Hall 2 on 2022-07-13]


This talk will present an introduction to Apache TVM using its Python API, and will include a demonstration using examples of deep learning models being executed in CPUs and Microcontrollers.
Apache TVM is a very flexible compilation stack for deep learning models, supporting many input formats such as TensorFlow, TFLite, Keras, PyTorch, ONNX, etc. as well as many target hardware like CPUs, GPUs and neural networks accelerators.

This talk will present a walkthrough of TVM Python API from installation to usage, demonstrating its features using a series of quick practical projects.

The high-level agenda is:

- TVM in a nutshell (a brief description of what is TVM)
- How to install
- Introduction to TVM Python API
- Practical demos: Compiling and tuning a model
- Compiling and running a model on an embedded target
- Final Remarks&quot;

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="0" average="0.00" min="1" max="5"/>
    <media:statistics views="49"/>
   </media:community>
  </media:group>
 </entry>
 <entry>
  <id>yt:video:Aty6rJIvpfU</id>
  <yt:videoId>Aty6rJIvpfU</yt:videoId>
  <yt:channelId>UC98CzaYuFNAA_gOINFB0e4Q</yt:channelId>
  <title>What happens when you import a module? - presented by Reuven M. Lerner</title>
  <link rel="alternate" href="https://www.youtube.com/watch?v=Aty6rJIvpfU"/>
  <author>
   <name>EuroPython Conference</name>
   <uri>https://www.youtube.com/channel/UC98CzaYuFNAA_gOINFB0e4Q</uri>
  </author>
  <published>2022-10-19T10:25:28+00:00</published>
  <updated>2022-10-19T10:25:28+00:00</updated>
  <media:group>
   <media:title>What happens when you import a module? - presented by Reuven M. Lerner</media:title>
   <media:content url="https://www.youtube.com/v/Aty6rJIvpfU?version=3" type="application/x-shockwave-flash" width="640" height="390"/>
   <media:thumbnail url="https://i2.ytimg.com/vi/Aty6rJIvpfU/hqdefault.jpg" width="480" height="360"/>
   <media:description>EuroPython 2022 - What happens when you import a module? - presented by Reuven M. Lerner

[The Auditorium on 2022-07-13]


Modules are a key feature of Python, allowing us to easily reuse our own code and take advantage of publicly available modules from PyPI. It's a rare program that doesn't include at least one &quot;import&quot; statement. But what actually happens when we import a module? How does Python find our file? How does it decide whether it should even try to find our module? And after it finds our module file, how does Python load it into memory, assigning to its attributes?

In this talk, I'll walk you through what happens when you &quot;import&quot; a module into Python. The mechanism is surprisingly complex, in no small part because it has to take so many possibilities into consideration. We'll talk about finders and loaders, and about the many ways in which you can customize the module-loading mechanism if you find a need to do so.

If you've ever imported a module, then this talk will pull back the curtain a bit, helping you to understand what's happening under the hood.

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License http://creativecommons.org/licenses/by-nc-sa/4.0/</media:description>
   <media:community>
    <media:starRating count="22" average="5.00" min="1" max="5"/>
    <media:statistics views="268"/>
   </media:community>
  </media:group>
 </entry>
</feed>
