<?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>XQLDWE@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XQLDWE</pentabarf:event-slug>
            <pentabarf:title>Let Your Pipeline Bloom: Fast Python with Filters, Caches, and Low Memory Footprint</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T110000</dtstart>
            <dtend>20250909T112000</dtend>
            <duration>0.02000</duration>
            <summary>Let Your Pipeline Bloom: Fast Python with Filters, Caches, and Low Memory Footprint</summary>
            <description>Python has become powerful, but data pipelines, workloads, and API servers often suffer from unnecessary IO and redundant computation that slow things down.

In this talk, we’ll explore two essential techniques to speed up workloads by doing less: caching and filtering—and how to implement them efficiently, with relatively low memory overhead, along with real-world use cases where these techniques made an impact.

We’ll also take a closer look at an often overlooked and misunderstood tool: the Bloom filter. You’ll learn how it works, when it’s useful (and when it’s not), and how it helps you maintain a low memory footprint while effectively avoiding unnecessary database queries, API calls, or heavy computation—before they even happen.

Whether you&#x27;re building data pipelines, APIs, or wrangling large datasets, this talk will give you practical insights and Pythonic tools to write smarter, faster, and more memory-conscious code.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/XQLDWE/</url>
            <location>Hall 1</location>
            
            <attendee>Ofek Tikotzky</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>GDQ3FL@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-GDQ3FL</pentabarf:event-slug>
            <pentabarf:title>Beyond constants: Mastering Python enums</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T113000</dtstart>
            <dtend>20250909T115000</dtend>
            <duration>0.02000</duration>
            <summary>Beyond constants: Mastering Python enums</summary>
            <description>While working on the open-source hdate library (which I maintain) and on internal tools at Intel, I came across some lesser-known but powerful uses of Python enums.
From attaching extra data and methods to make code more expressive, to dynamically generating enums from configuration files, these patterns can add clarity to your code if used with care.
In this talk, I’ll share these techniques, their advantages, and the subtle pitfalls to watch out for when using a singleton data structure.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/GDQ3FL/</url>
            <location>Hall 1</location>
            
            <attendee>Tsvi Mostovicz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>FWYYZB@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-FWYYZB</pentabarf:event-slug>
            <pentabarf:title>Code reloading: challanges, approaches &amp; libraries</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T130000</dtstart>
            <dtend>20250909T132000</dtend>
            <duration>0.02000</duration>
            <summary>Code reloading: challanges, approaches &amp; libraries</summary>
            <description>Edit-&gt;reload cycle on running software may be more fun &amp; productive than exiting and losing state.
Python&#x27;s semantics for `class` and `def`creating a new object are not as friendly to reloading as Smalltalk/Lisp/Ruby which patch in-place.  Reloading is still very possible, with multiple approaches and libraries but I believe you better understand the issues and implementation tradeoffs.
- What `importlib.reload()` does and does not.
- Copied references: `from ... import ...`, instances, callbacks &amp; closures, etc.
- =&gt; Recording what-imported-what dependency graph.
- =&gt; Patching classes/functions in-place vs. Updating references? Limitations.
- A secret weapon: `gc.get_referrers()`
- What IPython&#x27;s `%autoreload`, `jurigged`, `limeade` do?
- Renames/deletions.  Problem of intent.  =&gt; jurigged AST diffing?!
- Top-level code, singletons, derived values.  =&gt; Hard. Idempotent `try: except NameError:` style.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/FWYYZB/</url>
            <location>Hall 1</location>
            
            <attendee>Beni Cherniavsky-Paskin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UGA3L3@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UGA3L3</pentabarf:event-slug>
            <pentabarf:title>Decorators in Python: Powerful Patterns &amp; Practical Uses</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T133000</dtstart>
            <dtend>20250909T135000</dtend>
            <duration>0.02000</duration>
            <summary>Decorators in Python: Powerful Patterns &amp; Practical Uses</summary>
            <description>This talk is designed for intermediate Python developers who want to take their skills to the next level by mastering one of Python’s most versatile features: decorators.

We’ll begin by revisiting the concept of functions as first-class objects, which sets the foundation for understanding how decorators operate. From there, we’ll walk through writing simple decorators, then progress to more advanced topics such as:
+ Decorators with arguments
+ Stacking multiple decorators
+ Class-based decorators
+ Decorators applied to methods and classes

