<?xml version='1.0' encoding='utf-8' ?>
<!-- Made with love by pretalx v2026.3.0.dev0. -->
<schedule>
    <generator name="pretalx" system="pretalx.com" version="2026.3.0.dev0" />
    <version>1.0.3</version>
    <conference>
        <title>Pycon Sweden 2024</title>
        <acronym>pyconse-2024</acronym>
        <start>2024-11-14</start>
        <end>2024-11-15</end>
        <days>2</days>
        <timeslot_duration>00:05</timeslot_duration>
        <base_url>https://pretalx.com</base_url>
        
        <time_zone_name>Europe/Stockholm</time_zone_name>
        
        
        <track name="Lightning talk" slug="4728-lightning-talk"  color="#5b8e7d" />
        
        <track name="Keynote" slug="4729-keynote"  color="#5b8e7d" />
        
        <track name="PyCon Sweden" slug="4730-pycon-sweden"  color="#5b8e7d" />
        
        <track name="Education and professional development" slug="4731-education-and-professional-development"  color="#f4a259" />
        
        <track name="Software Engineering, DevOps, Testing, and Security" slug="4732-software-engineering-devops-testing-and-security"  color="#bc4b51" />
        
        <track name="Data Science, AI, and Machine Learning" slug="4733-data-science-ai-and-machine-learning"  color="#669bbc" />
        
        <track name="Web development, applications, and database technologies" slug="4734-web-development-applications-and-database-technologies"  color="#f4a259" />
        
        <track name="Scientific and High-Performance Computing" slug="4735-scientific-and-high-performance-computing"  color="#bc4b51" />
        
    </conference>
    <day index='1' date='2024-11-14' start='2024-11-14T04:00:00+01:00' end='2024-11-15T03:59:00+01:00'>
        <room name='Auditorium' guid='52d365f3-772c-5545-a2bd-b4ed97efd65b'>
            <event guid='b22b9bbf-a802-5e98-9d72-a31314e13e07' id='56450' code='BHFANP'>
                <room>Auditorium</room>
                <title>Registration</title>
                <subtitle></subtitle>
                <type>Organization</type>
                <date>2024-11-14T08:00:00+01:00</date>
                <start>08:00</start>
                <duration>00:30</duration>
                <abstract>PyCon Sweden 2024 - Registration</abstract>
                <slug>pyconse-2024-56450-registration</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>TBD</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/BHFANP/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/BHFANP/feedback/</feedback_url>
            </event>
            <event guid='9f76809e-6346-5670-9c6c-29ca7b1c9bb3' id='56448' code='JFQDFJ'>
                <room>Auditorium</room>
                <title>Opening Session</title>
                <subtitle></subtitle>
                <type>Organization</type>
                <date>2024-11-14T08:30:00+01:00</date>
                <start>08:30</start>
                <duration>00:30</duration>
                <abstract>PyCon Sweden 2024 - Opening Session</abstract>
                <slug>pyconse-2024-56448-opening-session</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>Welcome to PyCon Sweden 2024!</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/JFQDFJ/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/JFQDFJ/feedback/</feedback_url>
            </event>
            <event guid='be11c0a5-dad3-56af-9ce8-7cbc69e2a9de' id='49871' code='CCPCRS'>
                <room>Auditorium</room>
                <title>Beyond the &quot;Hello, world!&quot;: from the core to you!</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2024-11-14T09:00:00+01:00</date>
                <start>09:00</start>
                <duration>01:00</duration>
                <abstract>Depending on who you ask, the meaning of Python will vary significantly. For some people, it could refer to the standard language implementation, for others it might mean a new challenge, your local meetup, your current work, and even the social aspects from the many communities.

There has been always a categorization around talks that have the more technical content, and the social aspects, which might led some people to ignore certain aspects of the whole ecosystem, and it will be the main topic of this presentation.

During this talk you will start learning technical aspects of the standard Python implementation, explore how Python has been getting everywhere due to the extensions in other languages, but also exploring
how the different conferences, communities and other social entities of Python has been changing.

After the talk, you will have the necessary resources in order to join the many aspects of the Python community, and start contributing.</abstract>
                <slug>pyconse-2024-49871-beyond-the-hello-world-from-the-core-to-you</slug>
                <track></track>
                
                <persons>
                    <person id='58301'>Cristi&#225;n Maureira-Fredes</person>
                </persons>
                <language>en</language>
                <description>The keynote will focus on a broad range of Python topics, starting from more technical ones around CPython, extensions, and language evolution, up to the organizational aspects of communities, conferences, the Python Software Foundation and most importantly, how you can be part of them.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/CCPCRS/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/CCPCRS/feedback/</feedback_url>
            </event>
            <event guid='d7d3cdb1-b68e-55ce-8366-555b863a4faf' id='55251' code='EWW8ZJ'>
                <room>Auditorium</room>
                <title>Let&apos;s goto work</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T10:30:00+01:00</date>
                <start>10:30</start>
                <duration>00:30</duration>
                <abstract>Languages evolve. But how? The infamous &quot;goto&quot; keyword, which for good reason is missing from Python, is a surprisingly &quot;easy&quot; feature to add! Learn how a programming language like Python evolves over time and how new features are added via Python Enhancement Proposals (PEPs). In the process, you&apos;ll learn different ways of implementing the goto keyword in Python, and why XKCD number 292 is true.</abstract>
                <slug>pyconse-2024-55251-let-s-goto-work</slug>
                <track></track>
                
                <persons>
                    <person id='57233'>Marcus N&#228;slund</person>
                </persons>
                <language>en</language>
                <description>Jumping to another piece of code is an essential part of how computer instructions are written, but a &quot;raw&quot; goto is generally considered bad practice outside of assembler. Today, we instead have while-loops and methods and all sorts of meaningful abstractions. There are also still valid usecases, even if they&apos;re few.

Through the eyes of a fictitious Python Enhancement Proposal (or PEP) for implementing the goto keyword, we will examine the path a PEP takes in real life, the transparent development process of the Python Software Foundation. We will also look at some actual implementations of a python goto keyword, and end up with a brand new goto-enabled version of CPython.

What started me on this adventure was a project to port 1980s text-based game in BASIC to modern Python. Due to the game&apos;s old age, it relies heavily on the kind of &quot;spaghetti code&quot; that was typical at the time, but as it turns out, it&apos;s not that difficult to add the goto functionality in python either! You might not want to actually do it, of course, but I learnt a lot from attempting it, and hopefully you will too.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/EWW8ZJ/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/EWW8ZJ/feedback/</feedback_url>
            </event>
            <event guid='a69c48b2-dd6c-5744-8735-e381f7171775' id='53504' code='X7DH3L'>
                <room>Auditorium</room>
                <title>Documenting Python Code</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T11:00:00+01:00</date>
                <start>11:00</start>
                <duration>00:30</duration>
                <abstract>Unlock the power of well-documented code! Join me for a quick dive into Python documentation essentials&#8212;learn about Docstrings, Sphinx, reStructuredText, and embracing a docs-as-code approach with different markup languages. Keep your code usable and maintainable. Let&#8217;s document smarter, not harder!</abstract>
                <slug>pyconse-2024-53504-documenting-python-code</slug>
                <track></track>
                
                <persons>
                    <person id='55685'>Christian Heitzmann</person>
                </persons>
                <language>en</language>
                <description>Yes, folks, software documentation is important! So far, you&#8217;ve benefited from well-documented Python libraries, so it&#8217;s only natural to document your own code in order to keep your software usable and maintainable.

