<?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>Q8EAER@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-Q8EAER</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>20260903T091500</dtstart>
            <dtend>20260903T093000</dtend>
            <duration>0.01500</duration>
            <summary>Opening session</summary>
            <description>Opening session with morning announcements</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Other</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/Q8EAER/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NLGFRP@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NLGFRP</pentabarf:event-slug>
            <pentabarf:title>Keynote: Becoming a code curator: developing engineering taste in the age of generative agents</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T093000</dtstart>
            <dtend>20260903T103000</dtend>
            <duration>1.00000</duration>
            <summary>Keynote: Becoming a code curator: developing engineering taste in the age of generative agents</summary>
            <description>In 2026, the daunting fear of the proverbial blank page has vanished. We have agents writing lines of code faster than we can read them, and our task is shifting from developers to curators. 
But there is a catch: while agents are masters of syntax, they are strangers to taste. They can generate functionally &quot;correct&quot; code that is architecturally hollow. If we aren&#x27;t careful, the high-velocity output of the agents will wash away the Pythonic principles of elegance and maintainability we’ve spent decades refining replacing it with unmaintainable AI slop.
To thrive in this timeline of agentic code development, we must promote ourselves from developers to code curators. In this talk, we will explore the three pillars of the curator’s craft:

Developing a curator&#x27;s nose: how to  identify the synthetic smell of agentic output, from the verbosity tax to the obsolete echoes where agents default to old python idioms instead of model standards.
Developing a curator&#x27;s eye: Python is one of the most used languages because, among so many other things, its commitment to simplicity. We’ll look at how taste will help us integrate cutting-edge features where an agent would fall back to legacy bloat and inefficient patterns.
Developing a curator&#x27;s hand: we must provide with the precise guidance required to build architectures that withstand the test of time. We’ll discuss practical strategies like context injection and architectural guardrails  to force the agents to code following the standards of your codebase not their training data
In an era of infinite generation, our value is no longer found in the lines we write, but in the systems we compose. We are no longer just authors of code; we are the guardians of the Pythonic craft.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/NLGFRP/</url>
            <location>Auditorium</location>
            
            <attendee>Mai Gimenez</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KS9EPZ@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KS9EPZ</pentabarf:event-slug>
            <pentabarf:title>No More Spreadsheets! Building PyLadiesCon Infrastructure with Python and Django</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T103000</dtstart>
            <dtend>20260903T110000</dtend>
            <duration>0.03000</duration>
            <summary>No More Spreadsheets! Building PyLadiesCon Infrastructure with Python and Django</summary>
            <description>PyLadiesCon is an online conference for the Global PyLadies community. It is one of a kind conference with programming spans 24 hours and offering talks and contents in multiple languages. Run entirely by volunteers, we face unique challenges specific to the nature of our conference.

One of the ways we have been managing the various aspects of PyLadiesCon is by using spreadsheets. Spreadsheets for volunteer sign ups, spreadsheets for program scheduling, spreadsheets for sponsorship. Any information you want about the conference, we have a spreadsheet for that.

While spreadsheets are great for capturing data, they come with drawbacks when it comes to online collaboration with various team members, causing frustrations and confusion among our team of volunteers.

In 2025, PyLadiesCon team said no to spreadsheets and instead started building our conference infrastructure: an open source web app for managing various aspects of our conference. Learn more our challenges in managing the online PyLadiesCon conference, and how we&#x27;re solving our problems with Python and Django.  Contribute to the project, and support the PyLadies community.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/KS9EPZ/</url>
            <location>Auditorium</location>
            
            <attendee>Mariatta</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QPBCXP@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QPBCXP</pentabarf:event-slug>
            <pentabarf:title>What&#x27;s new in Python 3.14 &amp; 3.15</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T113000</dtstart>
            <dtend>20260903T120000</dtend>
            <duration>0.03000</duration>
            <summary>What&#x27;s new in Python 3.14 &amp; 3.15</summary>
            <description>Python 3.14 is the latest version of your favourite programming language. Come and hear about some of the exciting things available when you upgrade. I&#x27;ll talk about some of the even newer things set for release in Python 3.15 this October. And I&#x27;ll also tell about the release cycle and how you can help us test out the pre-releases.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/QPBCXP/</url>
            <location>Auditorium</location>
            
            <attendee>Hugo van Kemenade</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KDZQJR@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KDZQJR</pentabarf:event-slug>
            <pentabarf:title>strong ref, weakref and garbage collector walks into a bar</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T120000</dtstart>
            <dtend>20260903T123000</dtend>
            <duration>0.03000</duration>
            <summary>strong ref, weakref and garbage collector walks into a bar</summary>
            <description>This talk explores how Python manages object lifetimes through references, and why objects sometimes remain in memory longer than expected. While Python’s memory model is often described as simple, its real behavior — especially in the presence of caching and reference cycles — can lead to surprising and hard-to-debug issues.