Real-world examples will highlight how decorators are used in real-world applications, such as web development, logging, access control, and benchmarking.

Attendees will leave this talk with a clear mental model of decorators, the ability to confidently implement them, and inspiration to apply them in their own projects. This talk will also provide best practices and tips for keeping decorator logic clean, testable, and maintainable.

This talk can be delivered in Hebrew (my mother tongue) and English.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/UGA3L3/</url>
            <location>Hall 1</location>
            
            <attendee>Haim Michael</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WCEA77@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WCEA77</pentabarf:event-slug>
            <pentabarf:title>Durable Python: Running Reliable Workflows on Unreliable Infrastructure</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T140000</dtstart>
            <dtend>20250909T142000</dtend>
            <duration>0.02000</duration>
            <summary>Durable Python: Running Reliable Workflows on Unreliable Infrastructure</summary>
            <description>Modern Python workflows are more distributed than ever: orchestrating APIs, cloud services, microservices, and databases across environments where infrastructure is not always reliable.
 When a server crashes, a container restarts, or a service call fails mid-process, traditional Python scripts often must restart from scratch, risking duplicated work, data inconsistencies, or lost progress.

Durable Python changes this. It introduces a model where workflow state is preserved, and execution can automatically resume from the point of failure, without manual recovery, complex retry logic, or redundant operations.
This talk will cover:
Why infrastructure failures are inevitable — and why Python needs built-in durability to handle them.


The core principles of durable execution: state persistence, fault recovery, and reliable orchestration.

Practical examples and patterns for introducing durability into real-world Python automations, including CI pipelines, DevOps processes, microservice orchestration, and long-running AI agents.

How Durable Python works under the hood — leveraging durable execution platforms, transforming Python&#x27;s AST, converting non-deterministic calls into trackable activities (like automatic checkpoints), and orchestrating everything seamlessly.


We’ll also live-demo a long-running Python workflow, simulate real infrastructure failures, and show the process resuming exactly where it left off — without re-executing completed steps or losing state.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/WCEA77/</url>
            <location>Hall 1</location>
            
            <attendee>Haim Zlatokrilov</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>AEZ3NY@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-AEZ3NY</pentabarf:event-slug>
            <pentabarf:title>Lazy-Freeze: Another Look at Hashing and Immutability</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T150000</dtstart>
            <dtend>20250909T152000</dtend>
            <duration>0.02000</duration>
            <summary>Lazy-Freeze: Another Look at Hashing and Immutability</summary>
            <description>Python&#x27;s hash-based collections rely on an implicit contract: once an object is used as a dictionary key or added to a set, its hash value (and thereby contents) should never change. Yet Python&#x27;s design encourages mutable user-defined classes without enforcing immutability when hashing occurs - leading to subtle bugs when objects modify their state after being hashed.

This talk introduces the &quot;Lazy-Freeze&quot; pattern: a technique where objects automatically transition from mutable to immutable upon their first hash calculation. Unlike the traditional approach which requires immutable construction, Lazy-Freeze allows objects to begin their lifecycle with convenient mutability, then seamlessly lock their state when stability becomes critical.

We&#x27;ll introduce an implementation mainly using Python&#x27;s __hash__ and __setattr__ magic methods, discuss examples and performance implications, and explore some sharp corners.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/AEZ3NY/</url>
            <location>Hall 1</location>
            
            <attendee>Ofek Shilon</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>DTFFQE@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-DTFFQE</pentabarf:event-slug>
            <pentabarf:title>Beyond the GIL: Python’s Journey to Free Threading</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T153000</dtstart>
            <dtend>20250909T155000</dtend>
            <duration>0.02000</duration>
            <summary>Beyond the GIL: Python’s Journey to Free Threading</summary>
            <description>The Global Interpreter Lock (GIL) has been a key part of Python&#x27;s design, simplifying memory management but limiting parallelism in multi-threaded programs. Recent changes now allow Python to run without the GIL, unlocking true parallelism.

In this talk, we&#x27;ll explore the implications of this shift: the internal changes to Python, the tradeoffs made for thread safety and performance, and the challenges overcome in the process. We’ll compare execution with and without the GIL through examples and benchmarks, and discuss the potential impact on Python developers and the ecosystem.

