<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>L7GZBW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-L7GZBW</pentabarf:event-slug>
            <pentabarf:title>Registration</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T080000</dtstart>
            <dtend>20251030T084500</dtend>
            <duration>004500</duration>
            <summary>Registration</summary>
            <description>TBD</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/L7GZBW/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>Y7YTQQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-Y7YTQQ</pentabarf:event-slug>
            <pentabarf:title>Opening Session</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T084500</dtstart>
            <dtend>20251030T090000</dtend>
            <duration>001500</duration>
            <summary>Opening Session</summary>
            <description>Welcome to PyCon Sweden 2025!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/Y7YTQQ/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>X3PLGX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-X3PLGX</pentabarf:event-slug>
            <pentabarf:title>AI is having its moment ... again</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T090000</dtstart>
            <dtend>20251030T100000</dtend>
            <duration>010000</duration>
            <summary>AI is having its moment ... again</summary>
            <description>This keynote will connect the cycles of AI’s past to the challenges and opportunities we face today. By drawing lessons from past AI hype cycles, we can gain perspective on how to navigate the current wave of AI with more clarity, context, and realism.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/X3PLGX/</url>
            <location>Auditorium</location>
            
            <attendee>Jodie Burchell</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EQZQ9P@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EQZQ9P</pentabarf:event-slug>
            <pentabarf:title>The Magic of Self: How Python inserts self into methods</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T103000</dtstart>
            <dtend>20251030T110000</dtend>
            <duration>003000</duration>
            <summary>The Magic of Self: How Python inserts self into methods</summary>
            <description>This talk explores the &quot;magic&quot; behind Python&#x27;s automatic insertion of self into methods. While beginners are told &quot;don&#x27;t worry, it just happens&quot; and experienced developers stop noticing it, there&#x27;s fascinating machinery underneath.

I will start my talk by showing the automatic insertion of `self` in action. I will show you that we get an argument &quot;for free&quot; when calling a method: despite only passing a single argument, our method actually receives two values! 

After showing you the Magic of Self in action, we will discuss why this happens. No, it&#x27;s not because we named one of the parameters `self` when we defined the method. No, it&#x27;s not even the fact that we defined a function within the body of a class. In fact, the magic happens when we access the method.

As it turns out, accessing attributes (including those that are bound to methods) isn&#x27;t as simple as it looks at a glance. We can actually influence what happens when we access attributes by implementing something called a descriptor. That&#x27;s why I will continue by introducing you to the descriptor protocol and showing you how to implement a descriptor of your own.

Now that we know how descriptors work, we&#x27;re finally ready to understand the magic of self. To understand it, we now turn our attention to functions and observe that all functions are, in fact, such descriptors.

I will conclude my talk by providing a few examples of other descriptors that you may find in Python and the standard library.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/EQZQ9P/</url>
            <location>Auditorium</location>
            
            <attendee>Sebastiaan Zeeff</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EMCDDD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EMCDDD</pentabarf:event-slug>
            <pentabarf:title>Trust and the success of Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T110000</dtstart>
            <dtend>20251030T113000</dtend>
            <duration>003000</duration>
            <summary>Trust and the success of Python</summary>
            <description>Why has Python become the most used programming language in the world?
Is it the syntax, with indentation as block markers? Is it the lists and the
dicts and the comprehensions? Is it some specific packages like Numpy or
Django?

It certainly isn&#x27;t the execution speed, though that is improving a bit.

While some popularity comes from the factors above, my take is that trust
plays a major role in the rise of Python. I will explain what I mean in the
talk.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/EMCDDD/</url>
            <location>Auditorium</location>
            
            <attendee>Jacob Hallén</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HRR98Q@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HRR98Q</pentabarf:event-slug>
            <pentabarf:title>Architecting Enterprise AI Agents: Secure, Governed, and Interoperable</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T113000</dtstart>
            <dtend>20251030T120000</dtend>
            <duration>003000</duration>
            <summary>Architecting Enterprise AI Agents: Secure, Governed, and Interoperable</summary>
            <description>### The Problem: Why Simple Agents Fail in the Enterprise