The talk is structured as a narrative in three parts: strong references, weak references, and the garbage collector. First, we take a look at Python’s object model and reference counting, using simple, visual  examples to demonstrate how references work. Next, we introduce weak references and show how they differ from regular references, including practical use cases and common misconceptions. Finally, we examine the garbage collector and explain why it is needed in Python on top of reference counting.

The concepts are grounded in a real-world debugging story involving `functools.lru_cache`, where a small optimization led to unexpected memory growth.

The goal of this talk is to provide a clear and practical mental model of Python’s memory behavior, helping developers understand not just how things work, but why seemingly correct code can lead to subtle memory issues.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/KDZQJR/</url>
            <location>Auditorium</location>
            
            <attendee>Yulia Markelova</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZJGACA@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZJGACA</pentabarf:event-slug>
            <pentabarf:title>From Pixels to Plastic: Multi-Agent Python Pipelines for 3D-Printed Repair</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T123000</dtstart>
            <dtend>20260903T130000</dtend>
            <duration>0.03000</duration>
            <summary>From Pixels to Plastic: Multi-Agent Python Pipelines for 3D-Printed Repair</summary>
            <description>Most &quot;AI for the physical world&quot; coverage in 2026 is about robots and autonomous vehicles. This talk is about something smaller and stranger: getting a Python program to look at a broken object and print the missing piece.

The core problem: natural language and even photos are ambiguous, but geometry is not. A wall thickness of 0.1mm instead of 1.0mm is not a minor error. It is an unprintable model and wasted filament. &quot;Generate and hope&quot; doesn&#x27;t work when the output has to fit in your hand.

I&#x27;ll walk through the system end-to-end: a real, open-source, seven-agent pipeline.

1. The repair scenario. Real before-and-after objects passed around the audience. Repair is a more honest test of physical AI than from-scratch generation because there is a ground truth, the original part, and a literal pass/fail question: does the new piece fit?

2. Seven agents, one pattern. A walk through the pipeline: Calibration, Segmentation, Measurement, Thickness, Mesh, Validation, and Print. The same architectural pattern repeats at every stage. Each agent runs multiple computer-vision strategies, then hands all candidate results to an LLM that picks the best one, or blends them, and explains its reasoning.

3. The consensus protocol. A close look at the calibration and thickness agents, where consensus matters most. Calibration runs ArUco markers, HEIF depth, reference-line detection, WebXR, and a vision fallback in parallel. Thickness estimation combines LiDAR, multi-view stereo from short videos, side-photo geometry, and monocular depth from Depth Anything. The LLM sees each candidate with its confidence score, flags implausible values, and produces one authoritative result with an explained rationale.

4. Segmentation, measurement, mesh. SAM handles segmentation from point prompts, with the LLM assessing mask quality and suggesting better click points. OpenCV contour analysis handles measurement, while the LLM arbitrates between competing measurements. Shapely and trimesh generate the patch mesh, with the LLM assessing printability and suggesting thickness adjustments before anything goes near the printer.

5. Validation and the live print. The validation agent cross-checks the pipeline results, verifies the mesh, and makes a final go/no-go judgment. Then bambulabs api over MQTT/FTP streams the STL to the printer on stage. Print status flows back into the system in real time.

6. What this teaches us about Python in the wild. The transferable patterns are multi-strategy execution, LLM arbitration, structured outputs, and continuous validation. They work for any AI system where outputs must satisfy hard constraints: medical imaging, financial document generation, robotic control, and scientific simulation. Python is more capable here than people realise, and the under-appreciated libraries that make it possible, including Shapely, trimesh, SAM via transformers, Depth Anything, and bambulabs_api, deserve a wider audience.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/ZJGACA/</url>
            <location>Auditorium</location>
            
            <attendee>Brain Aboze</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GU9KWG@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GU9KWG</pentabarf:event-slug>
            <pentabarf:title>The illusion of sequential execution in PySpark</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T140000</dtstart>
            <dtend>20260903T143000</dtend>
            <duration>0.03000</duration>
            <summary>The illusion of sequential execution in PySpark</summary>
            <description>PySpark code often looks like it runs sequentially, but Spark does not execute pipelines line by line. Instead, it builds and optimizes execution plans, and this mismatch can lead to bugs and misunderstandings.