Whether you’re interested in Python’s internals, concurrency, or its evolving design, this session will provide a concise and practical overview of one of Python’s most significant updates.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/DTFFQE/</url>
            <location>Hall 1</location>
            
            <attendee>Yonatan Bitton</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CR9B8C@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CR9B8C</pentabarf:event-slug>
            <pentabarf:title>Agents, Autonomy, and the Edge of Illusion</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T100000</dtstart>
            <dtend>20250909T104500</dtend>
            <duration>0.04500</duration>
            <summary>Agents, Autonomy, and the Edge of Illusion</summary>
            <description>AI agents can plan, act, and adapt, or at least, they appear to.  Under the hood, they remain fragile systems built on prediction rather than true understanding.
This talk explores what LLM agents are really capable of today, where they break, and how to design around their limits. Through real-world failure patterns and success stories, we’ll unpack the myths, highlight common traps, and share practical tools and evaluation techniques for building agents that are genuinely useful.
Finally, we’ll look ahead to how these systems may evolve, and what you can do right now to stay ahead as agent-powered development becomes the norm.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Keynote</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/CR9B8C/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Shir Chorev</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PGEA3F@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PGEA3F</pentabarf:event-slug>
            <pentabarf:title>How (NOT) to use Cryptography in your code.</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T110000</dtstart>
            <dtend>20250909T112000</dtend>
            <duration>0.02000</duration>
            <summary>How (NOT) to use Cryptography in your code.</summary>
            <description>Implementing cryptography is like handling a loaded weapon — powerful, but dangerous in the wrong hands. In this talk, we’ll explore how to properly implement cryptography in Python, using real-world examples of code that led to serious security vulnerabilities. From insecure random number generation and broken key management to misusing cryptographic primitives and rolling your own protocols, we’ll walk through the most common (and often subtle) mistakes developers make. We’ll also cover the correct approaches using modern Python libraries. If you need to use cryptography in your code for secure communication, encrypting data at rest, or just curious to understand the meaning of the inputs to the cryptographic function, this session will equip you with the knowledge to do cryptography right — or at least know when to call in an expert.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/PGEA3F/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Erez Waisbard</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WZDPTD@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WZDPTD</pentabarf:event-slug>
            <pentabarf:title>Giving Voice to a Raven: Audio Analysis and Servo Control with Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T113000</dtstart>
            <dtend>20250909T115000</dtend>
            <duration>0.02000</duration>
            <summary>Giving Voice to a Raven: Audio Analysis and Servo Control with Python</summary>
            <description>How do you get an animatronic raven to speak like a real one - complete with emotion, variation, and natural presence? In this talk, we&#x27;ll explore how I built a Python-powered audio analysis system that brings Samuel, my interactive animatronic raven, to life. The goal wasn’t just to react to sound, but to create believable, nuanced motion driven by real audio data.

The challenge: to translate raven vocalizations into natural beak movements, without manually scripting the motion for each sound file. I needed a system that could analyze audio and generate movement instructions automatically - flexible, scalable, and Python-driven.

Using libraries like librosa, numpy, and matplotlib, I built a system that analyzes raven sounds, detects vocal energy peaks, and generates servo-ready movement instructions. To guide development, I created visual graphs of the audio - including RMS energy, volume, and frequency - to better understand how sound translated into motion. The program also generates multiple movement maps per sound clip, selecting one at random at runtime to avoid repetitive, robotic behavior.

We&#x27;ll dive into:
 - Audio signal analysis with librosa (RMS, STFT, clustering).
 - Generating servo-ready binary movement patterns from raw audio.
 - Designing variability through randomized motion mapping.
 - Visualizing sound energy.
 - Controlling servos in real time using Python and Raspberry Pi.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/WZDPTD/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Anat Wax</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WDCXQM@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WDCXQM</pentabarf:event-slug>
            <pentabarf:title>asyncio Exposed: Beyond the Happy Path</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T130000</dtstart>
            <dtend>20250909T132000</dtend>
            <duration>0.02000</duration>
            <summary>asyncio Exposed: Beyond the Happy Path</summary>
            <description>We all use asyncio - but let’s be real: how many of us actually understand what’s happening behind the scenes when we await something?

The moment you step off the happy path - into timeouts, cancellations, and juggling dozens of async tasks - things get a little chaotic, fast.