The initial excitement of building a generative AI agent quickly meets the messy reality of the enterprise environment. There is no single, clean &quot;data layer.&quot; We face a fragmented landscape of technical catalogs, business glossaries, semantic ontologies, and multiple data sources. This presents two core challenges:

1. **Navigating the Data &amp; Tool Maze:** With potentially hundreds of datasets and specialized tools (e.g., for visualization, data quality checks, forecasting), a primary challenge is selection and relevance. How does the agent understand a user&#x27;s ambiguous query and identify the appropriate datasets and tools?

2. **The Governance &amp; Security Mandate:** Equally critical is governance. How can an agent act on a user’s behalf without “god mode” access to all data?

### Our Solution: A Multi-Level Governance Architecture

We&#x27;ll share a real-world architecture for a structured-data AI agent that works inside a heavily governed environment, built on three pillars:

1. **Secure by Design** - Remove unnecessary autonomy and place explicit guardrails and failsafe mechanisms around critical steps like data retrieval and tool execution.

2. **Delegated Permissions &amp; Authentication** - Users authenticate via SSO and provide the agent with a token. The agent uses this delegated authority to interact with other services. It operates under its own identity (service principal) but forwards the user&#x27;s identity so downstream systems can enforce user-specific access rules and masking.

3. **Governed Interoperability &amp; Discovery** - Using Model Context Protocol (MCP) as a universal bridge between AI systems and data sources, the agent dynamically discovers datasets and tools relevant to a query while respecting permissions. Governance is enforced at discovery. Tools are treated as first-class citizens alongside data. This dynamic approach decouples the agent from specific tool implementations, enabling a flexible, maintainable, and scalable ecosystem of reusable capabilities.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/HRR98Q/</url>
            <location>Auditorium</location>
            
            <attendee>Antonino Ingargiola</attendee>
            
            <attendee>Irene Donato</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RKXS8D@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RKXS8D</pentabarf:event-slug>
            <pentabarf:title>A Practical Guide to Testing Django with Pytest, Factory Boy, and Hypothesis</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T130000</dtstart>
            <dtend>20251030T133000</dtend>
            <duration>003000</duration>
            <summary>A Practical Guide to Testing Django with Pytest, Factory Boy, and Hypothesis</summary>
            <description>This talk is for Python developers who want to write better, faster, and more reliable tests using modern Python tools. We’ll start by looking at what Pytest is and how it can replace Django’s built-in test runner, offering cleaner syntax, powerful plugins, and flexible fixtures. Next, we’ll use Factory Boy to create test data in a smarter way avoiding hardcoded values and repetitive setup. Finally, we’ll introduce Hypothesis to explore property-based testing, which helps discover unexpected bugs by generating test inputs automatically.

You’ll see how these tools work together in real Django projects, and learn practical patterns that can improve your testing workflow. No deep testing knowledge is required, just basic Django experience and curiosity about better tools.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/RKXS8D/</url>
            <location>Auditorium</location>
            
            <attendee>Kader Miyanyedi</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FRKBMQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FRKBMQ</pentabarf:event-slug>
            <pentabarf:title>Interactive Python Programming</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T133000</dtstart>
            <dtend>20251030T140000</dtend>
            <duration>003000</duration>
            <summary>Interactive Python Programming</summary>
            <description>Learning Lisp was an eye opener for me. The Interactive way of writing code is Amazing, and you have great support for this kind of flow in most code editors. What about development with Python? For Python, there&#x27;s limitations and lack of tooling support - but I have found ways to make Python development more interactive (and fun). Python is what I do at work and in Open Source projects. It has lead me to develop some Code Editor features that are specific for Python: evaluating code with visual feedback, modify a running Python app without any app restarts, and also some LLM support. I will demo and talk about what I have developed to make Python development interactive and joyful.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/FRKBMQ/</url>
            <location>Auditorium</location>
            
            <attendee>David Vujic</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>R9N3MZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-R9N3MZ</pentabarf:event-slug>
            <pentabarf:title>Building Harry Potter’s Mirror of Erised with Python and Generative AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T140000</dtstart>
            <dtend>20251030T143000</dtend>
            <duration>003000</duration>
            <summary>Building Harry Potter’s Mirror of Erised with Python and Generative AI</summary>
            <description>What if the Mirror of Erised from Harry Potter actually existed and you could look into it and see your deepest desires visualized? What if you could build it using Python?