In this talk, I will present a real-world issue involving a pipeline that reads from and writes to the same tables. While the code appears straightforward, the final action triggers a separate execution plan that re-reads one of the inputs after it has been updated, producing inconsistent results. This behavior is counterintuitive because dataframes are logical abstractions: they do not hold data unless explicitly materialized, and each action can recompute the entire pipeline.

Starting from this example, I will explore some design principles that can systematically avoid this kind of issue. First, one can include explicit materializations after reading from sources, in order to save input data in a well-defined state. Another possibility is designing simple, atomic jobs with a single target table or even a single action, and then combine them sequentially by means of an orchestrator. Finally, if the underlying data platform has multiple layers, one can impose that every job reads from one layer and writes to the next, in order to physically separate sources and targets.

The talk will include code examples and is aimed at data engineers with some experience in PySpark who want to build cleaner and more reliable pipelines.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/GU9KWG/</url>
            <location>Auditorium</location>
            
            <attendee>Pier Paolo La Pastina</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KNX8NQ@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KNX8NQ</pentabarf:event-slug>
            <pentabarf:title>Your Software Mirrors Your Conversations. Your Conversations Just Went Private.</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T143000</dtstart>
            <dtend>20260903T150000</dtend>
            <duration>0.03000</duration>
            <summary>Your Software Mirrors Your Conversations. Your Conversations Just Went Private.</summary>
            <description>The story follows one fictional organization, stitched together from things I lived through, across three eras of its life: the early monolith, the reorg into &quot;autonomous teams&quot; that nobody thought all the way through, and the arrival of LLM assistants. The whole arc plays out on a single network graph of people, teams, services, and code that evolves on screen as the company changes, so you can watch the architecture respond to the conversations, and stop responding when the conversations stop.

Along the way: how well-intentioned autonomy can manufacture a distributed monolith; what actually happens to a codebase when every developer&#x27;s closest collaborator becomes a model; what the industry&#x27;s own data says about feeling faster versus being faster; and why AI makes Conway&#x27;s Law bite harder, not softer. And because this isn&#x27;t a doom talk, the way out is here too, grounded in Diana Montalion&#x27;s Learning Systems Thinking.

You&#x27;ll leave with a new lens to view your own codebase, a sharper question to ask about every system your team ships, two gut checks for your team&#x27;s AI adoption, and a handful of practices you can pilot without waiting for anyone to approve a reorg.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/KNX8NQ/</url>
            <location>Auditorium</location>
            
            <attendee>Juan Caraballo</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CAPM8Z@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CAPM8Z</pentabarf:event-slug>
            <pentabarf:title>Running Companies with Python and Open Source ERP</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T153000</dtstart>
            <dtend>20260903T160000</dtend>
            <duration>0.03000</duration>
            <summary>Running Companies with Python and Open Source ERP</summary>
            <description>Ask a Python developer what Python is used for, and you&#x27;ll hear the usual answers: data science, machine learning, infrastructure automation, web backends. Rarely does anyone mention running the day-to-day operations of a business. Yet that&#x27;s exactly what Odoo makes possible — and it does so with Python at its core.
Odoo is a fully open-source suite of business applications — from accounting and inventory to sales and HR — built entirely in Python. Unlike traditional ERP systems that lock businesses into rigid, proprietary logic, Odoo exposes its business rules, workflows, and data models as Python code. This means Python developers are suddenly first-class citizens in domains historically dominated by consultants, spreadsheets, and black-box software: invoicing runs, stock movements, manufacturing orders, payroll calculations. And because Odoo is open source, the entire stack is inspectable, forkable, and extensible — there are no hidden rules governing your business.
What makes this possible is Odoo&#x27;s layered, modular architecture. Business logic is organised into composable Python modules — each one a clean layer over the last — so that a small, focused change can reshape how an entire business process behaves without touching anything else. This is not just good software design; it is what allows Python developers to reason about, extend, and own business processes the same way they would any other codebase.
We&#x27;ll open with a grounded look at what an ERP actually does — the key functional domains that keep a company running and why they are hard to model in software. From there, we explore how Odoo&#x27;s framework architecture is designed to meet those demands: its layered module system, and how Python&#x27;s expressive syntax and dynamic nature make it uniquely suited to capturing complex, ever-changing business logic. We&#x27;ll also look at Python&#x27;s role as a universal connector — how it bridges Odoo to the wider world of APIs, data pipelines, and external systems. The talk closes with a look at the open-source ecosystem around Odoo and what this expanding frontier means for Python developers.
No prior knowledge of ERP or business software is assumed — just curiosity about where Python shows up next.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/CAPM8Z/</url>
            <location>Auditorium</location>
            
            <attendee>Daniel Reis</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PSPA9E@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PSPA9E</pentabarf:event-slug>
            <pentabarf:title>To be announced!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T160000</dtstart>
            <dtend>20260903T163000</dtend>
            <duration>0.03000</duration>
            <summary>To be announced!</summary>
            <description>TBA</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/PSPA9E/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>R8B8RB@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-R8B8RB</pentabarf:event-slug>
            <pentabarf:title>Lightning talks ⚡️ Thursday</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260903T163000</dtstart>
            <dtend>20260903T170000</dtend>
            <duration>0.03000</duration>
            <summary>Lightning talks ⚡️ Thursday</summary>
            <description>Lightning talks are 5 minute talks that anyone participating at the conference can submit. If that talk gets selected, you will have the chance to jump into the main stage and show us your project, your ideas, something you have learned, something you are proud of that&#x27;s helping and contributing to our conference and community, or something else!