This talk is a deep dive into the corners of asyncio most of us don’t look at until something breaks.
We’ll unpack what really happens behind await, how to manage task lifecycles and what to do when your app just…stops.
We’ll explore advanced patterns, sneaky bugs, and practical tools to help you trace and debug what your async code is actually doing.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/WDCXQM/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Michal Hershkovitz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>8QKMYP@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-8QKMYP</pentabarf:event-slug>
            <pentabarf:title>Python in the Embedded Computing World</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T133000</dtstart>
            <dtend>20250909T135000</dtend>
            <duration>0.02000</duration>
            <summary>Python in the Embedded Computing World</summary>
            <description>Using Python in embedded products brings all the goodness of the Python ecosystem into the development process, which results in faster development cycle and the use of the huge Python ecosystem. However, embedded computing devices are different in some respects from server or desktop applications. In this talk, I&#x27;ll cover some of the challenges I was facing while developing a Python-based embedded device in the last years. Among them are:
- What Python can and can&#x27;t do in an embedded system
- Cross compiling of Python and its modules
- Controlling dependencies
- Understanding system constraints
- Micropython and it use cases</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/8QKMYP/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Avishay Orpaz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7RPQL9@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7RPQL9</pentabarf:event-slug>
            <pentabarf:title>Breaking Python’s Speed Limits with FFI and asyncio</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T140000</dtstart>
            <dtend>20250909T142000</dtend>
            <duration>0.02000</duration>
            <summary>Breaking Python’s Speed Limits with FFI and asyncio</summary>
            <description>We’ll begin by discussing a common challenge in Python apps—how to achieve high performance, particularly for I/O-heavy or async workloads, without abandoning the ecosystem. Then, we’ll dive into how we built key parts of a Valkey client to take advantage of asyncio powerful concurrency model while using FFI to offload key performance-sensitive tasks to native code. We’ll show profiling before and after, walk through code samples, and share lessons on safely mixing Python with lower-level languages. Finally, we&#x27;ll explore how these patterns can generalize to other async Python projects.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/7RPQL9/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Asaf porat Stoler</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WQGCWC@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WQGCWC</pentabarf:event-slug>
            <pentabarf:title>How to get Foreign Keys Horribly Wrong in Django</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T150000</dtstart>
            <dtend>20250909T152000</dtend>
            <duration>0.02000</duration>
            <summary>How to get Foreign Keys Horribly Wrong in Django</summary>
            <description>Not many know this, but Foreign Keys in Django has a lot more then meets the eye! In this talk we&#x27;ll build a small Django app together and tackle many issues related to Foreign Keys in the process. We&#x27;ll talk about indexes, safe migrations, concurrency and performance. We&#x27;ll also explore some of Django&#x27;s implicit behaviors and discuss when and how we can do better!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/WQGCWC/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Haki Benita</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ERFHVU@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ERFHVU</pentabarf:event-slug>
            <pentabarf:title>I made all of my Python tooling super-fast without rewriting in Rust</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T153000</dtstart>
            <dtend>20250909T155000</dtend>
            <duration>0.02000</duration>
            <summary>I made all of my Python tooling super-fast without rewriting in Rust</summary>
            <description>I use git pre-commit hooks for code formatting and linting rules. When making many small commits, and sometimes when rebasing branches, I found that these pre-commit hooks were slowing me down. I&#x27;ve learned that these kind of annoyances must be removed in order to promote what I consider a positive behavior (making many small commits) rather than discouraging it. So down the rabbit hole I went!

In this talk I&#x27;ll describe:
* My journey for fast Python dev tooling, including surprising twists such as parsing open-source licenses with Golang;
* How I came to build something new, generic and quite unique;
* Potential future applications of this tech and general approach.

Join me for an unusual technical story - I promise you&#x27;ll learn something new!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/ERFHVU/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Tal Einat</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>9QU3YQ@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-9QU3YQ</pentabarf:event-slug>
            <pentabarf:title>Lightning Talks</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T160000</dtstart>
            <dtend>20250909T164500</dtend>
            <duration>0.04500</duration>
            <summary>Lightning Talks</summary>
            <description>**The Ben Bot – Using Python &amp; AI to Clone Myself for Seamless Knowledge Transfer**
*Ben Zagagy*
With Python and LLMs, I automated docs, diagrams, and planning - turning years of knowledge into a smooth, scalable handover so my successor could step in easily.