In this talk, I’ll introduce a creative, AI-powered project that transforms a user&#x27;s personal hopes and dreams into a visual representation using NLP and image generation. The user writes freely about what they long for. A large language model (LLM) analyzes the text to extract emotional tone, symbols, and core themes. Then, this interpretation is converted into a visual prompt for a text-to-image model, which generates an image.

The final image is dynamically displayed behind the user&#x27;s webcam feed, turning their screen into a personalized, digital “Mirror of Erised.”

I’ll walk through the full technical pipeline: from prompt engineering and emotion detection to visual generation and building the interactive UI with Python. This talk combines storytelling with code and aims to inspire developers to explore how Python and AI can bring deeply personal, emotional, and magical experiences to life.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/R9N3MZ/</url>
            <location>Auditorium</location>
            
            <attendee>Özge Çinko</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8ASAP7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8ASAP7</pentabarf:event-slug>
            <pentabarf:title>Shrinking Infrastructure: Task Queues on PostgreSQL</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T150000</dtstart>
            <dtend>20251030T153000</dtend>
            <duration>003000</duration>
            <summary>Shrinking Infrastructure: Task Queues on PostgreSQL</summary>
            <description>1 · Queue tables and job flow

We start by outlining the core tables: how jobs are stored, tracked through states, and enriched with metadata like priority and timestamps. This sets the stage for understanding how pgqueuer manages work safely inside Postgres.

2 · Concurrency and coordination

Next, we’ll dive into the mechanics: workers leasing jobs with FOR UPDATE SKIP LOCKED, and why this pattern allows safe parallel processing without global locks. We’ll then look at LISTEN/NOTIFY for instant wake-ups, and why a lightweight polling fallback is still necessary when notifications fail.

3 · Reliability and observability

We’ll explore how retries, heartbeats, and cancellation keep the system robust under load and failures. Finally, we’ll step into the CLI dashboard to see live throughput and error stats—giving operators immediate visibility without extra tooling.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/8ASAP7/</url>
            <location>Auditorium</location>
            
            <attendee>Jan Bjørge</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>Z39XBR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-Z39XBR</pentabarf:event-slug>
            <pentabarf:title>Extending SQL Databases with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T153000</dtstart>
            <dtend>20251030T160000</dtend>
            <duration>003000</duration>
            <summary>Extending SQL Databases with Python</summary>
            <description>1. Introduction (3 min)
	•	Who this talk is for: devs, data engineers, extension hackers
	•	Motivation: why embed Python in databases?
	•	Overview of the 3 systems (SQLite, DuckDB, PostgreSQL)

2. SQLite &amp; DuckDB: Python Functions via sqlite3.create_function (7 min)
	•	How sqlite3.create_function() works in SQLite
	•	Example: creating a simple text-processing SQL function in Python
	•	Use cases: rapid prototyping, lightweight data pipelines

3. PostgreSQL with PL/Python (6 min)
	•	Enabling and using the PL/Python extension
	•	Writing SQL functions in Python
	•	Pros and limitations (e.g., sandboxing, permissions, virtualenvs)

4. Advanced: Embedding Python into PostgreSQL Extensions (7 min)
	•	Writing PostgreSQL extensions in C that embed Python
	•	Use cases: integrating ML models, custom procedural logic
	•	Short demo or diagram: C + Python working inside Postgres

5. Trade-offs and Comparison (3 min)
	•	Performance, deployment, complexity, ecosystem
	•	When to use which approach

6. Q&amp;A (4 min)
	•	Invite questions and deeper discussion from the audience</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/Z39XBR/</url>
            <location>Auditorium</location>
            
            <attendee>Florents Tselai</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZEQ9RX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZEQ9RX</pentabarf:event-slug>
            <pentabarf:title>Designing Exceptions as an API: Hierarchies, Interfaces, and Error Codes</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T160000</dtstart>
            <dtend>20251030T163000</dtend>
            <duration>003000</duration>
            <summary>Designing Exceptions as an API: Hierarchies, Interfaces, and Error Codes</summary>
            <description>Outline: 