However, the first step is often the most difficult. Therefore, this talk will provide an introduction to documenting Python code effectively. You will learn about the basic concepts of Docstrings, the Sphinx documentation generator, and the standard lightweight markup language reStructuredText. You will also learn about the benefits of a docs-as-code approach in general, and find an answer to the question of whether Python can also be documented using other markup languages.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/X7DH3L/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/X7DH3L/feedback/</feedback_url>
            </event>
            <event guid='c81b3cf3-5d85-5862-ad13-2fd20b5dc1d0' id='55233' code='NVZQSS'>
                <room>Auditorium</room>
                <title>Get old, go slow, write code!</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T11:30:00+01:00</date>
                <start>11:30</start>
                <duration>00:30</duration>
                <abstract>Turning old as a developer is hard. It is hard to stay relevant, hard to keep up with the competition of newcomers and hard to know all of those new frameworks, tools, languages and practices. However, the truth is that we oldies have a big advantage over the younglings.

We are slow! Slow is good! So whatever you do, don&#8217;t put your programming on the shelf just because someone half as old writes code with twice the speed.</abstract>
                <slug>pyconse-2024-55233-get-old-go-slow-write-code</slug>
                <track></track>
                
                <persons>
                    <person id='57221'>Tobias Modig</person>
                </persons>
                <language>en</language>
                <description>Instead of getting frustrated over the pace of the oldies, I believe that we need to take a step back, embrace the skill of being slow and change the developer mindset to understand that the best way to go fast in the long run, is often to be &#8220;controlled slow&#8221; in the short run.

In this interactive talk I will elaborate on the danger with the traditional &#8220;software developer life cycle&#8221; (developer -&gt; team lead -&gt; project leader -&gt; manager) and try to show how we instead can make those grey hairs your biggest asset, just by slowing down.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/NVZQSS/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/NVZQSS/feedback/</feedback_url>
            </event>
            <event guid='cc71bfb8-896f-5a64-a02c-bba108a13c7f' id='49873' code='C9KQE3'>
                <room>Auditorium</room>
                <title>Tech as a Gateway: Unlocking Opportunities for Women and Immigrants in the Digital Age</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2024-11-14T13:00:00+01:00</date>
                <start>13:00</start>
                <duration>01:00</duration>
                <abstract>In an increasingly digital world, the technology sector holds tremendous potential for innovation, growth, and societal progress. Yet, two underrepresented groups&#8212;women and immigrants&#8212;face significant barriers in accessing and thriving within the tech industry.
This keynote explores how the tech sector can empower women and immigrants, highlighting strategies for breaking barriers, fostering inclusion, and unlocking opportunities for innovation, growth, and diversity in the digital age.</abstract>
                <slug>pyconse-2024-49873-tech-as-a-gateway-unlocking-opportunities-for-women-and-immigrants-in-the-digital-age</slug>
                <track></track>
                
                <persons>
                    <person id='58303'>Saaya Sorrells-Weatherford</person>
                </persons>
                <language>en</language>
                <description>We will examine the current challenges women face in tech, including gender bias, the &quot;leaky pipeline,&quot; and pay disparities, while also highlighting the transformative power of diverse teams. Furthermore, we&#8217;ll discuss how tech can serve as a gateway for immigrants, offering access to new careers and entrepreneurship opportunities, despite obstacles like visa restrictions and cultural barriers.

The keynote will share actionable strategies to support women and immigrants in tech, from inclusive hiring practices and mentorship programs to education and government policies. Through real-life success stories and case studies, we will illustrate how empowering these groups is not just a moral imperative, but also a key driver of innovation and economic growth.

By fostering a more inclusive tech industry, we can unlock the full potential of diverse voices, ensuring a future where everyone&#8212;regardless of gender or background&#8212;can thrive and contribute to the global digital economy.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/C9KQE3/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/C9KQE3/feedback/</feedback_url>
            </event>
            <event guid='75835f4e-b432-5dd7-806c-1b423d7d775a' id='54506' code='3GDFKT'>
                <room>Auditorium</room>
                <title>Through the ups and downs and beyond - a down-to-earth guide to site reliability</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T14:00:00+01:00</date>
                <start>14:00</start>
                <duration>00:30</duration>
                <abstract>&#8220;You&#8217;re not Google, and neither are we!&#8221; is a common sentence we hear when someone mentions SRE, or site reliability engineering. SRE as a term has gotten the label of unattainable and hyperscale software management - but we&#8217;re going to rectify that! In this talk, we walk through a more practical approach to keeping your software services running in sun and rain.</abstract>
                <slug>pyconse-2024-54506-through-the-ups-and-downs-and-beyond-a-down-to-earth-guide-to-site-reliability</slug>
                <track></track>
                
                <persons>
                    <person id='56538'>Magdalena Stenius</person>
                </persons>
                <language>en</language>
                <description>The goal of this talk is to give the audience a good and practical insight into ways of increasing and ensuring their software systems reliability. We introduce the concept of SRE (site reliability engineering) as well as its history and critique. We then proceed to walk through some practical examples of reliability practices including 
What to monitor, why and how
What service level agreements are and how to use them
How to look at your service from an on-call perspective (what can break and how can we guard against that)
How load testing can be used both continuously and to learn about how your software behaves in different scenarios
All of these will include some of my real-life experiences and incidents I have seen when working as a backend engineer and doing on-call shifts.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/3GDFKT/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/3GDFKT/feedback/</feedback_url>
            </event>
            <event guid='b927e334-5b28-5f23-882d-ee44f17fb3b7' id='56204' code='XW8TAC'>
                <room>Auditorium</room>
                <title>Django Ninja for API Development: Lessons from Energy Market</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T14:30:00+01:00</date>
                <start>14:30</start>
                <duration>00:30</duration>
                <abstract>In this talk, we will dive into how Django Ninja has transformed the way we develop APIs for the energy industry, focusing on practical insights and real-world examples. Working with Swedish energy companies, we face the challenge of building fast, scalable, and reliable solutions for complex systems. Django Ninja has been a great framework for building robust APIs due to its simplicity, flexibility, and performance.</abstract>
                <slug>pyconse-2024-56204-django-ninja-for-api-development-lessons-from-energy-market</slug>
                <track></track>
                
                <persons>
                    <person id='57761'>Anastasiia Potekhina</person><person id='58544'>Beatriz Uezu</person>
                </persons>
                <language>en</language>
                <description>We&apos;ll explore:
Why Django Ninja: How its speed, built-in validation, and type hints help with fast API development.
How We Use It: A closer look a typical structure of a project, API design patterns, and how can we leverage Django Ninja to create efficient services.
Real-World Impact: Key benefits we&apos;ve experienced using Django Ninja (such as reduced development time, cleaner code, and enhanced maintainability, especially in an environment where data integration and automation are critical).</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/XW8TAC/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/XW8TAC/feedback/</feedback_url>
            </event>
            <event guid='524cc760-51d4-55de-8769-e085575be68d' id='54599' code='PGKAZ7'>
                <room>Auditorium</room>
                <title>I want to deploy my Flask app</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T15:00:00+01:00</date>
                <start>15:00</start>
                <duration>00:30</duration>
                <abstract>After creating a great web app using Python such as with flask, the next hurdle to production is how to make it available to users and operate it. And not just your app, but also ingress, the database, observability and the list goes on. We will go through your options for simplifying the operations of your web app using open source tooling. This will include using k8s directly with helm charts, PaaS using fly.io and new tooling developed by Canonical using juju. By the end of the talk you will have seen the benefits and drawbacks of each which will help you make an informed decision on which tool best suits your needs!</abstract>
                <slug>pyconse-2024-54599-i-want-to-deploy-my-flask-app</slug>
                <track></track>
                
                <persons>
                    <person id='58535'>Javier de la Puente</person>
                </persons>
                <language>en</language>
                <description>To show the audience their options for how to deploy web apps, such as flask, using open source tooling. The benefits and drawbacks of several open source tools will be explored and the audience will walk away having seen their options including, how to use them and their advantages and drawbacks. This will enable them to make an informed decision for how to simplify their operations!</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/PGKAZ7/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/PGKAZ7/feedback/</feedback_url>
            </event>
            <event guid='3feed6c9-5f8c-526a-b17f-bef51756072e' id='55309' code='Q9QSKZ'>
                <room>Auditorium</room>
                <title>Parallel Python: Embracing the Future with Sub-Interpreters and Free Threading</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T16:00:00+01:00</date>
                <start>16:00</start>
                <duration>00:30</duration>
                <abstract>Step into the future of Python with Parallel Python: Embracing the Future with Sub-Interpreters and Free Threading. This talk dives into the groundbreaking per-interpreter GIL in Python 3.12 and the enhancements in 3.13, which make parallel execution more accessible. We&#8217;ll explore the NoGIL compile option for true parallelism, compare traditional multiprocessing with sub-interpreters and free-threading, and tackle thread safety challenges. The session wraps up with a real-world ASGI web server example, showcasing the power of these new features in action.</abstract>
                <slug>pyconse-2024-55309-parallel-python-embracing-the-future-with-sub-interpreters-and-free-threading</slug>
                <track></track>
                
                <persons>
                    <person id='57290'>shekhar koirala</person>
                </persons>
                <language>en</language>
                <description>We will start by examining the new per-interpreter GIL introduced in Python 3.12, which allows sub-interpreters to run Python code concurrently. We&apos;ll explore the enhancements in Python 3.13, which include support for sub-interpreters in the standard library, making parallel execution more accessible. Additionally, we will discuss the revolutionary NoGIL compile option, paving the way for Python threads to run truly in parallel, potentially becoming the default in the future.

The talk will cover the traditional multiprocessing approach, comparing it with the newer methods of sub-interpreters and free-threading. We will assess the pros and cons of each approach, considering their complexities and suitability for various types of problems, whether CPU/IO bound.

Thread safety remains a crucial aspect of parallel programming. We will address common pitfalls such as race conditions and provide practical solutions using synchronization primitives to ensure thread-safe code.

Lastly, we will explore a real-world application combining sub-interpreters and free-threading in a multi-worker, multi-thread ASGI web server, benchmarking its performance against traditional web server architectures.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments>
                    <attachment href="https://pretalx.com/media/pyconse-2024/submissions/Q9QSKZ/resources/Parallel_Pyth_ukxGPol.pdf">Slides</attachment>
                </attachments>

                <url>https://pretalx.com/pyconse-2024/talk/Q9QSKZ/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/Q9QSKZ/feedback/</feedback_url>
            </event>
            <event guid='3c32933a-a56b-5c3c-91cd-afc807525a2a' id='55590' code='QHFSDN'>
                <room>Auditorium</room>
                <title>It&apos;s About Time</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T16:30:00+01:00</date>
                <start>16:30</start>
                <duration>00:30</duration>
                <abstract>**It&apos;s About Time** is set out to be an overview of time programming, to enlighten about the particular pitfalls and general problem space that we face when programming around the context of time.

We will look at some key points:
- Serialisation and the representation of time
- Accessibility when presenting date/time on the web
- Good practices for API design (OpenAPI specification)
- Timezones and Daylight savings
- Special Relativity, and how this can make things even weirder
- What I would consider to be best practices when writing code in python.

Hopefully, put purely speculative I hope that my talk may be inspiring in getting people to have a peek into the pandora&apos;s box which is time - in order to help people understand that maybe everything is not always as easy as we assume them to be.