Lightning talks last a maximum of 5 minutes. You can use less time, but not more. This time limit is strictly enforced!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/R8B8RB/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GLLJKG@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GLLJKG</pentabarf:event-slug>
            <pentabarf:title>Morning announcements</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T091500</dtstart>
            <dtend>20260904T093000</dtend>
            <duration>0.01500</duration>
            <summary>Morning announcements</summary>
            <description>Morning announcements</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Other</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/GLLJKG/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FDLXS9@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FDLXS9</pentabarf:event-slug>
            <pentabarf:title>Keynote: Most of your AI output is Slop (and how to optimise it)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T093000</dtstart>
            <dtend>20260904T103000</dtend>
            <duration>1.00000</duration>
            <summary>Keynote: Most of your AI output is Slop (and how to optimise it)</summary>
            <description>Most of us have adopted AI tools without the surrounding guidance on how to coerce models into making something good and useful. The speed of development grew exponentially, to the point where we now interact with computers like we did in the 1960s, through a terminal. This talk is about how to concretely take your everyday prompt and make it better, from slop to a workflow that can be measured and improved far beyond your local environment. We&#x27;ll cover gold standard practices such as context, guardrails, optimisation, and evaluation frameworks, the things that let you take advantage of AI tooling to the maximum, rather than being tied to reviewing every line it produces, increasing both speed and trustworthiness.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/FDLXS9/</url>
            <location>Auditorium</location>
            
            <attendee>Laís Carvalho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HH87TE@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HH87TE</pentabarf:event-slug>
            <pentabarf:title>Building a Thriving Ecosystem: The Role of Communities in Growth and Inclusion</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T103000</dtstart>
            <dtend>20260904T110000</dtend>
            <duration>0.03000</duration>
            <summary>Building a Thriving Ecosystem: The Role of Communities in Growth and Inclusion</summary>
            <description>The strength of any tech ecosystem lies in its ability to grow, support, and sustain its members. However, many aspiring technologists from underrepresented backgrounds struggle to find mentorship, role models, and opportunities to thrive. PyLadies, a global network dedicated to increasing women&#x27;s participation in the Python community, presents a proven model for addressing these challenges.
This talk will explore the impact of community-driven initiatives on the tech ecosystem, using PyLadies as a case study. We&#x27;ll break down the discussion into three key sections:
Understanding the Challenges:
The barriers to entry and growth in tech for underrepresented groups
The role of mentorship and community in shaping successful careers

The PyLadies Model:
How PyLadies chapters empower individuals through mentorship, technical training, and networking
Success stories from PyLadies communities around the world

Scaling the Impact:
How local communities and organizations can adopt similar models to foster technical growth
Actionable steps for individuals and companies to contribute to a more inclusive and sustainable tech ecosystem
Through real-world examples, practical strategies, and interactive discussions, this talk aims to inspire attendees to take action, whether by starting or supporting PyLadies chapters, mentoring newcomers, or advocating for stronger community engagement.
By the end of the session, participants will leave with a clear understanding of how they can contribute to strengthening the global tech ecosystem and why investing in community-driven initiatives like PyLadies is key to sustainable growth.


OUTLINE
Introduction (2 mins)
Introduction
What inspired this talk( the importance of support systems in tech)
Overview of what to expect