The problem (3 min): messy, ad-hoc exception handling.
Hierarchies (8 min): designing categories (UserError, InfraError, Bug) and how they map to real-world failures.

Interfaces (8 min): duck-typed properties (status_code, retryable, context) for consistent handling across your codebase.
Domain codes (7 min): creating human- and machine-friendly error identifiers, integrating them into logs/metrics.
Best practices (4 min): wrapping 3rd-party errors, raise ... from ..., documenting error contracts.


Audience:
Intermediate Python developers who build or maintain applications, libraries, or services and want clearer, more reliable error handling.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/ZEQ9RX/</url>
            <location>Auditorium</location>
            
            <attendee>Nikita Churikov</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SX7N7V@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SX7N7V</pentabarf:event-slug>
            <pentabarf:title>The serendipity factor: How community turns accidents into opportunities</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T164000</dtstart>
            <dtend>20251030T174000</dtend>
            <duration>010000</duration>
            <summary>The serendipity factor: How community turns accidents into opportunities</summary>
            <description>TBD</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/SX7N7V/</url>
            <location>Auditorium</location>
            
            <attendee>Lysandros Nikolaou</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VMT3WX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VMT3WX</pentabarf:event-slug>
            <pentabarf:title>Closing - Day 1</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T174500</dtstart>
            <dtend>20251030T180000</dtend>
            <duration>001500</duration>
            <summary>Closing - Day 1</summary>
            <description>Clasing Remarks Day 1</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/VMT3WX/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DQSCFX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DQSCFX</pentabarf:event-slug>
            <pentabarf:title>What We Can Learn from Exemplary Python Documentation (SEE DESCRIPTION FOR PREPARATION)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T103000</dtstart>
            <dtend>20251030T120000</dtend>
            <duration>013000</duration>
            <summary>What We Can Learn from Exemplary Python Documentation (SEE DESCRIPTION FOR PREPARATION)</summary>
            <description>PLEASE PREPARE A FRESH PYTHON PROJECT BEFORE THE WORKSHOP (PREFERABLY USING PYCHARM OR AT LEAST AN IDE YOU ARE EXPERIENCED WITH; JUPYTER NOTEBOOKS DO **NOT** WORK):

pip install --upgrade pip setuptools
pip install jupyterlite-pyodide-kernel
pip install jupyterlite-sphinx
pip install matplotlib
pip install numpy
pip install pandas
pip install pydata-sphinx-theme
pip install sphinx-book-theme
pip install sphinx-copybutton
pip install sphinx-gallery
pip install sphinxcontrib-kroki

----------------------------------------------------------------------------------------------------

If you’ve attended PyCon Sweden last year, you might have seen my talk “Documenting Python Code”, where I introduced attendees to the basics of Python documentation. This year, I will expand on that foundation by looking at what can be learned from exemplary Python documentation.

Building on renowned examples from popular Python libraries such as NumPy, pandas, and Matplotlib, this workshop will delve into techniques and tools that help streamline documentation creation while improving clarity and usability. The topics covered include:

Sphinx documentation generator
• use reStructuredText as a markup language
• simplify docstrings with the NumPy and Google format
• generate function and method documentation with sphinx-apidoc

How to
• include code snippets as examples and display them in environment-specific tabs
• adopt themes and implement appealing styles
• use admonitions to highlight important content
• write sophisticated mathematical formulas
• create versatile diagrams with Kroki
• generate interactive HTML documentation with embedded notebooks

Comparison: AsciiDoc vs. Sphinx
• explore their strengths and limitations for multi-language projects
• see how AsciiDoc can document APIs by including tagged source code snippets