This talk has been presented once at the university of KTH at its full length (not recorded), and a much cut down version during PyCon 2022 [as a lightning talk](https://youtu.be/TXRvuv9TRSw?t=369). But I am excited for the opportunity and the great honour of present the full version.</abstract>
                <slug>pyconse-2024-55590-it-s-about-time</slug>
                <track></track>
                
                <persons>
                    <person id='57535'>Petter Salminen</person>
                </persons>
                <language>en</language>
                <description>We&apos;re starting the talk by presenting what and why we&apos;re talking about time. Some common misconceptions around time, which mostly all stem from human presumptions about how time works. Many of them are due to simplifications we as a species have made. 

Some thoughts about accessibility, and what may be important to think about when presenting time to users.

Then we go though the localisation of time, as example, famously middle-endian-ness that more often than not create confusion between cultures.

We will go through timezones, and how they are subject to change over time, and how even some countries like Sweden use &quot;daylight savings&quot; to make things even more confusing. All countries don&apos;t even apply the DST at the same time, or even through the whole country as a whole creating endless confusion.

We will go though one of the greatest inventions for helping us with coordinating time around the globe, the synchronisation of atomic clocks, and what the strange(?) definition of a second precisely is. 

And then once we think we had a good solution, A wrench is thrown into our gears, as special relativity and the universe itself steps into the mix. Luckily we won&apos;t have much problems just on earth, but if you&apos;re programming things like GPS satellites, then you&apos;re affected.

Then we land back on earth, and stalk about python programmings - tips and tricks in particular. Like how one should not use `date.utcnow()` *(as stated in the documentation)*, using `timedeltas`and remembering the inclusion of  `tz` in dates.

I will also mention the excellent `freezegun` package and how one could more easily write test code around code that otherwise may be hard to test.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/QHFSDN/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/QHFSDN/feedback/</feedback_url>
            </event>
            <event guid='314d819b-64dc-5e49-b741-56ea4f2d1185' id='55593' code='NXB3MP'>
                <room>Auditorium</room>
                <title>A challenge of converting a project&apos;s core to asyncio</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T17:00:00+01:00</date>
                <start>17:00</start>
                <duration>00:30</duration>
                <abstract>Pyroute2 is a relatively large project with a history spanning about 10 years, primarily built around synchronous, threading-oriented code. One of the most popular and longstanding user requests has been to implement support for asynchronous parallelism. This task presents numerous challenges, ranging from continuous integration (CI) to maintaining compatibility, as the project must continue to support its existing synchronous code.</abstract>
                <slug>pyconse-2024-55593-a-challenge-of-converting-a-project-s-core-to-asyncio</slug>
                <track></track>
                
                <persons>
                    <person id='57539'>Petr Savelyev</person>
                </persons>
                <language>en</language>
                <description>This talk will offer a brief review of both the successful decisions and the mistakes made throughout the development of our project, with the hope that others can learn from our experiences.

Agenda:

    Introduction: An overview of the library &#8212; what it is, where it&apos;s used, and the reasons it initially did not employ asyncio.

    Custom Event Loops: Why we tried to implement our own event loops, and why these decisions proved to be a mistake.

    Transition to asyncio: Migrating to asyncio, highlighting how this transition reduced the codebase and simplified the architecture.

    Maintaining Compatibility: How we maintain compatibility with the old synchronous code and address the challenges of supporting long-term stable (LTS) versions.

    CI Challenges: The issues we&apos;ve encountered with continuous integration (CI) both in the past and present, along with the strategies we&apos;ve adopted to mitigate them.

Bonus: I&#8217;ll also touch on the decision to integrate protocol 9P as the standard inter-process communication (IPC) mechanism within the library.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/NXB3MP/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/NXB3MP/feedback/</feedback_url>
            </event>
            <event guid='5eab1b0c-c48f-5420-9cde-be54c3981b00' id='56515' code='WLKXGJ'>
                <room>Auditorium</room>
                <title>Closing - Day 1</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-14T17:30:00+01:00</date>
                <start>17:30</start>
                <duration>00:05</duration>
                <abstract>Closing - Day 1</abstract>
                <slug>pyconse-2024-56515-closing-day-1</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>TBD</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/WLKXGJ/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/WLKXGJ/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='Tutorial 1' guid='78360482-3938-5762-8278-2a2333f1fdda'>
            <event guid='abb3eae7-9f59-526f-b443-b481a86b470f' id='54004' code='X93JLY'>
                <room>Tutorial 1</room>
                <title>Workshop: Master Advanced Web Scraping Techniques in Python</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-14T10:30:00+01:00</date>
                <start>10:30</start>
                <duration>01:30</duration>
                <abstract>Join me for an Python workshop to unlock the full potential of Web Scraping in Python! You&#8217;ll learn advanced techniques for collecting datasets.

Highlights:

- Overcome fingerprint challenges and anti-bot measures.
- Discover Scrapoxy, the free and open-source proxies waterfall tailored for Web Scraping</abstract>
                <slug>pyconse-2024-54004-workshop-master-advanced-web-scraping-techniques-in-python</slug>
                <track></track>
                
                <persons>
                    <person id='56077'>Fabien Vauchelles</person>
                </persons>
                <language>en</language>
                <description>Here is an overview of the workshop: https://github.com/fabienvauchelles/scraping-workshop

We&#8217;ll address protection measures step by step in real-time such as proxies and headless browsers.

Every attendee will leave with the skills to apply these latest legal techniques to collect data.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/X93JLY/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/X93JLY/feedback/</feedback_url>
            </event>
            <event guid='d15d5da5-9c37-5cc7-98b9-b96567f1a86f' id='55869' code='RVU97H'>
                <room>Tutorial 1</room>
                <title>Write Load Tests in Python and Run Them in the Cloud in 15 Minutes</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-14T14:00:00+01:00</date>
                <start>14:00</start>
                <duration>01:30</duration>
                <abstract>Want to make sure that your systems can handle unexpected bursts of load? Do you love Python and want to leverage your Python skills for load testing too? Then this is the workshop for you!

Following up on the talk I did last year about the open source Locust project, I&#8217;m now back for a hands-on workshop, this time with extra Cloud!</abstract>
                <slug>pyconse-2024-55869-write-load-tests-in-python-and-run-them-in-the-cloud-in-15-minutes</slug>
                <track></track>
                
                <persons>
                    <person id='57757'>Lars Holmberg</person><person id='58571'>Larry the Locust</person>
                </persons>
                <language>en</language>
                <description>During this workshop you&apos;ll learn how to:

* Write and and run your first load tests using Locust (https://github.com/locustio/locust, https://github.com/locustcloud/locust-workshop)
* Interpret test results and do basic root cause analysis
* Avoid common pitfalls when designing/running load test scenarios
* Scale and simplify test runs by using Locust Cloud, our SaaS solution

Also, we&apos;ll be giving out 10 cute Locust plush toys among those who register and run a test!

---

Rough agenda:

* What is Locust
* Installation
* Creating your first test
* Running Locust locally
* Register for Locust Cloud (free!)
* Run your tests from the Cloud
* Explore the reports (what can we say about the performance of the system under test?)
* Debugging tests
* Improving your tests (assertions, early exit, loops &amp; weights, etc)
* Q&amp;A

During the workshop we&apos;ll be using a demo load test target, so don&apos;t worry if you don&apos;t have your own environment suitable for load testing.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/RVU97H/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/RVU97H/feedback/</feedback_url>
            </event>
            <event guid='837d900a-90cf-5cc4-adf3-35ac75aa4af4' id='55629' code='HEYPBH'>
                <room>Tutorial 1</room>
                <title>Mastering Generative AI with Python: A Hands-On Workshop with OpenAI and Anthropic</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-14T16:00:00+01:00</date>
                <start>16:00</start>
                <duration>01:30</duration>
                <abstract>AI is a hot topic these days! However it&apos;s not always clear how to get the best use of it, how to test and trust it, and how to build it into your product. In this workshop, we will explore practical applications of Generative AI with Python, focusing on AI models like OpenAI&#8217;s GPT-3-5 and Anthropic&#8217;s Claude.

At Lyst, we have been using OpenAI and Anthropic for the past year in various ways. We will share insights from our own work, where AI has significantly enhanced our day-to-day operations. Using OpenAI to tag customer feedback sentiment has enabled employees to extract actionable insights from large volumes of data, improving decision-making and customer understanding. Using Anthropic&apos;s AI models to create product titles has resulted in unique, more descriptive content on Lyst&apos;s platform, which has increased customer engagement and sales.

In this interactive and engaging workshop, we want attendees to get hands on with these AI models. We&apos;ll have OpenAI and Antropic credits for attendees to use, and the workshop will cover essential best practices, prompt engineering strategies to get the model to do what you need it to do, strategies for testing and evaluating, and what to keep in mind when incorporating the model into your product. Ratuja and Sophie have learned a lot of this through trial and error and are excited to share their learnings with the group.

We have a dataset where attendees can use AI prompts to enhance the data and serve it in a Django App. This workshop will both give a high level overview of best practices when incorporating AI into your application and give technical users a chance to play around and learn for themselves.</abstract>
                <slug>pyconse-2024-55629-mastering-generative-ai-with-python-a-hands-on-workshop-with-openai-and-anthropic</slug>
                <track></track>
                
                <persons>
                    <person id='57582'>Ratuja Reddy</person><person id='57678'>Sophie Cassidy</person>
                </persons>
                <language>en</language>
                <description>In this workshop, we will be giving attendees a hands-on approach to using AI models in Python applications, specifically OpenAI&#8217;s GPT-3-5 and Anthropic&#8217;s Claude.

Ratuja and Sophie are senior backend engineers at Lyst, a fashion marketplace containing over 8 million products. Because of this, we need to make sure we have scalable and robust architecture.

We have experimented with using Generative AI to aid this. Ratuja built a Django application using OpenAI to tag themes of customer reviews - allowing us to understand customers better. Sophie used Anthropic models to improve descriptions of products, making them better for customers. She tested various models to find the best one for her use case before implementing in production. We learned a lot through this process and are keen to share more in this workshop!

The workshop will follow the structure:
- Overview of Generative AI; using technologies like OpenAI and Anthropic in production
- Overview of the models and choosing the right one for your needs. 
- Best practices for prompt engineering.
- Testing strategies to validate your model is performing.
- Attendees get hands on! They will download a dataset and a partially built Django App . They&#8217;ll get to use OpenAI and Anthropic credits to enrich the dataset and productionize their models.
- Wrap up, the group can share learnings and discuss ideas they have for using AI in their own projects.

We hope this workshop will be useful for Python developers interested in incorporating AI into their work. We believe AI is not a fad and will continue to grow. There&#8217;s so much information online; it&#8217;s hard to know where to start. With the interactive workshop, we want attendees to leave understanding the basics and best practices in a way which will be transferable to many use cases!</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/HEYPBH/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/HEYPBH/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    <day index='2' date='2024-11-15' start='2024-11-15T04:00:00+01:00' end='2024-11-16T03:59:00+01:00'>
        <room name='Auditorium' guid='52d365f3-772c-5545-a2bd-b4ed97efd65b'>
            <event guid='7480ce48-ef88-5f32-ad26-484c7ddbaeb0' id='49874' code='DWKHFC'>
                <room>Auditorium</room>
                <title>Launching, failing &amp; growing AI business &amp;  teams through challeges &amp; AI trends</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2024-11-15T09:00:00+01:00</date>
                <start>09:00</start>
                <duration>01:00</duration>
                <abstract>Melina will share her journey as the leader of NordAxon, a pioneering AI studio at the forefront of delivering groundbreaking AI solutions and cultivating exceptional teams.</abstract>
                <slug>pyconse-2024-49874-launching-failing-growing-ai-business-teams-through-challeges-ai-trends</slug>
                <track></track>
                
                <persons>
                    <person id='58506'>Melina Katkic</person>
                </persons>
                <language>en</language>
                <description>She will explore how NordAxon is transforming both small and large businesses in southern Sweden through innovative AI solutions, services, education, and advisory. Melina will provide a glimpse into her strategy for building high-performing teams of ML Engineers and Data Scientists, skillfully navigating the ups and downs of the industry to create lasting value through AI innovation.

The presentation will feature captivating stories that highlight NordAxon&apos;s expertise across various AI subfields, including Natural Language Processing (NLP), Computer Vision, and Time Series analysis. These success stories will showcase the tangible impact of NordAxon&apos;s work in addressing real-world challenges for clients in the region.

Furthermore, Melina will emphasize her team&apos;s relentless pursuit of excellence by integrating the latest AI technology trends into every project. This proactive approach ensures clients receive the most advanced and effective solutions, while empowering her team to stay competitive in a rapidly evolving landscape.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/DWKHFC/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/DWKHFC/feedback/</feedback_url>
            </event>
            <event guid='18bd240b-23a5-5c8d-ab93-bad512f1d60c' id='55467' code='XP7GWN'>
                <room>Auditorium</room>
                <title>Accidentally popular: Beautiful CLI interfaces with rich-click</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T10:30:00+01:00</date>
                <start>10:30</start>
                <duration>00:30</duration>
                <abstract>In the past few years, Will McGugan&apos;s [Rich](https://github.com/Textualize/rich) for formatting terminal outputs has had a meteoric rise in the Python community. As a user and fanboy of Rich, I felt that my otherwise beautiful CLI tools had drab and plain help text outputs from the [Click CLI toolkit](https://github.com/pallets/click).

With a little help from Will and others, I put together the [rich-click](https://github.com/ewels/rich-click) package that makes Click&apos;s outputs delight your eyeballs with only a simple import alias required: `import rich_click as click`.

In this talk I&apos;ll describe a little bit about how it works and what you can use it for, and how I dealt with it becoming accidentally quite popular and receiving a deluge of issues and contributions. Spoiler: the Python open-source community is amazing and Daniel Reeves ([@dwreeves](https://github.com/dwreeves)) came to my aid to co-maintain the project &#127881;</abstract>
                <slug>pyconse-2024-55467-accidentally-popular-beautiful-cli-interfaces-with-rich-click</slug>
                <track></track>
                
                <persons>
                    <person id='57437'>Phil Ewels</person>
                </persons>
                <language>en</language>
                <description>Do you love &#127752;s, &#129412;s and &#128421;&#65039;s? Maybe throw in a little open-source &#10084;&#65039; and &#129303;, then this talk is for you.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/XP7GWN/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/XP7GWN/feedback/</feedback_url>
            </event>
            <event guid='06b7d29a-69bb-5fa2-85ca-62a70d5c2a9e' id='55010' code='JPZ7WK'>
                <room>Auditorium</room>
                <title>Advanced parsing of structured data using Python&apos;s new match statement</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T11:00:00+01:00</date>
                <start>11:00</start>
                <duration>00:30</duration>
                <abstract>The `match` statement was introduced in Python 3.10, but has not yet seen wide adoption. This talk will highlight practical use cases for parsing JSON, XML and ASTs, and compare expressiveness and performance to the classic if-elif-else approach.</abstract>
                <slug>pyconse-2024-55010-advanced-parsing-of-structured-data-using-python-s-new-match-statement</slug>
                <track></track>
                
                <persons>
                    <person id='57555'>Marc-Andr&#233; Lemburg</person>
                </persons>
                <language>en</language>
                <description>The `match` statement was introduced in Python 3.10, but has not yet seen wide adoption.

In this talk, I&apos;d like to showcase a few more advanced use cases to demonstrate it&apos;s expressiveness and versatility, compared to classic parsers using if-elif-else chains, in the hope of attracting a few more Python users to the new concept in Python.

We will have a look at parsing JSON, XML and ASTs, and also compare performance to the classic parsing strategy.

Knowledge of how the `match` statement works and familiarity with at least one of JSON, XML and ASTs are prerequisite for this talk.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/JPZ7WK/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/JPZ7WK/feedback/</feedback_url>
            </event>
            <event guid='28035233-50ff-5013-b97e-7a4d6983de95' id='55817' code='EFLAZT'>
                <room>Auditorium</room>
                <title>Enhancing CI/CD Workflows with Design Patterns in Python</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T11:30:00+01:00</date>
                <start>11:30</start>
                <duration>00:30</duration>
                <abstract>This proposal outlines a strategy to improve our Continuous Integration (CI) and Continuous Deployment (CD) processes by implementing key design patterns using Python. The goal is to create more robust, maintainable, and scalable CI/CD pipelines.</abstract>
                <slug>pyconse-2024-55817-enhancing-ci-cd-workflows-with-design-patterns-in-python</slug>
                <track></track>
                
                <persons>
                    <person id='57704'>saad hasan</person>
                </persons>
                <language>en</language>
                <description>Objectives
Improve code reusability and maintainability in CI/CD scripts
Enhance flexibility and scalability of our deployment processes
Reduce complexity and increase readability of pipeline configurations and logging across CI/CD operations
Expected Outcomes
Improved visibility into deployment processes through standardized logging and notifications
Enhanced ability to adapt to changing deployment requirements
Conclusion
By implementing these design patterns in our CI/CD workflows using Python, we can significantly improve the maintainability, flexibility, and scalability of our deployment processes. This structured approach will lead to more efficient operations and faster, more reliable software delivery.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/EFLAZT/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/EFLAZT/feedback/</feedback_url>
            </event>
            <event guid='033a3d02-396b-501e-b11e-140fc04d6d7f' id='49872' code='Q9MRZC'>
                <room>Auditorium</room>
                <title>The Art of Breaking and Entering</title>
                <subtitle></subtitle>
                <type>Keynote</type>
                <date>2024-11-15T13:00:00+01:00</date>
                <start>13:00</start>
                <duration>01:00</duration>
                <abstract>A Year in the Life of a Penetration Tester</abstract>
                <slug>pyconse-2024-49872-the-art-of-breaking-and-entering</slug>
                <track></track>
                
                <persons>
                    <person id='58302'>Jesper Larsson</person>
                </persons>
                <language>en</language>
                <description>In the world of penetration testing, success is as much about creativity and intuition as it is about technical prowess. Over the past year, I&#8217;ve had the opportunity to dive deep into a range of systems, from enterprise networks to cloud environments, uncovering vulnerabilities that might seem invisible at first glance. This talk will take you behind the scenes of my journey as a  penetration tester, blending the science of structured exploitation with the art of thinking outside the box.
This talk will highlight a finding from the past year involving a long attack chain in a financial system, starting with a minor misconfiguration in a GitHub Action. This small flaw allowed privilege escalation, lateral movement, and eventually full backend access, showcasing how seemingly minor vulnerabilities can unravel an entire system.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/Q9MRZC/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/Q9MRZC/feedback/</feedback_url>
            </event>
            <event guid='7f109c01-741e-5ecd-8763-8b3ba4a02197' id='54989' code='JTYDDY'>
                <room>Auditorium</room>
                <title>Query your structured data with a LangChain AI agent</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T14:00:00+01:00</date>
                <start>14:00</start>
                <duration>00:30</duration>
                <abstract>In this talk, we will explore the capabilities of LangChain, a versatile framework tailored for the development of applications powered by Large Language Models (LLMs).
We will see how to use LangChain to build advanced AI applications with autonomous AI agents.</abstract>
                <slug>pyconse-2024-54989-query-your-structured-data-with-a-langchain-ai-agent</slug>
                <track></track>
                
                <persons>
                    <person id='56999'>Christophe Bornet</person>
                </persons>
                <language>en</language>
                <description>In this talk, we will explore the capabilities of LangChain, a versatile framework tailored for the development of applications powered by Large Language Models (LLMs). 
By bridging the gap between LLMs and sources of context, such as prompt instructions and few-shot examples, LangChain empowers applications to understand and reason about user queries effectively.
With over 90k stars on GitHub, LangChain stands as the leading Generative AI framework in terms of adoption.
During the presentation, attendees will witness a live demonstration showcasing LangChain&apos;s SQL agent in action. The agent will autonomously choose available tools to get information about the database schema, select relevant &#8220;golden sample&#8221; queries from a vector store that will reduce so-called hallucinations from the LLM, call the LLM to get a text-2-SQL answer, execute the query on the database, and build an answer from the query result to the initial question.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/JTYDDY/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/JTYDDY/feedback/</feedback_url>
            </event>
            <event guid='07521d4f-4497-5f3f-b983-eccb5f1e3b33' id='55618' code='HBTEPU'>
                <room>Auditorium</room>
                <title>Shopping Assistants with GenAI: Frameworks, Prompt Evaluation, LLMOps and more</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T14:30:00+01:00</date>
                <start>14:30</start>
                <duration>00:30</duration>
                <abstract>Developing LLM-based products in Python comes with a lot of questions: Should I use an existing LLM framework? How to evaluate models and prompts? Should I use RAG? How to prevent prompt hacking?This talk will share lessons learned and best practices from putting several shopping assistant chatbots into production.</abstract>
                <slug>pyconse-2024-55618-shopping-assistants-with-genai-frameworks-prompt-evaluation-llmops-and-more</slug>
                <track></track>
                
                <persons>
                    <person id='57571'>Dominik Haitz</person>
                </persons>
                <language>en</language>
                <description>This talk details my experience for all steps of developing and productionizing several chatbots in Python:

&#128736;&#65039; Pros and cons of using LLM frameworks (e.g. Langchain)
&#129300; Do I even need an LLM?
&#128640; Building chatbot backends with FastAPI
&#128202; Different LLM evaluation approaches
&#128270; RAG: vector search details &amp; vector store solutions
&#128737;&#65039; Defend against prompt hacking
&#9989; Testing and CI/CD 
&#128200; Monitoring solutions 
&#128587; Don&apos;t forget the users!</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/HBTEPU/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/HBTEPU/feedback/</feedback_url>
            </event>
            <event guid='0d244c1a-2a4d-5d65-a03c-db66a4824d01' id='55555' code='SYQP9E'>
                <room>Auditorium</room>
                <title>Building Python based AI Systems with LLMs</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T15:00:00+01:00</date>
                <start>15:00</start>
                <duration>00:30</duration>
                <abstract>LLMs are now capable of translating user queries into small Python programs.  In this talk, we will look at how we create AI systems from text with Hopsworks.</abstract>
                <slug>pyconse-2024-55555-building-python-based-ai-systems-with-llms</slug>
                <track></track>
                
                <persons>
                    <person id='57506'>Aleksey Veresov</person>
                </persons>
                <language>en</language>
                <description>LLMs are now capable of translating user queries into small Python programs.  In this talk, we will look at how we create AI systems from text with Hopsworks. We will decompose AI systems into feature, training, and inference pipelines connected by shared state. Each pipeline will be generated from user queries, helping improve python developer velocity in creating the first version of their AI system.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/SYQP9E/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/SYQP9E/feedback/</feedback_url>
            </event>
            <event guid='69911ff8-4c09-50d3-bd23-6b93e499dbcd' id='55985' code='T8AWNE'>
                <room>Auditorium</room>
                <title>Boring Releases: How We Ship Every Week Without Drama</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T16:00:00+01:00</date>
                <start>16:00</start>
                <duration>00:30</duration>
                <abstract>In this talk I want to tell you the story of how my best friend pulled me into working with a customer because he, the architect, needed &quot;an adult person in the room&quot; before scaling the team. I want to talk about how we built the back-end team of a Django system, added order, structure, and collaboration, where there was loose coordination between individuals spread out globally before. 

Our mission: to introduce stability, structure, and &quot;boring releases&quot; to a Django-based project while releasing frequently. Because quite frankly, we&apos;re too old for adrenaline-filled midnight deployments.

Small controlled releases, incremental improvements to development and test environments, and smooth automation that allows testing almost anything locally, in CI, or in test environments. Using Jenkins and Invoke (pyinvoke.org) we have setup multiple automated &quot;full&quot; test environments for acceptance testing and to reproduce hard-to-analyze bugs - and don&apos;t get me started on how valuable having nightly, fresh, and PII cleaned production data ready at our fingertips is.

Releases every week, over and over again, wouldn&apos;t be possible with loose coordination though, we have workflows that ensure we keep our house in order, from capturing requirements and making mock-ups, to how our project board, release logs, and release announcements work.

I&apos;m going to talk about how I built in support for automatically created test data in our Django back-end with the coaching from my team of developers, and how I learned to become best friends with the Django shell to manipulate the system under test to create and inspect resources.

This is a story and about how our team - distributed over three continents - built our way of working to go fast and to ship boring, predicable releases, every single week since 2021 - excluding holidays.</abstract>
                <slug>pyconse-2024-55985-boring-releases-how-we-ship-every-week-without-drama</slug>
                <track></track>
                
                <persons>
                    <person id='57873'>Kristoffer Nordstrom</person>
                </persons>
                <language>en</language>
                <description>In this talk I want to tell you the story of how my best friend pulled me into working with a customer because he, the architect, needed &quot;an adult person in the room&quot; before scaling the team. I want to talk about how we built the back-end team of a Django system, added order, structure, and collaboration, where there was loose coordination between individuals spread out globally before. 

Our mission: to introduce stability, structure, and &quot;boring releases&quot; to a Django-based project while releasing frequently. Because quite frankly, we&apos;re too old for adrenaline-filled midnight deployments.

Small controlled releases, incremental improvements to development and test environments, and smooth automation that allows testing almost anything locally, in CI, or in test environments. Using Jenkins and Invoke (pyinvoke.org) we have setup multiple automated &quot;full&quot; test environments for acceptance testing and to reproduce hard-to-analyze bugs - and don&apos;t get me started on how valuable having nightly, fresh, and PII cleaned production data ready at our fingertips is.

Releases every week, over and over again, wouldn&apos;t be possible with loose coordination though, we have workflows that ensure we keep our house in order, from capturing requirements and making mock-ups, to how our project board, release logs, and release announcements work.

I&apos;m going to talk about how I built in support for automatically created test data in our Django back-end with the coaching from my team of developers, and how I learned to become best friends with the Django shell to manipulate the system under test to create and inspect resources.

This is a story and about how our team - distributed over three continents - built our way of working to go fast and to ship boring, predicable releases, every single week since 2021 - excluding holidays.</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/T8AWNE/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/T8AWNE/feedback/</feedback_url>
            </event>
            <event guid='e874924e-f42f-5857-9d07-1600e54f5535' id='55259' code='D3GPCM'>
                <room>Auditorium</room>
                <title>Controlling lab and production equipment with Python</title>
                <subtitle></subtitle>
                <type>Talk</type>
                <date>2024-11-15T16:30:00+01:00</date>
                <start>16:30</start>
                <duration>00:30</duration>
                <abstract>In this talk you will learn how to control and monitor physical hardware to automate repetitive work in electronics, X-ray or any other research laboratory using Python. 

This is also the story about how we decided to replace traditional expensive industrial and lab control solutions such as PLC:s and LabView with Raspberry Pi:s and Python programs. It all started in the R&amp;D lab, then we continued to automate our production using the same tool chain.

I will talk about some common communications protocols and show sample code for using them with open-source Python packages. Many of those protocols can be used even with cheap instruments found in hobby workshops. Why not automate your beer brewing or your green house?</abstract>
                <slug>pyconse-2024-55259-controlling-lab-and-production-equipment-with-python</slug>
                <track></track>
                
                <persons>
                    <person id='57239'>Ulrik S&#246;dergren</person>
                </persons>
                <language>en</language>
                <description>The audience for this talk is not only those who work at research labs or industries. The same libraries and methods can be used in your hobby workshop.

Background
The story about how we automated our X-ray R&amp;D lab with Python and cheap hardware, such as Raspberry Pi and IO-cards. And how we later built a small factory for X-ray tubes and reused the same framework of Python programs and Raspberry PI to automate key ingredients in the production line.

Our use case
Description of how we use a modular distributed system of Raspberry Pi:s for interfacing with various types of hardware. Then a central UI application running on Mac or Windows for user interaction, plotting, automation.

Some examples on how to connect hardware using open-source python libraries:
&#8226;	Connect to analogue equipment with Raspberry Pi and a cheap IO-card. Code sample for using cards from Pi-plates for monitoring analogue and digital signals.

&#8226;	1-wire &#8211; this simple protocol for temperature measurements. Code samples for using cheap parallel connected temperature sensor to monitor temperature in several points.

&#8226;	Use PyVisa for Power Supplies and Measurement Instruments. I will show code sample for measuring current using a network connected multimeter.

&#8226;	Use serial ports for vacuum pumps, X-ray sources and almost any type of industrial equipment. PyModbus for industrial equipment. Serial or aioserial to implement support for proprietary protocols.

Challenges when testing software driving physical hardware:
&#8226;	Don&#8217;t expect exact values as response
&#8226;	The hardware is not always available &#8211; create simulators
&#8226;	Timing problems

Don&#8217;t forget safety! Some hints on how to mitigate safety problems:
&#8226;	Use interlocks to monitor doors.
&#8226;	Warning lights
&#8226;	Safety breakers
&#8226;	Use multiple layers. Implement safety systems in both hardware and software</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/D3GPCM/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/D3GPCM/feedback/</feedback_url>
            </event>
            <event guid='6d27d947-cf2e-52c5-a542-37816c6efa03' id='49875' code='DU89ZE'>
                <room>Auditorium</room>
                <title>Lighting Talks</title>
                <subtitle></subtitle>
                <type>Lightning talk</type>
                <date>2024-11-15T17:00:00+01:00</date>
                <start>17:00</start>
                <duration>00:45</duration>
                <abstract>TBD</abstract>
                <slug>pyconse-2024-49875-lighting-talks</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>TBD</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/DU89ZE/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/DU89ZE/feedback/</feedback_url>
            </event>
            <event guid='94f39111-93fc-59ba-bb39-6ebd7329599f' id='56449' code='GXU8QW'>
                <room>Auditorium</room>
                <title>Closing session</title>
                <subtitle></subtitle>
                <type>Organization</type>
                <date>2024-11-15T17:45:00+01:00</date>
                <start>17:45</start>
                <duration>00:15</duration>
                <abstract>PyCon Sweden 2024 - Closing Session</abstract>
                <slug>pyconse-2024-56449-closing-session</slug>
                <track></track>
                
                <persons>
                    
                </persons>
                <language>en</language>
                <description>TBD</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/GXU8QW/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/GXU8QW/feedback/</feedback_url>
            </event>
            
        </room>
        <room name='Tutorial 1' guid='78360482-3938-5762-8278-2a2333f1fdda'>
            <event guid='617c66b5-2588-57f4-8338-d35ad4651394' id='56547' code='BYLM3B'>
                <room>Tutorial 1</room>
                <title>Chat with AI over SMS using 46elks</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-15T10:30:00+01:00</date>
                <start>10:30</start>
                <duration>01:30</duration>
                <abstract>Learn how to use Python with 46elks to send and receive SMS, then build a chatbot with OpenAI that can chat over SMS in real-time. This hands-on workshop is perfect for adding AI-driven messaging to your projects.</abstract>
                <slug>pyconse-2024-56547-chat-with-ai-over-sms-using-46elks</slug>
                <track></track>
                
                <persons>
                    <person id='58513'>Sebastian Bj&#246;rkelid</person><person id='58514'>Joakim Kokocha</person><person id='58515'>Nikole Scheutz</person>
                </persons>
                <language>en</language>
                <description>Join us and learn how to send and receive SMS with Python using 46elks. We&#8217;ll walk through how to build a chatbot with OpenAI that you can actually chat with over SMS. By the end, you&#8217;ll have the skills to add some AI magic to your projects with real-time SMS interactions. It&#8217;s going to be fun and hands-on, so don&#8217;t miss out!</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/BYLM3B/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/BYLM3B/feedback/</feedback_url>
            </event>
            <event guid='6ebadb6f-b578-50c2-ac55-06de3781959d' id='55457' code='K37SP9'>
                <room>Tutorial 1</room>
                <title>Log and explore everything in Django</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-15T14:00:00+01:00</date>
                <start>14:00</start>
                <duration>01:30</duration>
                <abstract>While there are a multitude of platforms to collect logs and metrics from &quot;any platform&quot;, sometimes all you want is to collect the logs you need, in the format you want, and pass it on or store it without adding third party libraries, servers, and accounts. Sometimes, you may even want to write the next great log aggregation tool, not use an existing. This talk is about utilising a few different methods to create, enrich, and store log and audit data using only what comes in the box with a new Django project, and end up with rich, explorable log and audit data.</abstract>
                <slug>pyconse-2024-55457-log-and-explore-everything-in-django</slug>
                <track></track>
                
                <persons>
                    <person id='57427'>Fredrik H&#229;&#229;rd</person>
                </persons>
                <language>en</language>
                <description>Any system with lots of users and complexity will need good logs for troubleshooting and a lot of systems will also need it for audit purposes. Adding more context and structure to logs allow it to be used for more - such as metrics - and allowing it to be explorable in relation to live data can make logs into a powerful tool for customer support and post incident investigations alike.

In this session, we&apos;ll explore several techniques to create usable data and expose it for exploration whether it&apos;s for audit trails or just a structured way to investigate the data behind the scenes. We&apos;ll contrast different ways of achieving the same goals, to give an overview of the trade-offs involved when rolling your own.

To follow the exercises, you will need Python 3.10 and git installed - for one of the exercises, Docker is needed (for running elasticsearch). All exercises except for one can also run at pythonanywhere.com. Code and slides will be available at https://github.com/metallapan/django-logging-tutorial.  (Final final version no later than five minutes before the start of the session).</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/K37SP9/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/K37SP9/feedback/</feedback_url>
            </event>
            <event guid='6fc83b2b-791a-5e11-ae6e-e8a422097c99' id='55559' code='LJUVJJ'>
                <room>Tutorial 1</room>
                <title>MongoDB for Beginners</title>
                <subtitle></subtitle>
                <type>Workshop</type>
                <date>2024-11-15T16:00:00+01:00</date>
                <start>16:00</start>
                <duration>01:30</duration>
                <abstract>The &quot;MongoDB for Beginners&quot; workshop is designed to introduce participants to the fundamental concepts and practical skills needed to work with MongoDB, a leading NoSQL database system. This hands-on session will cover the basics of MongoDB, including installation, database creation, and data manipulation.</abstract>
                <slug>pyconse-2024-55559-mongodb-for-beginners</slug>
                <track></track>
                
                <persons>
                    <person id='57509'>Kamil Kulig</person><person id='57583'>Adam</person>
                </persons>
                <language>en</language>
                <description>In today&apos;s data-driven world, managing and querying large amounts of unstructured data is increasingly important. MongoDB, one of the most popular NoSQL databases, offers a flexible and scalable solution for handling diverse data types without the constraints of traditional relational databases.

This &quot;MongoDB for Beginners&quot; workshop is tailored for individuals with little to no experience with MongoDB or NoSQL databases. The workshop begins with an explanation of why MongoDB was chosen and which tool is used to connect Python with MongoDB. Participants will then be guided through the process of installing MongoDB and setting up their first database.

Throughout the workshop, attendees will engage in hands-on exercises to familiarize themselves with MongoDB&apos;s document-oriented structure, CRUD (Create, Read, Update, Delete) operations, indexing, and querying techniques. The session will also explore data modeling strategies and the use of MongoDB&apos;s aggregation framework for more advanced data analysis.

By the end of the workshop, participants will have a foundational understanding of MongoDB&apos;s capabilities and be equipped with the skills to implement basic MongoDB solutions in their projects. Whether you&apos;re a developer looking to expand your database expertise or a professional seeking to enhance your data management skills, this workshop provides the essential knowledge and practical experience to get started with MongoDB.


Preparation:
* installed Python 3.11+
* MongoDB Community Server installed or an account on MongoDB Atlas
* installed repository https://github.com/KuligKamil/mongodb-project-workshop/tree/main?tab=readme-ov-file#project-setup</description>
                <recording>
                    <license></license>
                    <optout>false</optout>
                </recording>
                <links></links>
                <attachments></attachments>

                <url>https://pretalx.com/pyconse-2024/talk/LJUVJJ/</url>
                <feedback_url>https://pretalx.com/pyconse-2024/talk/LJUVJJ/feedback/</feedback_url>
            </event>
            
        </room>
        
    </day>
    
</schedule>