Understanding the Challenges (8mins)
A. Barriers for Underrepresented Groups
Lack of access to mentorship, role models, and opportunities
Imposter syndrome and systemic bias
Financial, geographical, and cultural constraints
B. The Role of Community and Mentorship
Why peer support matters
How mentorship can transform career journeys
Audience interaction: &quot;Who here has been positively impacted by a tech community?&quot;

The PyLadies Model (8mins)
A. What is PyLadies?
Mission, history, and global reach
Core activities: workshops, meetups, mentorship, speaker support
B. Empowerment Through Community
Technical training and exposure
Networking and visibility for women in Python
Community-led leadership development
C. Success Stories
Highlight stories from PyLadies chapters around the world
Testimonials

Scaling the Impact (8mins)
A. Adopting the Model Locally
How any community can replicate PyLadies&#x27; success
Partnering with schools, companies, and global organizations
B. Individual &amp; Organizational Action Steps
Starting or supporting a PyLadies chapter
Mentoring newcomers or junior developers
Advocating for inclusive hiring and speaker lineups
Supporting infrastructure: funding, venues, visibility

Call to Action (4mins)
Recap of key takeaways
Share a personal reflection on the power of community
Call to action:
Join/support PyLadies
Become a mentor
Create inclusive spaces in your local tech communities
Q&amp;A</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/HH87TE/</url>
            <location>Auditorium</location>
            
            <attendee>Gertrude Abagale</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9KEBYY@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9KEBYY</pentabarf:event-slug>
            <pentabarf:title>Small Language Models: Privacy-First AI with Python...  Why local models are replacing massive inference stacks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T113000</dtstart>
            <dtend>20260904T120000</dtend>
            <duration>0.03000</duration>
            <summary>Small Language Models: Privacy-First AI with Python...  Why local models are replacing massive inference stacks</summary>
            <description>For years, AI progress has been associated with larger and larger models. However, in many production environments, massive language models introduce serious engineering challenges: high latency, expensive infrastructure, and sensitive data being sent to external APIs.

In practice, many NLP tasks do not require a 70B-parameter model.

Small Language Models (SLMs), typically in the 1B–7B parameter range, are becoming a powerful alternative. When combined with quantization techniques and efficient Python tooling, these models can run on modest hardware while still delivering strong performance for specialised tasks.

This talk explores how Python developers can design privacy-first AI systems using compact models and local infrastructure.

Using the Python ecosystem, including Hugging Face Transformers, bitsandbytes quantization, and lightweight retrieval pipelines, we will walk through how to fine-tune and deploy an SLM for domain-specific tasks. The talk will also demonstrate a local-first Retrieval-Augmented Generation (RAG) pipeline, where sensitive documents remain entirely within an organisation’s infrastructure.

We will compare compact models against larger hosted models for targeted NLP tasks and discuss the trade-offs between model size, latency, cost, and deployment complexity.

The goal is not to replace large models entirely, but to show when smaller models are the more practical engineering choice.

Structure of the talk:
• Why model size is not always the best metric for capability
• Running SLMs locally with Python and quantization techniques
• Building a local-first RAG pipeline for private document retrieval
• Benchmarking accuracy, latency, and infrastructure cost
• When to choose small models vs large hosted models

By the end of the talk, attendees will understand how to build efficient, privacy-preserving AI systems using the Python ecosystem without relying entirely on large cloud-hosted models.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/9KEBYY/</url>
            <location>Auditorium</location>
            
            <attendee>Anthonette Adanyin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>YETWYL@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-YETWYL</pentabarf:event-slug>
            <pentabarf:title>Building Resilient Python APIs for Systems That Can&#x27;t Afford to Fail</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T120000</dtstart>
            <dtend>20260904T123000</dtend>
            <duration>0.03000</duration>
            <summary>Building Resilient Python APIs for Systems That Can&#x27;t Afford to Fail</summary>
            <description>This talk looks at how Python APIs connect industrial control systems such as PLCs and sensor networks to external systems. These integrations are often built using familiar patterns, but the risks change when software affects physical processes.

Here, the session starts with how Python is used in these environments and then moves to common issues in API design and dependency use, including typosquatting and outdated libraries. From there, it explains how problems that seem minor in web applications can affect system behavior in industrial settings.