This workshop provides practical insights and examples to help developers, technical writers, and maintainers create better documentation and improve their workflows. Whether you are just starting out or refining an established project, this session will provide actionable techniques to overcome common challenges and take your documentation to the next level.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/DQSCFX/</url>
            <location>Tutorial Room</location>
            
            <attendee>Christian Heitzmann</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZU8GRN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZU8GRN</pentabarf:event-slug>
            <pentabarf:title>Version Everything: From Chaos to Order in Reproducible Python Projects</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T130000</dtstart>
            <dtend>20251030T143000</dtend>
            <duration>013000</duration>
            <summary>Version Everything: From Chaos to Order in Reproducible Python Projects</summary>
            <description>This interactive 90-minute workshop provides hands-on experience building reproducible workflows using modern Python tools. Through practical exercises, you&#x27;ll transform a typical &quot;script chaos&quot; project into a fully reproducible pipeline applicable to any data-driven Python discipline.

What We&#x27;ll Build Together: Starting with a working but messy data analysis project, we&#x27;ll systematically add reproducibility layers. You&#x27;ll set up dependency management, use git to version control the code, use DVC to version control the data and outputs, use configuration files to store the parameters and lastly containerize everything with Docker. Each module includes guided coding exercises where you&#x27;ll apply concepts immediately. 

Key Modules:
1. Modern Dependency Management (20 min): Hands-on with uv/pixi, creating lock files, managing Python versions
2. Code &amp; Configuration Versioning (20 min): Git for version control of the source code
3. Data Pipeline Versioning (20 min): DVC setup, pipeline definitions, experiment tracking
4. Hidden Reproducibility Challenges (10 min): Randomness and human error
5. Production Deployment (20 min): Docker for Python, artifact registries, deployment reproducibility

This workshop focuses on the tools and practices that make models and analyses reproducible and well-documented. The underlying methods will be introduced only briefly for context, while most of the time will be devoted to practical, hands-on work with the tooling.

Prerequisites:
* A laptop (admin root privileges are needed to install the necessary tooling)
* Basic knowledge of Python syntax
The necessary tooling can be installed during the workshop.