-----

**You Can Build Python Code with Bazel (and Why You Might Actually Want To)**
*Ohad Ravid*
Python&#x27;s tooling is improving, but scaling projects remains challenging. See how Bazel helps you build faster and ship with confidence.
Presentatoin will appear in Ohad&#x27;s [Blog](https://ohadravid.github.io/)

-----

**Zen and the Art of Breaking Chatbots**
*Aviv Vromen*
A tale of a chatbot who lost its way, and what the Zen of Python has to say about it
Presentation to be posted in [Aviv&#x27;s LinkedIn](http://linkedin.com/in/avivv)

-----

**The Optimization Paradox: When &quot;Good Enough&quot; Beats Perfect**
*Sharon Rones-Makmal*
See links in [Sharon&#x27;s Link Tree](https://linktr.ee/sharon_rm_pycon_2025)

-----

**Write Less Code**
*Dor Schwartz*
Python&#x27;s nature makes boilerplating easy. Learn how to do more with less

-----

**A day in the life of a variable: when x met y  A Python love story**
*Moty Zer Kavod &amp; Ashley Stendel* 
Zipped then unpacked together with no prior familiarity - x and y go on a journey together. happily ever after?

-----

Organized by [*Gábor Szabó*](https://szabgab.com/) and [*Udi Oron*](https://www.linkedin.com/in/udioron)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talks Session</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/9QU3YQ/</url>
            <location>Main Hall (30)</location>
            
            <attendee>Ben Zagagy</attendee>
            
            <attendee>Sharon Rones-Makmal</attendee>
            
            <attendee>Ohad Ravid</attendee>
            
            <attendee>Dor Schwartz</attendee>
            
            <attendee>Aviv Vromen</attendee>
            
            <attendee>Moty Zer-Kavod</attendee>
            
            <attendee>Ashley Stendel</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>89XQZ7@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-89XQZ7</pentabarf:event-slug>
            <pentabarf:title>Efficiently Fine-Tuning Small Language Models with Python in 2025</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T110000</dtstart>
            <dtend>20250909T112000</dtend>
            <duration>0.02000</duration>
            <summary>Efficiently Fine-Tuning Small Language Models with Python in 2025</summary>
            <description>This 20‑minute session balances practical code snippets with strategic insights. We’ll look at:
- Why teams are shifting from large, general-purpose LLMs to small, specialized ones
- The key ingredients for efficient fine-tuning: QLoRA and high-quality datasets
- How Python tools like Axolotl, PEFT, Accelerate, and HuggingFace Transformers make fine-tuning accessible and reproducible
- A real-world case study: fine-tuning LLaMA‑1B to outperform GPT‑4 on a classification task

By the end, you’ll understand where fine-tuned SLMs fit in the landscape of AI development, how they can deliver cost‑effective accuracy, and what steps you can take to bring them into your own projects.

No prior ML expertise is required—just Python familiarity and curiosity about building smarter, faster, and more private AI systems.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/89XQZ7/</url>
            <location>Hall 7</location>
            
            <attendee>Sigal Shaked</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UXYNBQ@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UXYNBQ</pentabarf:event-slug>
            <pentabarf:title>Blazing Fast Data Processing in Your Browser with Python &amp; WebAssembly</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T113000</dtstart>
            <dtend>20250909T115000</dtend>
            <duration>0.02000</duration>
            <summary>Blazing Fast Data Processing in Your Browser with Python &amp; WebAssembly</summary>
            <description>Discover a game-changing approach to web performance! Learn how to leverage Python (compiled to WebAssembly) to process large datasets directly in the browser with incredible speed. We&#x27;ll walk through a practical use case involving CSV data and compare the performance gains against standard JavaScript implementations. Get ready to unlock new possibilities for data-intensive web applications.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/UXYNBQ/</url>
            <location>Hall 7</location>
            
            <attendee>Oren Efraim</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>PFHHHW@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-PFHHHW</pentabarf:event-slug>
            <pentabarf:title>How I Failed to Build My WhatsApp Agent - But Learned to Love the Challenge</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T130000</dtstart>
            <dtend>20250909T132000</dtend>
            <duration>0.02000</duration>
            <summary>How I Failed to Build My WhatsApp Agent - But Learned to Love the Challenge</summary>
            <description>I was frustrated. All I wanted was to find my friends’ trusted recommendation for where to travel with the kids next weekend – buried somewhere in months of casual chatter in our local WhatsApp group. Google didn’t help, ChatGPT didn’t know, and re-asking the group felt silly. I needed something smarter – an agent that could surface what my people had already shared, no matter when or how casually they’d mentioned it.
That simple desire turned into a late-night obsession – a personal Python project that blended everything I knew about data science with the messy, unfamiliar world I was eager to explore: backend logic, interfaces, system design and bending tools until they (mostly) did what I needed. Because let’s face it, it’s never just about embeddings and clever semantic search algorithms, right? In trying to build the perfect WhatsApp agent, I discovered something even more valuable: how passion projects can surprise us, stretch us, and quietly reshape what we think we’re capable of.
In this talk, I’ll share my personal project journey – what I built, what broke, what it taught me, and why sometimes failure is the best teacher. You’ll leave with practical tools and fresh inspiration to start your own side project, the one born from your everyday frustration and can solve a real problem you care about.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/PFHHHW/</url>
            <location>Hall 7</location>
            
            <attendee>Shirli Di Castro Shashua</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BZXFBL@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BZXFBL</pentabarf:event-slug>
            <pentabarf:title>Learning How to Learn in the AI Era (Using Agents as a Use Case)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T133000</dtstart>
            <dtend>20250909T135000</dtend>
            <duration>0.02000</duration>
            <summary>Learning How to Learn in the AI Era (Using Agents as a Use Case)</summary>
            <description>In today&#x27;s fast-evolving AI landscape, one of the biggest challenges isn&#x27;t just learning what to build—but how to learn to build. In this talk, we&#x27;ll share our journey of learning how to learn in the world of AI, focusing on understanding the right concepts before jumping into implementation.

We’ll explore how focusing on learning theory and concepts, combining using AI tools and a few good prompts - can help developers navigate the growing AI ecosystem more effectively.

Using Agents as our main use case, we&#x27;ll walk through how we took an early prototype written in a simple notebook and scaled it into a production-grade code, based on LangChain’s LangGraph framework, wrapping it all up with a ready-made UI using Streamlit – all done fast and simple using Cursor.

Whether you&#x27;re just starting your AI journey or trying to bring structure to your experimental projects, this talk will give you a clear view of the critical skills and concepts that can help you scale your ideas—with agents as a practical and exciting example.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/BZXFBL/</url>
            <location>Hall 7</location>
            
            <attendee>Ortal Ashkenazi</attendee>
            
            <attendee>Mor Hananovitz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>A3H7FS@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-A3H7FS</pentabarf:event-slug>
            <pentabarf:title>Wash, Dry, Analyze: Turning Dishwasher Logs into Clean Data</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T140000</dtstart>
            <dtend>20250909T142000</dtend>
            <duration>0.02000</duration>
            <summary>Wash, Dry, Analyze: Turning Dishwasher Logs into Clean Data</summary>
            <description>## Wash, Dry, Analyze: Turning Dishwasher Logs into Clean Data

**Abstract:**  
I set up a **controlled experiment** on my dishwasher to uncover what’s really happening with **energy and water use**—because designing experiments is half the fun, and **Python** makes the rest a breeze. In this session I’ll show how I:

- **Designed test cycles** and integrated `power and flow` sensors
- Used **pandas** to `import`, _clean, and flag anomalies_ in CSV logs  
- Applied descriptive stats (**mean**, **median**, **outliers**) to evaluate **energy**, **water**, and **cost**  
- Created clear, reproducible visualizations with **matplotlib**

The dishwasher was just an excuse to **dive into pandas**, and this talk is perfect for **beginners** eager to start their own data adventures.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/A3H7FS/</url>
            <location>Hall 7</location>
            
            <attendee>Dean Langsam</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LWQMBZ@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LWQMBZ</pentabarf:event-slug>
            <pentabarf:title>Private LLMs and RAG Pipelines in Python</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250909T150000</dtstart>
            <dtend>20250909T152000</dtend>
            <duration>0.02000</duration>
            <summary>Private LLMs and RAG Pipelines in Python</summary>
            <description>When our team wanted to use LLMs with RAG, we quickly hit a wall—sending sensitive data to the cloud wasn’t an option. Whether it&#x27;s business secrets, medical records, or legal documents, some data simply can’t leave a secure network. So, we had to build our own private AI pipeline.

In this talk, I’ll share how we set up a fully private LLM + RAG system using Python. We’ll dive into choosing efficient open-source models, setting up local vector databases, and making retrieval work in a resource-limited environment. Along the way, we’ll discuss trade-offs, optimizations, and how to squeeze the most out of smaller models without sacrificing too much intelligence.

By the end, you’ll have a clear road map for building your own secure AI pipeline—no cloud required!</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/LWQMBZ/</url>
            <location>Hall 7</location>
            
            <attendee>Yaacov Zamir</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>MMGU97@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-MMGU97</pentabarf:event-slug>
            <pentabarf:title>WTF Are Embeddings? A software engineer’s take</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20250909T153000</dtstart>
            <dtend>20250909T155000</dtend>
            <duration>0.02000</duration>
            <summary>WTF Are Embeddings? A software engineer’s take</summary>
            <description>Embeddings are behind the magic of modern AI — powering search, recommendations, and those eerily accurate chatbots. But what are they, really? In this talk, Liza — a regular software engineer, not a data science PhD — breaks it down in plain English using real examples, bad charts, and trusty science-y Python tools. If you’ve ever wondered how words, products, or even bananas become vectors in high-dimensional space, this is your crash course.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Regular Talk</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/MMGU97/</url>
            <location>Hall 7</location>
            
            <attendee>Liza Katz</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>89QRU7@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-89QRU7</pentabarf:event-slug>
            <pentabarf:title>Let&#x27;s Build an API Test Agent!</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250910T093000</dtstart>
            <dtend>20250910T123000</dtend>
            <duration>3.00000</duration>
            <summary>Let&#x27;s Build an API Test Agent!</summary>
            <description>Everybody&#x27;s talking about agents. Let&#x27;s stop talking and build one! And while we&#x27;re at it, make it useful! 

In this hands-on workshop, you&#x27;ll move beyond the buzz and build an AI-powered API Test Agent from scratch.

Our agent does a few things, with the aid of LLMs:

- Generate ideas for test cases for a list of APIs
- Prioritize which test cases to run first
- Generate the test code
- Run the tests
- Validate the response
- Report the results
 
By the end, you won’t just walk away with the knowledge of how to build an agent, you&#x27;ll have seriously leveled-up your API testing skills. 

So, let&#x27;s build your first agent, shall we?

The workshop is held in psychology building at reichman University in room 101</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>3-hour workshop</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/89QRU7/</url>
            <location>Reichman</location>
            
            <attendee>Gil Zilberfeld</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3R7GCG@@cfp.pycon.org.il</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3R7GCG</pentabarf:event-slug>
            <pentabarf:title>Testing Masterclass</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>he</pentabarf:language>
            <pentabarf:language-code>he</pentabarf:language-code>
            <dtstart>20250910T133000</dtstart>
            <dtend>20250910T163000</dtend>
            <duration>3.00000</duration>
            <summary>Testing Masterclass</summary>
            <description>Part I - xUnit tests
- lets write a test
- choosing good test cases
  - simple
  - independent
  - carve the problem space at the joints
  - hug the seams
- advanced features:
  - setup/teardown/fixture
  - parametrization
  - mocks
- putting it to practice
- war stories and design exercises
- things that are hard to test: UI, nondeterministic code

Part II - testing prompts with statistical tests (evaluations)
- lets use an LLM to process a freeform request
- how to think about &quot;correctness&quot;
- train/test split
- quality measures:
  - deterministic measurements
  - accuracy curve, false positives and false negatives
  - human as judge
  - strong LLM as judge
  - using a weak LLM to approximate confidence
- production monitoring

Part III - other approaches
- BDD
- FIT
- golden/snapshot testing
- exercise: tailoring a testing approach for a deterministic chatbot
- my own contribution to the field: bless tests
  - the basic technique
  - designing good harnesses
  - advanced blessing techniques
  - using it in a team
  - lessons learned applying it in the field
  - exercise: testing a complex algorithm with the blesstest library
- final design exercise

The workshop is held in psychology building at reichman University in room 101</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>3-hour workshop</category>
            <url>https://cfp.pycon.org.il/pycon-2025/talk/3R7GCG/</url>
            <location>Reichman</location>
            
            <attendee>Aur Saraf</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