Based on this, the talk ends with practical ways developers can write safer APIs and handle dependencies more carefully, without adding unnecessary complexity.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/YETWYL/</url>
            <location>Auditorium</location>
            
            <attendee>Natalia Riveros Núñez</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>99JTVH@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-99JTVH</pentabarf:event-slug>
            <pentabarf:title>Predicting the future with machine learning and Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T123000</dtstart>
            <dtend>20260904T130000</dtend>
            <duration>0.03000</duration>
            <summary>Predicting the future with machine learning and Python</summary>
            <description>Time series problems can be tackled with specialized models, but in practice, many real-world solutions rely on reframing forecasting tasks as supervised machine learning problems. In this talk, we’ll focus on this approach, since many of its core ideas also underpin time series–specific models. This makes it the best introduction to time series modelling.

We’ll start by reviewing the essential supervised machine learning concepts needed when working with time-dependent data. From there, we’ll see how to transform a time series problem into a supervised machine learning problem by carefully designing inputs and targets.

Finally, we’ll focus on a critical aspect: evaluation. We’ll discuss how to validate machine learning models in general, and how time dependence fundamentally changes validation strategies in the context of time series.

By the end of the talk, attendees familiar with machine learning will know how to apply their skills to time series problems, while those newer to ML will gain a solid conceptual foundation for understanding how modern time series models work under the hood.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/99JTVH/</url>
            <location>Auditorium</location>
            
            <attendee>Juan Castillo del Río</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SSLMWK@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SSLMWK</pentabarf:event-slug>
            <pentabarf:title>Building Multi-Tenant SaaS Applications with Django</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T140000</dtstart>
            <dtend>20260904T143000</dtend>
            <duration>0.03000</duration>
            <summary>Building Multi-Tenant SaaS Applications with Django</summary>
            <description>Many SaaS applications must serve multiple organizations while keeping their data isolated and secure. Django provides powerful tools to build such systems, but designing a clean and scalable multi-tenant architecture can be challenging.

In this talk, I will walk through practical approaches to building multi-tenant SaaS applications using Django.

First, I will introduce the concept of multi-tenancy and the common architectural approaches used in SaaS platforms. Then I will demonstrate how Django can support schema-based and shared-database tenant models.

The talk will cover:

• Understanding multi-tenant architectures
• Schema-based vs shared-database approaches
• Authentication and permissions in multi-tenant systems
• Handling migrations and tenant onboarding
• Lessons learned from building real Django projects

This session focuses on practical implementation and real-world lessons. Attendees will leave with a clear understanding of how to design and implement multi-tenant applications using Django.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/SSLMWK/</url>
            <location>Auditorium</location>
            
            <attendee>Brian Oginga</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>89C3AY@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-89C3AY</pentabarf:event-slug>
            <pentabarf:title>Now available: A pythoneer&#x27;s guide to IaC with Pulumi</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T143000</dtstart>
            <dtend>20260904T150000</dtend>
            <duration>0.03000</duration>
            <summary>Now available: A pythoneer&#x27;s guide to IaC with Pulumi</summary>
            <description>Why keep managing your cloud with rigid HCL when you can use the power of Python?
Traditional Infrastructure as Code (IaC) tools forced us developers to use domain-specific languages that lack the ecosystem, tooling and best practices we love.

Let&#x27;s see how Python + Pulumi bridge the gap between dev and devOps without language switching, while discussing how recent Terraform changes make now maybe the perfect time to adopt a truly code-first, open-source approach.

This session is a live-coding, hands-on, no slides, dive into IaC and Pulumi IaC, an OSS tool that treats infrastructure as a first-class code citizen, not just a config file. We&#x27;ll deploy and manage a Google Cloud environment, demonstrating how Python&#x27;s great ecosystem allows better abstraction, loop management, and testing than HCL or YAML.

- Limitation of traditional DSL in complex environments.
- Python features, tools and best practices transfered to Pulumi.
- Migrating from Terraform to Pulumi + Python.
- Using Pulumi with Python for Google Cloud.

Audience: Pythoneers, pythonistas, cloud architects/engineers, experienced TF devOps, devs looking to grow into platform engineers before AI takes our jobs and dooms us all maybe? 😮</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/89C3AY/</url>
            <location>Auditorium</location>
            
            <attendee>Marcos Manuel Ortega González</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FYSCHQ@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FYSCHQ</pentabarf:event-slug>
            <pentabarf:title>Implementing Data Quality Control with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T153000</dtstart>
            <dtend>20260904T160000</dtend>
            <duration>0.03000</duration>
            <summary>Implementing Data Quality Control with Python</summary>
            <description>Data Quality is growing in importance and visibility as companies understand the strategic value of it inside the Data Governance field. In this talk, I will explore the impact of implementing Data Quality routines in data pipelines and the available techniques and technologies, applying Python to do so. This lecture will be divided into four sessions, starting with the presentation of Data Quality&#x27;s main concepts, then presenting three use cases, a benchmark of data quality tools, and, finally, a use case using Airflow to implement data quality validations.