Installation of tooling
- uv (https://docs.astral.sh/uv/getting-started/installation/)
- git (https://git-scm.com/install)
- DVC (https://dvc.org/doc/install)
- Podman (https://podman.io/docs/installation)

Repos
https://github.com/anivorlis/pycon-workshop-uv
https://github.com/anivorlis/pycon-workshop-dvc
https://github.com/anivorlis/pycon-workshop-challenge</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/ZU8GRN/</url>
            <location>Tutorial Room</location>
            
            <attendee>Aris Nivorlis</attendee>
            
            <attendee>Nikos Chatzis</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZW8BUA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZW8BUA</pentabarf:event-slug>
            <pentabarf:title>Building Privacy-Focused Vector Search Applications: Hands-On Guide to Gen AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251030T150000</dtstart>
            <dtend>20251030T163000</dtend>
            <duration>013000</duration>
            <summary>Building Privacy-Focused Vector Search Applications: Hands-On Guide to Gen AI</summary>
            <description>Detailed insights into generating embeddings with tools like Ollama and demonstrating how LangChain agents can perform tasks such as document summarisation and API interactions, all while maintaining data privacy in a Python application</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/ZW8BUA/</url>
            <location>Tutorial Room</location>
            
            <attendee>Shivay Lamba</attendee>
            
            <attendee>Gaurav Pandey</attendee>
            
            <attendee>Kishor Deshpande</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VERK9X@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VERK9X</pentabarf:event-slug>
            <pentabarf:title>The Fraud Keynote (…Or Maybe Not)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T090000</dtstart>
            <dtend>20251031T100000</dtend>
            <duration>010000</duration>
            <summary>The Fraud Keynote (…Or Maybe Not)</summary>
            <description>TBD</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/VERK9X/</url>
            <location>Auditorium</location>
            
            <attendee>Iulia Feroli</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CZZGT3@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CZZGT3</pentabarf:event-slug>
            <pentabarf:title>Empowering Geospatial Workflows with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T103000</dtstart>
            <dtend>20251031T110000</dtend>
            <duration>003000</duration>
            <summary>Empowering Geospatial Workflows with Python</summary>
            <description>In this talk, we will showcase how Python can be used to automate everyday spatial analysis tasks, using real examples from the professional field of environmental and infrastructure mapping. We will demonstrate lines of scripts utilizing basic python libraries for geospatial analysis that support the quality of geospatial data and compare spatial layers to gain useful insights.

The talk begins with an introduction to the main formats used in geospatial data and some fundamental geospatial concepts. Aftwerwards, we will discuss on common challenges encountered when working with data in traditional GIS software, and how Python provides cleaner, more scalable solutions.

Whether run independently or integrated with existing GIS software, Python scripts can save time, reduce errors, and improve data quality. Attendees will leave with actionable insights and inspiration to create their own GIS tools using Python libraries.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/CZZGT3/</url>
            <location>Auditorium</location>
            
            <attendee>ELENI TOKMAKTSI</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MYK8DB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MYK8DB</pentabarf:event-slug>
            <pentabarf:title>Quantum Computing in Python: Why Qiskit Matters for Developers</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T110000</dtstart>
            <dtend>20251031T113000</dtend>
            <duration>003000</duration>
            <summary>Quantum Computing in Python: Why Qiskit Matters for Developers</summary>
            <description>Quantum computing is often seen as complex and distant, but in reality it’s becoming a practical field where Python is the gateway language. This talk introduces the core ideas of quantum computing and demonstrates how they are implemented through Qiskit, the leading open-source quantum SDK.

I will cover:

Why quantum computing matters and how it differs from classical computing.

The role of Python and Qiskit in making quantum accessible.

Concrete examples of applications in optimization, AI, finance, and Health Care and Life Sciences.

The current state of quantum hardware and software—and what’s next. On the example of IBM&#x27;s road map.

Why developers and organizations need to prepare now for a quantum future.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/MYK8DB/</url>
            <location>Auditorium</location>
            
            <attendee>Anna Elisabeth Kazakova Lindegren</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HMPNFQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HMPNFQ</pentabarf:event-slug>
            <pentabarf:title>18 Years of Falling Objects: Lessons from Maintaining Physics Library Pymunk</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T113000</dtstart>
            <dtend>20251031T120000</dtend>
            <duration>003000</duration>
            <summary>18 Years of Falling Objects: Lessons from Maintaining Physics Library Pymunk</summary>
            <description>Pymunk was created to easily let me write a game with 2D physics for the PyWeek 5 game competition. The game itself wasn&#x27;t very successful, but Pymunk has since grown into an established library used in for example games, education and research, with 5 million total downloads and 1,000 stars on GitHub.

During Pymunk&#x27;s 18 years many things have happened, and I plan to cover some of the more impactful and memorable of them. Partly key technical &quot;happenings&quot; (Python 2-to-3 anyone?), but the main focus will be on the less technical side of Pymunk&#x27;s development.

This session is for anyone interested in open source, software longevity, or just a good story. No deep math or expert-level Python skills are required.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/HMPNFQ/</url>
            <location>Auditorium</location>
            
            <attendee>Victor Blomqvist</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NUZXMZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NUZXMZ</pentabarf:event-slug>
            <pentabarf:title>Embeddings - LLMs - vector/semantic search - GenAI - RAG - agents - MCP (buzzword bingo)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T130000</dtstart>
            <dtend>20251031T133000</dtend>
            <duration>003000</duration>
            <summary>Embeddings - LLMs - vector/semantic search - GenAI - RAG - agents - MCP (buzzword bingo)</summary>
            <description>TBD</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/NUZXMZ/</url>
            <location>Auditorium</location>
            
            <attendee>Iulia Feroli</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YEA33H@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YEA33H</pentabarf:event-slug>
            <pentabarf:title>Agents need good developer experience too</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T133000</dtstart>
            <dtend>20251031T140000</dtend>
            <duration>003000</duration>
            <summary>Agents need good developer experience too</summary>
            <description>So what does “agent-friendly DX” actually look like in practice? 
At Modal, we set out to make cloud infrastructure feel like writing ordinary Python scripts: quick to iterate on, easy to test, and intuitive when things go wrong. A guiding principle was to delight developers who use our Python SDK. Along came AI powered coding agents, and it turns out some of our choices made these agents very efficient users of the SDK too! 
We’ll walk through a few design choices that turned out to matter just as much for machines as for humans, and share what we’ve learned about building SDKs that work well for both. If you care about APIs, infrastructure, or the future of programming, this talk will give you a fresh lens on what “good DX” means when the developer on the other side isn’t always human.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/YEA33H/</url>
            <location>Auditorium</location>
            
            <attendee>Elias Freider</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>U7ATWN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-U7ATWN</pentabarf:event-slug>
            <pentabarf:title>Gamified User Journeys with Pygame</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T140000</dtstart>
            <dtend>20251031T143000</dtend>
            <duration>003000</duration>
            <summary>Gamified User Journeys with Pygame</summary>
            <description>When this idea first took shape, I was entering a new chapter in life. Recently married and about to become a father. In the heat of it all, I thought it was a good idea to start experimenting with spring simulations and particle systems.
These were topics I’d long avoided, but during PyconSE 2024, a colleague shared an idea that stuck: what if we could visualize how users interact with our web, not just as data points, but as living, moving entities?
Armed with Pygame, some basic physics, math, and a stream of real user behavior data, I built a playful and unconventional way to display our customer journey—one that’s more alive, more visual, and maybe even a little fun.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/U7ATWN/</url>
            <location>Auditorium</location>
            
            <attendee>Eric Rishmüller</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PQNNPP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PQNNPP</pentabarf:event-slug>
            <pentabarf:title>Providing a Python library — the whole shebang</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T150000</dtstart>
            <dtend>20251031T153000</dtend>
            <duration>003000</duration>
            <summary>Providing a Python library — the whole shebang</summary>
            <description>First we look at the general problems one typically faces when creating Python dependencies with native components. Once that is settled we examine the fundamentals of the library we aim to provide. This includes both build setup for the library as well as the design to make the end result as easily usable from Python (or, in fact, from any scripting language). Once we have the library working we can do some performance measurements to verify that the end result is working as expected. Finally we examine the tooling needed to create fully compliant PyPI packages.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/PQNNPP/</url>
            <location>Auditorium</location>
            
            <attendee>Jussi Pakkanen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9GH3SQ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9GH3SQ</pentabarf:event-slug>
            <pentabarf:title>Mastodon and Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T153000</dtstart>
            <dtend>20251031T160000</dtend>
            <duration>003000</duration>
            <summary>Mastodon and Python</summary>
            <description>As free software alternative to business social media networks, that push you propaganda - like it or not - there is the fediverse.  And within the fediverse, the Mastodon.

This talk will show the interconnection between these federated universe and walk through how to use with python.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/9GH3SQ/</url>
            <location>Auditorium</location>
            
            <attendee>Helio Loureiro</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9LNXZY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9LNXZY</pentabarf:event-slug>
            <pentabarf:title>The Python Quiz!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T160000</dtstart>
            <dtend>20251031T163000</dtend>
            <duration>003000</duration>
            <summary>The Python Quiz!</summary>
            <description>The Python Quiz!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/9LNXZY/</url>
            <location>Auditorium</location>
            
            <attendee>Aris Nivorlis</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YN87EW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YN87EW</pentabarf:event-slug>
            <pentabarf:title>Python in the age of Agents</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T164000</dtstart>
            <dtend>20251031T174000</dtend>
            <duration>010000</duration>
            <summary>Python in the age of Agents</summary>
            <description>Python is gaining ground in AI - it is now the language of both AI engineering and the language of agents. But is it losing ground as the language of programmers? Python made its name as the programming language that minimizes the impedance mismatch with natural language. However, with coding agents, it is now possible to go from natural language to working Python code. Where do we go from here?

I will place the evolution of coding agents in the history of programming language development. We will see that LLMs are more than just compilers that translate natural language into programs. I will also talk about the return of the waterfall lifecycle development process. 

I will also talk about the effect of agents on developers. How are coding agents being received by developers? I will talk about three types of developers: those who supercharge their coding with agents, those who feel threatened by them, and those who weren’t developers but now are developers. 

Finally, I will talk about developing agents. From model context protocol to application context protocol. Building AI systems has never been easier or more fun.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/YN87EW/</url>
            <location>Auditorium</location>
            
            <attendee>Jim Dowling</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>F7EFGU@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-F7EFGU</pentabarf:event-slug>
            <pentabarf:title>Lighting Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T174500</dtstart>
            <dtend>20251031T181500</dtend>
            <duration>003000</duration>
            <summary>Lighting Talks</summary>
            <description>TBD</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/F7EFGU/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WDHJRB@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WDHJRB</pentabarf:event-slug>
            <pentabarf:title>Closing - Day 2</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T181500</dtstart>
            <dtend>20251031T183000</dtend>
            <duration>001500</duration>
            <summary>Closing - Day 2</summary>
            <description>Clasing Remarks Day 2</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/WDHJRB/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7ZJVH7@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7ZJVH7</pentabarf:event-slug>
            <pentabarf:title>Building Production-Ready AI Agents: The 4Ds for Scalable Python Systems</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T103000</dtstart>
            <dtend>20251031T120000</dtend>
            <duration>013000</duration>
            <summary>Building Production-Ready AI Agents: The 4Ds for Scalable Python Systems</summary>
            <description>Setup (10 min): Install Hatchet SDK, configure local environment against hosted infrastructure, verify connectivity.

The Problem (15 min): Run a &quot;typical tutorial&quot; document classifier that works until it doesn&#x27;t. Experience rate limiting, network failures, and resource contention. Discuss why demo-ware fails: no parallelization, no error recovery, no observability.

Distributed Processing (15 min): Transform sequential processing into parallel task execution. Write Hatchet workflows that fan-out document classification across workers, then fan-in results. Process 100 documents in parallel, observing throughput improvements.

Durable Execution (15 min): Add automatic retries, timeouts, and stateful checkpoints. Simulate infrastructure failures and watch workflows resume from the last successful step without data loss. Experience how durability prevents expensive recomputation.

Deterministic Behavior (15 min): Replace unpredictable LLM outputs with structured schemas using Pydantic validation. Implement confidence thresholds and automatic fallbacks. See how constraints reduce debugging time and improve reliability.

Debuggable Systems (15 min): Instrument workflows with structured logging, metrics, and distributed tracing. Use Hatchet&#x27;s dashboard to identify bottlenecks, track success rates, and diagnose failures across execution graphs.

Production Integration (5 min): Review complete example integrating all patterns. Discuss deployment strategies and monitoring best practices.

Target Audience: Python developers building AI applications who need reliable, scalable infrastructure patterns. Especially valuable for teams transitioning from prototypes to production.

Interactive Elements: Live coding with dashboard feedback, simulated failure scenarios, real-time parallel execution metrics, complete working system to take home.

Takeaways: Production-ready code patterns, infrastructure best practices, and immediately applicable solutions for AI workflow scaling challenges every Python developer eventually faces.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/7ZJVH7/</url>
            <location>Tutorial Room</location>
            
            <attendee>Gabriel Ruttner</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SSVHYH@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SSVHYH</pentabarf:event-slug>
            <pentabarf:title>Connecting IoT Devices with LavinMQ – Hands-On Workshop</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T130000</dtstart>
            <dtend>20251031T143000</dtend>
            <duration>013000</duration>
            <summary>Connecting IoT Devices with LavinMQ – Hands-On Workshop</summary>
            <description>In this workshop you will learn how to connect an IoT device to publish messages. Understand what LavinMQ is and why it’s valuable in IoT environments. Create a LavinMQ instance on CloudAMQP. Write a consumer to process messages. Scale consumers and test reliability. Lovisa will not be the one holding it. It will be Christina Dahlén and Erica Weistrand.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/SSVHYH/</url>
            <location>Tutorial Room</location>
            
            <attendee>Christina Dahlén</attendee>
            
            <attendee>Erica Weistrand</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LMW9LS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LMW9LS</pentabarf:event-slug>
            <pentabarf:title>Job Fair</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251031T150000</dtstart>
            <dtend>20251031T160000</dtend>
            <duration>010000</duration>
            <summary>Job Fair</summary>
            <description>Are you searching for a job?
Our lovely Sponsors are hiring. Join this session to learn about new opportunities!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Organization</category>
            <url>https://pretalx.com/pycon-sweden-2025/talk/LMW9LS/</url>
            <location>Tutorial Room</location>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