Structure planned:
- Presenting myself (2 minutes)
- Why Data Quality is so relevant? (3 minutes)
- Data Quality main concepts (3 minutes)
- Three use cases of Data Quality (5 minutes)
- A benchmark for Python tools (7 minutes)
- A use case with Airflow (7 minutes)
- Questions (3 minutes)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/FYSCHQ/</url>
            <location>Auditorium</location>
            
            <attendee>Rafael Araújo</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KFV3DT@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KFV3DT</pentabarf:event-slug>
            <pentabarf:title>To be announced!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T160000</dtstart>
            <dtend>20260904T163000</dtend>
            <duration>0.03000</duration>
            <summary>To be announced!</summary>
            <description>TBA</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/KFV3DT/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GN7EQA@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GN7EQA</pentabarf:event-slug>
            <pentabarf:title>Lightning talks ⚡️ Friday</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T163000</dtstart>
            <dtend>20260904T170000</dtend>
            <duration>0.03000</duration>
            <summary>Lightning talks ⚡️ Friday</summary>
            <description>Lightning talks are 5 minute talks that anyone participating at the conference can submit. If that talk gets selected, you will have the chance to jump into the main stage and show us your project, your ideas, something you have learned, something you are proud of that&#x27;s helping and contributing to our conference and community, or something else!

Lightning talks last a maximum of 5 minutes. You can use less time, but not more. This time limit is strictly enforced!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/GN7EQA/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ZA7PPP@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ZA7PPP</pentabarf:event-slug>
            <pentabarf:title>Closing session</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260904T170000</dtstart>
            <dtend>20260904T171500</dtend>
            <duration>0.01500</duration>
            <summary>Closing session</summary>
            <description>Closing session</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Other</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/ZA7PPP/</url>
            <location>Auditorium</location>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CY3LNP@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CY3LNP</pentabarf:event-slug>
            <pentabarf:title>This Agent Will Judge Your Bias!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T090000</dtstart>
            <dtend>20260905T110000</dtend>
            <duration>2.00000</duration>
            <summary>This Agent Will Judge Your Bias!</summary>
            <description>We start by examining real-world examples of bias in tech and AI outputs, then move directly into building AI agents using LangChain and LangGraph. Participants will design and implement a pipeline that detects gender bias in text, classifies its severity, and generates more inclusive rewrites.
The focus is practical: turning bias from an abstract concept into something observable, measurable, and actionable through working AI agents.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/CY3LNP/</url>
            <location>Workshop Room A</location>
            
            <attendee>Hilal Işık</attendee>
            
            <attendee>Anastasia Mikheeva</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BBWJAV@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BBWJAV</pentabarf:event-slug>
            <pentabarf:title>Audit and evaluate AI generated Python code</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T113000</dtstart>
            <dtend>20260905T133000</dtend>
            <duration>2.00000</duration>
            <summary>Audit and evaluate AI generated Python code</summary>
            <description>These may be the most important skills to keep your job or to find a new one in the future!

AI-generated code is a powerful tool, but it should never be blindly trusted. This intensive workshop, &quot;Audit and evaluate AI generated Python code,&quot; teaches you the critical skills you need to stay relevant in the future: how to ensure AI-generated code is secure, functional, and aligns with your standards. 

We will go beyond basic reviews with a four-step, hands-on approach. You will learn how to: 
Perform Functional Verification using tools like pytest and hypothesis for property-based testing; 
Conduct Security &amp; Dependency Audits with static analysis tools; 
Execute an Adversarial Review by attacking your own program; and 
Achieve Architectural Alignment using ruff and type checking with ty. 

Finally, we will cover how to measure and document the performance of your AI prompts using evaluation metrics. You’ll leave this workshop prepared to take control of code that AI produces in your Python projects, and learn how to turn this code into quality code.

This workshop is specifically designed for developers who have already begun incorporating AI into their workflow to generate code and are looking to refine their auditing process.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/BBWJAV/</url>
            <location>Workshop Room A</location>
            
            <attendee>Cheuk Ting Ho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AKDPNX@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AKDPNX</pentabarf:event-slug>
            <pentabarf:title>SQLAlchemy ORM: Building a Production-Grade Commodity Pricing API Without Raw SQL</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T143000</dtstart>
            <dtend>20260905T163000</dtend>
            <duration>2.00000</duration>
            <summary>SQLAlchemy ORM: Building a Production-Grade Commodity Pricing API Without Raw SQL</summary>
            <description>Managing a database and keeping application data in sync with the database can be tricky as Python applications grow in complexity. In many systems, raw SQL scattered across the codebase leads to tight coupling, reduced maintainability, and inconsistent data handling.

In this hands-on workshop, you’ll learn how to use SQLAlchemy ORM to simplify database interactions and structure clean, maintainable Python APIs. We will build a commodity pricing API as a practical example to demonstrate how ORM-based design works in real applications.

We’ll cover how SQLAlchemy’s Object Relational Mapper (ORM) system helps replace raw SQL with structured Python models, making database operations more readable and easier to maintain. Participants will learn how to define ORM classes that represent database tables, manage relationships between models, and work with efficient querying techniques.

We will also explore relationship-loading strategies to understand how query behavior affects performance in real systems, and how to apply SQLAlchemy’s asyncio extension in modern Python services.

By the end of this tutorial, participants will walk out having learned how to:

    1. Use SQLAlchemy ORM to perform database operations in Python without relying on raw SQL
    2. Design and implement ORM models that map directly to relational database tables
    3.Manage database sessions and transactions correctly in real Python applications
    4.Model relationships between entities and apply different relationship-loading strategies to control query behavior and performance
    5. Use SQLAlchemy’s asyncio extension to build asynchronous database-backed Python services
    6. Structure a complete API workflow using SQLAlchemy ORM (using a commodity pricing API as a practical example)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/AKDPNX/</url>
            <location>Workshop Room A</location>
            
            <attendee>David Asem</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>TJN7DC@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-TJN7DC</pentabarf:event-slug>
            <pentabarf:title>Process, Analyze, and Transform Python Code with ASTs</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T090000</dtstart>
            <dtend>20260905T110000</dtend>
            <duration>2.00000</duration>
            <summary>Process, Analyze, and Transform Python Code with ASTs</summary>
            <description>You’ve likely used a tool like `black`, `flake8`, or `ruff` to lint or format your code, or a tool like `sphinx` to document it, but you probably do not know how they accomplish their tasks. These tools and many more use **Abstract Syntax Trees (ASTs)** to analyze and extract information from Python code. An AST is a representation of your code&#x27;s structure that enables you to access and manipulate its different components, which is what makes it possible to automate tasks like code migrations, linting, and docstring extraction.

In this workshop, you’ll learn how to use the Python standard library’s `ast` module to parse and analyze code. Using just the standard library, we will implement a couple of common checks from scratch, which will give you an idea of how these tools work and help you build the skills and confidence to use ASTs in your own projects.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/TJN7DC/</url>
            <location>Workshop Room B</location>
            
            <attendee>Stefanie Molin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PSKUPQ@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PSKUPQ</pentabarf:event-slug>
            <pentabarf:title>Code Smarter with Functional Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T113000</dtstart>
            <dtend>20260905T133000</dtend>
            <duration>2.00000</duration>
            <summary>Code Smarter with Functional Python</summary>
            <description>Functional programming helps in understanding, designing, and composing your code. This hands-on workshop introduces Functional Programming in Python as a practical approach to breaking complex problems into small, predictable, reusable, and composable functions.
Starting with first-class functions, higher-order functions, closures, and decorators, we explore the core principles of functional programming including pure functions, immutability, referential transparency, side-effect management, declarative programming, lazy evaluation, iterators, generators, and recursion. Participants will then discover powerful techniques such as function composition, pipelines, functional chaining, currying, partial application, memoization, caching, and dynamic programming.
Through 20+ code examples we will explore functional design patterns. We will also explore Functional Programming vs. Object-Oriented Programming and when the two approaches can work together effectively.
The goal is simple: learn to break down complexity, compose better solutions, reduce unnecessary state and side effects, and design code that is easier for us to understand, test, and evolve.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/PSKUPQ/</url>
            <location>Workshop Room B</location>
            
            <attendee>Mohnish Awade</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>S9BHKB@@pretalx.evolutio.pt</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-S9BHKB</pentabarf:event-slug>
            <pentabarf:title>To be announced!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20260905T143000</dtstart>
            <dtend>20260905T163000</dtend>
            <duration>2.00000</duration>
            <summary>To be announced!</summary>
            <description>TBA</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.evolutio.pt//pycon-portugal-2026/talk/S9BHKB/</url>
            <location>Workshop Room B</location>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
