{"$schema": "https://c3voc.de/schedule/schema.json", "generator": {"name": "pretalx", "version": "2024.1.0"}, "schedule": {"url": "https://cfp.pycon.org.il/pycon-2025/schedule/", "version": "0.10", "base_url": "https://cfp.pycon.org.il", "conference": {"acronym": "pycon-2025", "title": "PyCon Israel 2025", "start": "2025-09-09", "end": "2025-09-10", "daysCount": 2, "timeslot_duration": "00:05", "time_zone_name": "Asia/Jerusalem", "colors": {"primary": "#3aa57c"}, "rooms": [{"name": "Hall 1", "guid": "d7975536-5f07-5e18-ba1a-8aca39cd2c1f", "description": null, "capacity": 250}, {"name": "Main Hall (30)", "guid": "3cb4aff3-8572-5c6f-a340-047fb01022c4", "description": null, "capacity": 900}, {"name": "Hall 7", "guid": "8c1e3b84-e71b-5423-9da0-5e73f826a4a5", "description": null, "capacity": 250}, {"name": "Reichman", "guid": "c8b8b8d4-8d9b-5a53-bc90-42e707e71b83", "description": "For Wednesday workshops: Seminar room 101, Psychology building, Reichman University", "capacity": 25}], "tracks": [{"name": "General", "color": "#3632D6"}, {"name": "DB, Big Data, Data Science, AI/ML", "color": "#3EF265"}, {"name": "Security", "color": "#E00A0A"}, {"name": "Devops/Test Automation", "color": "#E3E73D"}, {"name": "Other", "color": "#F0BCA5"}], "days": [{"index": 1, "date": "2025-09-09", "day_start": "2025-09-09T04:00:00+03:00", "day_end": "2025-09-10T03:59:00+03:00", "rooms": {"Hall 1": [{"url": "https://cfp.pycon.org.il/pycon-2025/talk/XQLDWE/", "id": 1084, "guid": "aaf5d550-0f59-5c95-acdd-97c16b02c3f3", "date": "2025-09-09T11:00:00+03:00", "start": "11:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1084-let-your-pipeline-bloom-fast-python-with-filters-caches-and-low-memory-footprint", "title": "Let Your Pipeline Bloom: Fast Python with Filters, Caches, and Low Memory Footprint", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Speed up your pipelines by doing less! We\u2019ll explore memory efficient caching, filtering, and take a deep dive into the often-overlooked Bloom filter \u2014 with practical examples to avoid unnecessary IO and computation.", "description": "Python has become powerful, but data pipelines, workloads, and API servers often suffer from unnecessary IO and redundant computation that slow things down.\r\n\r\nIn this talk, we\u2019ll explore two essential techniques to speed up workloads by doing less: caching and filtering\u2014and how to implement them efficiently, with relatively low memory overhead, along with real-world use cases where these techniques made an impact.\r\n\r\nWe\u2019ll also take a closer look at an often overlooked and misunderstood tool: the Bloom filter. You\u2019ll learn how it works, when it\u2019s useful (and when it\u2019s not), and how it helps you maintain a low memory footprint while effectively avoiding unnecessary database queries, API calls, or heavy computation\u2014before they even happen.\r\n\r\nWhether you'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.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "39a27671-e15f-50f0-acb0-5b18e4d23f4d", "id": 1152, "code": "X7RTJN", "public_name": "Ofek Tikotzky", "avatar": "https://cfp.pycon.org.il/media/avatars/Image_from_iOS_Wf9i5dG.jpg", "biography": "Former hardware hacker turned Python enthusiast, I\u2019ve worked as a programmable hardware engineer and security researcher. Today, I\u2019m a software engineering team lead at the Hexagate team in Chainalysis, developing a real-time high-scale system that\u2019s based on a distributed micro-service architecture.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/GDQ3FL/", "id": 1107, "guid": "e7398044-5860-5079-a934-bfe43bb1f7c5", "date": "2025-09-09T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1107-beyond-constants-mastering-python-enums", "title": "Beyond constants: Mastering Python enums", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Explore advanced enum usage in Python: define methods, attach metadata, and create enums dynamically. Learn the benefits and pitfalls of the enum singleton to write more expressive and maintainable code.", "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.\r\nFrom 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.\r\nIn this talk, I\u2019ll share these techniques, their advantages, and the subtle pitfalls to watch out for when using a singleton data structure.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "189827d9-1c92-55ff-b20d-711654635601", "id": 1068, "code": "WZNTBH", "public_name": "Tsvi Mostovicz", "avatar": "https://cfp.pycon.org.il/media/avatars/85b84199deecc1b8b009ce9af09fdc82_3CYSrnk.jpg", "biography": "Tsvi Mostovicz is a senior verification engineer who enjoys writing Python that's both practical and expressive. He maintains the Jewish calendar integration in Home Assistant, provides syntax support for the Specman language, and enjoys exploring Python features that make code cleaner and more maintainable.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/FWYYZB/", "id": 1138, "guid": "c2b384a9-f01a-521a-9170-df5291df9ba6", "date": "2025-09-09T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1138-code-reloading-challanges-approaches-libraries", "title": "Code reloading: challanges, approaches & libraries", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Code reloading is fun! Python's semantics for `def`, `class` complicate it. There are multiple approaches and multiple libraries; I don't think any is one-size-fits-all. This talk will teach you how they work to make informed choice for _your_ code.", "description": "Edit->reload cycle on running software may be more fun & productive than exiting and losing state.\r\nPython'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.\r\n- What `importlib.reload()` does and does not.\r\n- Copied references: `from ... import ...`, instances, callbacks & closures, etc.\r\n- => Recording what-imported-what dependency graph.\r\n- => Patching classes/functions in-place vs. Updating references? Limitations.\r\n- A secret weapon: `gc.get_referrers()`\r\n- What IPython's `%autoreload`, `jurigged`, `limeade` do?\r\n- Renames/deletions.  Problem of intent.  => jurigged AST diffing?!\r\n- Top-level code, singletons, derived values.  => Hard. Idempotent `try: except NameError:` style.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d88a9e4c-6fe0-5815-b0bd-fbd334f713b3", "id": 1177, "code": "MCQ9XQ", "public_name": "Beni Cherniavsky-Paskin", "avatar": "https://cfp.pycon.org.il/media/avatars/Screenshot_From_2025-07-13_19-55-21_txCQcJa.png", "biography": "Worked in Python, JS, Ruby, Go and more; nostalgic for Forth, Spreadsheets, Lisp Machines, Boxer.  \r\nBelieve in FOSS as just the starting point of wider unsolved problem of making software transparent to, and modifiable by, end users.  Love interpreters that you can peek & poke at runtime.  \r\nFor now ignorant about AI; interested in human cognition & learning.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/UGA3L3/", "id": 1175, "guid": "e39c0c68-82d3-5cb0-a253-f9a169066272", "date": "2025-09-09T13:30:00+03:00", "start": "13:30", "logo": "https://cfp.pycon.org.il/media/pycon-2025/submissions/UGA3L3/decorators_in_python_banner_jKqakEs.jpg", "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1175-decorators-in-python-powerful-patterns-practical-uses", "title": "Decorators in Python: Powerful Patterns & Practical Uses", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Decorators are one of the most powerful and expressive features in Python, yet they can be confusing for many developers. In this talk, we\u2019ll demystify decorators by exploring how they work, how to write them, and how to use them effectively.", "description": "This talk is designed for intermediate Python developers who want to take their skills to the next level by mastering one of Python\u2019s most versatile features: decorators.\r\n\r\nWe\u2019ll begin by revisiting the concept of functions as first-class objects, which sets the foundation for understanding how decorators operate. From there, we\u2019ll walk through writing simple decorators, then progress to more advanced topics such as:\r\n+ Decorators with arguments\r\n+ Stacking multiple decorators\r\n+ Class-based decorators\r\n+ Decorators applied to methods and classes\r\n\r\nReal-world examples will highlight how decorators are used in real-world applications, such as web development, logging, access control, and benchmarking.\r\n\r\nAttendees 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.\r\n\r\nThis talk can be delivered in Hebrew (my mother tongue) and English.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "434ed393-4a46-54f2-9f42-0ff7956dd261", "id": 1149, "code": "J7LR3D", "public_name": "Haim Michael", "avatar": "https://cfp.pycon.org.il/media/avatars/haim_pix_400_400_QTBrPMk.jpg", "biography": "Haim Michael started coding when he was 8 years old. During the years 2001 \u2013 2007, Haim led the development of more than 200 applications and games for mobile telephones, together with their complementary server-side applications. Haim focuses on programming languages, and his rich knowledge and experience in Java programming span more than 25 years. Haim is a PHP Zend Certified Engineer, OMG-Certified UML Professional, Certified Java Professional, and a Certified Java EE Web Components Developer. In addition, Haim Michael holds an MBA (cum-laude) from Tel Aviv University.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/WCEA77/", "id": 1121, "guid": "24a4d0b3-b921-53c5-86bc-5d9f57082595", "date": "2025-09-09T14:00:00+03:00", "start": "14:00", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1121-durable-python-running-reliable-workflows-on-unreliable-infrastructure", "title": "Durable Python: Running Reliable Workflows on Unreliable Infrastructure", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Servers crash, containers restart, and services fail. This talk introduces Durable Python: a way to make workflows survive infrastructure failures, crucial for distributed systems, using AST tricks and durable execution platforms.", "description": "Modern Python workflows are more distributed than ever: orchestrating APIs, cloud services, microservices, and databases across environments where infrastructure is not always reliable.\r\n 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.\r\n\r\nDurable 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.\r\nThis talk will cover:\r\nWhy infrastructure failures are inevitable \u2014 and why Python needs built-in durability to handle them.\r\n\r\n\r\nThe core principles of durable execution: state persistence, fault recovery, and reliable orchestration.\r\n\r\nPractical examples and patterns for introducing durability into real-world Python automations, including CI pipelines, DevOps processes, microservice orchestration, and long-running AI agents.\r\n\r\nHow Durable Python works under the hood \u2014 leveraging durable execution platforms, transforming Python's AST, converting non-deterministic calls into trackable activities (like automatic checkpoints), and orchestrating everything seamlessly.\r\n\r\n\r\nWe\u2019ll also live-demo a long-running Python workflow, simulate real infrastructure failures, and show the process resuming exactly where it left off \u2014 without re-executing completed steps or losing state.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "3a2ed7c8-6be9-54fb-a4fe-9e79a04f4693", "id": 1089, "code": "7HLHD9", "public_name": "Haim Zlatokrilov", "avatar": "https://cfp.pycon.org.il/media/avatars/Haim_head2-1_PzXkm0t.JPG", "biography": "A co-founder and CEO of AutoKitteh. Prior to that, he had been leading product management for cyber security and telecommunication companies. He earned his Ph.D. in computer science from Tel-Aviv University in the field of computer networks.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/AEZ3NY/", "id": 1128, "guid": "dda617e5-b6aa-5db0-a27c-04dce34b58f4", "date": "2025-09-09T15:00:00+03:00", "start": "15:00", "logo": "https://cfp.pycon.org.il/media/pycon-2025/submissions/AEZ3NY/robot1_5SeBjsX.png", "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1128-lazy-freeze-another-look-at-hashing-and-immutability", "title": "Lazy-Freeze: Another Look at Hashing and Immutability", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "A new technique is presented where objects turn immutable upon first hash calculation. This approach enables convenient mutability up until the object is used as a dict-key or set-item, without compromising on safety beyond that point.", "description": "Python'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'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.\r\n\r\nThis talk introduces the \"Lazy-Freeze\" 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.\r\n\r\nWe'll introduce an implementation mainly using Python's __hash__ and __setattr__ magic methods, discuss examples and performance implications, and explore some sharp corners.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "66cec4fc-62ae-5faa-b716-beee7c53dc04", "id": 1169, "code": "VZHG7Y", "public_name": "Ofek Shilon", "avatar": "https://cfp.pycon.org.il/media/avatars/profpic_6XDaXto.png", "biography": "Developer of 20Y+, fiercely hated by his cat for no apparent reason.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/DTFFQE/", "id": 1188, "guid": "ffe198db-2f4f-5a03-be2a-96b9584cde7a", "date": "2025-09-09T15:30:00+03:00", "start": "15:30", "logo": null, "duration": "00:20", "room": "Hall 1", "slug": "pycon-2025-1188-beyond-the-gil-python-s-journey-to-free-threading", "title": "Beyond the GIL: Python\u2019s Journey to Free Threading", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Explore Python\u2019s groundbreaking shift beyond the Global Interpreter Lock (GIL). Understand the design tradeoffs, challenges, and performance impacts of running Python without the GIL.", "description": "The Global Interpreter Lock (GIL) has been a key part of Python'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.\r\n\r\nIn this talk, we'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\u2019ll compare execution with and without the GIL through examples and benchmarks, and discuss the potential impact on Python developers and the ecosystem.\r\n\r\nWhether you\u2019re interested in Python\u2019s internals, concurrency, or its evolving design, this session will provide a concise and practical overview of one of Python\u2019s most significant updates.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "e5dbed79-9eab-5fdf-8565-d5136cd66f79", "id": 867, "code": "NABLHP", "public_name": "Yonatan Bitton", "avatar": "https://cfp.pycon.org.il/media/avatars/yonatan_bitton_profile_pic_2025_bzDuOQr.png", "biography": "Yonatan Bitton, is a Principal Software Engineer at Fortinet with over 12 years of experience in software development. Passionate about tackling challenging coding problems, debugging, and exploring the intricacies of code, he strives to deeply understand the tools and technologies he uses.", "answers": []}], "links": [], "attachments": [], "answers": []}], "Main Hall (30)": [{"url": "https://cfp.pycon.org.il/pycon-2025/talk/CR9B8C/", "id": 1198, "guid": "2c02eafa-9c83-5349-b10d-1d6f37519676", "date": "2025-09-09T10:00:00+03:00", "start": "10:00", "logo": null, "duration": "00:45", "room": "Main Hall (30)", "slug": "pycon-2025-1198-agents-autonomy-and-the-edge-of-illusion", "title": "Agents, Autonomy, and the Edge of Illusion", "subtitle": "", "track": null, "type": "Keynote", "language": "en", "abstract": "see description", "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.\r\nThis 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\u2019ll unpack the myths, highlight common traps, and share practical tools and evaluation techniques for building agents that are genuinely useful.\r\nFinally, we\u2019ll 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.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "01fa63f1-b3bb-5843-8edb-48814c69f5cd", "id": 836, "code": "8RTZDC", "public_name": "Shir Chorev", "avatar": "https://cfp.pycon.org.il/media/avatars/Shir_Chorev_Headshot_GeOH4wj.jpg", "biography": "Shir is the co-founder and CTO of Deepchecks, a startup for evaluation and continuous validation of AI-based applications. Previously, Shir worked at the Prime Minister\u2019s Office and at Unit 8200, leading research in various Machine Learning and Cyber related problems. Shir has a B.Sc. in Physics from the Hebrew University, which she obtained as part of the Talpiot excellence program, and an M.Sc. in Electrical Engineering from Tel Aviv University. Shir was a featured honoree in the Forbes Europe 30 Under 30 list.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/PGEA3F/", "id": 1163, "guid": "247699a4-8909-5d16-a7b2-099c94299ce5", "date": "2025-09-09T11:00:00+03:00", "start": "11:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1163-how-not-to-use-cryptography-in-your-code-", "title": "How (NOT) to use Cryptography in your code.", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Securing application is often done using cryptography, but if you don't do it right, it may be broken and you wouldn't even know it.  Learn the common cryptographic mistakes in Python and how to fix them using safe practices.", "description": "Implementing cryptography is like handling a loaded weapon \u2014 powerful, but dangerous in the wrong hands. In this talk, we\u2019ll 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\u2019ll walk through the most common (and often subtle) mistakes developers make. We\u2019ll 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 \u2014 or at least know when to call in an expert.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "f88259bd-3d5c-5fc2-a436-796597a8c1e1", "id": 955, "code": "N7TEQU", "public_name": "Erez Waisbard", "avatar": "https://cfp.pycon.org.il/media/DALLE_hoodie.png", "biography": "Dr. Erez Waisbard - Principal Technology Researcher at CyberArk\r\n\r\nErez Waisbard received his Ph.D. degrees in computer science from Bar-Ilan University and his M.Sc. from The Weizmann Institute of Science.\r\nHe has over 25 years of industry experience in security and networks, designing and implementing systems at Lucent, Cisco, NDS and Nokia Bell Labs.\r\nHe is currently a Principal Technology Researcher at CyberArk and a faculty member at the Open University, Israel in the Dept. of Mathematics and Computer Science.\r\nHis research interests include cryptography, security, privacy, networked systems, and algorithms.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/WZDPTD/", "id": 1195, "guid": "e437f131-19eb-5b74-bc68-925a7f651ed1", "date": "2025-09-09T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1195-giving-voice-to-a-raven-audio-analysis-and-servo-control-with-python", "title": "Giving Voice to a Raven: Audio Analysis and Servo Control with Python", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "What if sound could drive movement? This talk introduces a Python-based program I developed that transforms audio into motion patterns - built for animatronics, optimized for embedded devices, and demonstrated through a raven named Samuel.", "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'll explore how I built a Python-powered audio analysis system that brings Samuel, my interactive animatronic raven, to life. The goal wasn\u2019t just to react to sound, but to create believable, nuanced motion driven by real audio data.\r\n\r\nThe 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.\r\n\r\nUsing 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.\r\n\r\nWe'll dive into:\r\n - Audio signal analysis with librosa (RMS, STFT, clustering).\r\n - Generating servo-ready binary movement patterns from raw audio.\r\n - Designing variability through randomized motion mapping.\r\n - Visualizing sound energy.\r\n - Controlling servos in real time using Python and Raspberry Pi.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4d90dfcf-9bb8-5365-a2e0-3d9386e3b5ed", "id": 850, "code": "CYKFBX", "public_name": "Anat Wax", "avatar": "https://cfp.pycon.org.il/media/%D7%AA%D7%93%D7%9E%D7%99%D7%AA359%D7%A4%D7%A0%D7%99%D7%9D.jpg", "biography": "Anat Wax is an automation developer at Red Hat, a Python enthusiast, and a lifelong maker. With a background in musicology and a passion for robotics, she enjoys building creative projects that bring code to life - often with personality, art and movement.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/WDCXQM/", "id": 1106, "guid": "644f7103-cfdd-501d-95e6-fc664b2b4474", "date": "2025-09-09T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1106-asyncio-exposed-beyond-the-happy-path", "title": "asyncio Exposed: Beyond the Happy Path", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "We all use asyncio, but not everyone truly understand what happens behind the await. \r\n\r\nIn this talk, we\u2019ll dive into advanced patterns, real-world pitfalls, and debugging strategies for developers who want to move beyond the basics.", "description": "We all use asyncio - but let\u2019s be real: how many of us actually understand what\u2019s happening behind the scenes when we await something?\r\n\r\nThe moment you step off the happy path - into timeouts, cancellations, and juggling dozens of async tasks - things get a little chaotic, fast.\r\n\r\nThis talk is a deep dive into the corners of asyncio most of us don\u2019t look at until something breaks.\r\nWe\u2019ll unpack what really happens behind await, how to manage task lifecycles and what to do when your app just\u2026stops.\r\nWe\u2019ll explore advanced patterns, sneaky bugs, and practical tools to help you trace and debug what your async code is actually doing.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d0f21bcf-3543-591f-a3a2-14f295cf16ff", "id": 1156, "code": "B7WQNR", "public_name": "Michal Hershkovitz", "avatar": "https://cfp.pycon.org.il/media/avatars/RT-7445_6KGeUzQ.jpeg", "biography": "I'm a backend developer with over six years of experience, passionate about the startup world and the challenges that come with its rapid changes.\r\n\r\nA few months ago, I founded TechGym, a program for seniors, with the goal of creating weekly sessions to stay technology fit.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/8QKMYP/", "id": 1135, "guid": "c059b615-57d1-5c8f-9fbc-508b5428e835", "date": "2025-09-09T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1135-python-in-the-embedded-computing-world", "title": "Python in the Embedded Computing World", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Python is a very popular language in the server and in the desktop, but we can also enjoy its benefits in the embedded computing world. We will cover some unique challenges we're facing when implementing Python in an embedded product.", "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'll cover some of the challenges I was facing while developing a Python-based embedded device in the last years. Among them are:\r\n- What Python can and can't do in an embedded system\r\n- Cross compiling of Python and its modules\r\n- Controlling dependencies\r\n- Understanding system constraints\r\n- Micropython and it use cases", "recording_license": "", "do_not_record": false, "persons": [{"guid": "5587b406-0ff5-5fdd-ae17-714997ecf5a2", "id": 942, "code": "KYKJR3", "public_name": "Avishay Orpaz", "avatar": "https://cfp.pycon.org.il/media/avatars/a232a2504ca4316536e4c904be66370b_R2YIp9c.jpg", "biography": "I'm a software engineer at Magos Systems, a company that designs and manufactures Radar for the civil sector. By education, I hold a Bachelor degree from the Technion and M.A from Tel Aviv University, both in Electrical Engineering. I've been in the tech industry for more almost two decades serving as a design engineer in various areas from hardware, through FPGA and software.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/7RPQL9/", "id": 1184, "guid": "404f0d0b-eba6-5b8f-b1e7-71333c5595e8", "date": "2025-09-09T14:00:00+03:00", "start": "14:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1184-breaking-python-s-speed-limits-with-ffi-and-asyncio", "title": "Breaking Python\u2019s Speed Limits with FFI and asyncio", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Want to build faster Python apps without ditching Python? This talk shares how we supercharged a Python Valkey/Redis client by combining the power of asyncio with native speed via FFI.", "description": "We\u2019ll begin by discussing a common challenge in Python apps\u2014how to achieve high performance, particularly for I/O-heavy or async workloads, without abandoning the ecosystem. Then, we\u2019ll 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\u2019ll show profiling before and after, walk through code samples, and share lessons on safely mixing Python with lower-level languages. Finally, we'll explore how these patterns can generalize to other async Python projects.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "f8e65bfc-53b0-582c-9183-81fc997dcb0f", "id": 1192, "code": "CG3PM8", "public_name": "Asaf porat Stoler", "avatar": "https://cfp.pycon.org.il/media/avatars/asaf_blog2_IkueePW.jpg", "biography": "Over the past 5 years at AWS ElastiCache, I\u2019ve been responsible for performance evaluation of Redis/Valkey and serverless offerings, developing automation tools for performance qualification and monitoring. I also lead the Valkey-glide open-source initiative, focused on building the best Valkey client. This work has given me deep experience with Python, especially in high-performance and async contexts. I\u2019ve collaborated with open-source communities on Python client libraries, and I'm passionate about pushing the boundaries of Python performance.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/WQGCWC/", "id": 1148, "guid": "ba411d27-0cd6-5959-9b87-e5c5777c537a", "date": "2025-09-09T15:00:00+03:00", "start": "15:00", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1148-1-how-to-get-foreign-keys-horribly-wrong-in-django", "title": "How to get Foreign Keys Horribly Wrong in Django", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "In this talk I present some lesser known gotchas and implicit behaviors of Foreign Keys in Django. We'll talk on what you need to pay attention to when defining FKs, how to change FKs w/o bringing your system to a halt and how to optimize for space,", "description": "Not many know this, but Foreign Keys in Django has a lot more then meets the eye! In this talk we'll build a small Django app together and tackle many issues related to Foreign Keys in the process. We'll talk about indexes, safe migrations, concurrency and performance. We'll also explore some of Django's implicit behaviors and discuss when and how we can do better!", "recording_license": "", "do_not_record": false, "persons": [{"guid": "6e53e03e-a417-55be-b357-0de6ca039b4e", "id": 123, "code": "S37DEW", "public_name": "Haki Benita", "avatar": "https://cfp.pycon.org.il/media/haki-benita.png", "biography": "Software developer and a technical lead. I take special interest in databases, web development, software design and performance tuning. More at https://hakibenita.com", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/ERFHVU/", "id": 1169, "guid": "1048a962-4edc-59eb-bf02-777b94c83734", "date": "2025-09-09T15:30:00+03:00", "start": "15:30", "logo": null, "duration": "00:20", "room": "Main Hall (30)", "slug": "pycon-2025-1169-i-made-all-of-my-python-tooling-super-fast-without-rewriting-in-rust", "title": "I made all of my Python tooling super-fast without rewriting in Rust", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Lots of Python dev tooling is written in Python, such as black and mypy. But these tools are not as fast as I'd like for a streamlined workflow. I created a generic way to make all of my existing tooling much faster.", "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'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!\r\n\r\nIn this talk I'll describe:\r\n* My journey for fast Python dev tooling, including surprising twists such as parsing open-source licenses with Golang;\r\n* How I came to build something new, generic and quite unique;\r\n* Potential future applications of this tech and general approach.\r\n\r\nJoin me for an unusual technical story - I promise you'll learn something new!", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4f10a904-6fae-5dc0-a659-1e87660b2574", "id": 118, "code": "LMQMPN", "public_name": "Tal Einat", "avatar": "https://cfp.pycon.org.il/media/me_square.jpg", "biography": null, "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/9QU3YQ/", "id": 1199, "guid": "94eb6f22-3087-5419-b6c0-d3a58b944246", "date": "2025-09-09T16:00:00+03:00", "start": "16:00", "logo": null, "duration": "00:45", "room": "Main Hall (30)", "slug": "pycon-2025-1199-lightning-talks", "title": "Lightning Talks", "subtitle": "", "track": null, "type": "Lightning Talks Session", "language": "en", "abstract": "A rapid series of 5-minute talks where each speaker shares one clear idea, keeping it short, focused, and engaging.", "description": "**The Ben Bot \u2013 Using Python & AI to Clone Myself for Seamless Knowledge Transfer**\r\n*Ben Zagagy*\r\nWith 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.\r\n\r\n-----\r\n\r\n**You Can Build Python Code with Bazel (and Why You Might Actually Want To)**\r\n*Ohad Ravid*\r\nPython's tooling is improving, but scaling projects remains challenging. See how Bazel helps you build faster and ship with confidence.\r\nPresentatoin will appear in Ohad's [Blog](https://ohadravid.github.io/)\r\n\r\n-----\r\n\r\n**Zen and the Art of Breaking Chatbots**\r\n*Aviv Vromen*\r\nA tale of a chatbot who lost its way, and what the Zen of Python has to say about it\r\nPresentation to be posted in [Aviv's LinkedIn](http://linkedin.com/in/avivv)\r\n\r\n-----\r\n\r\n**The Optimization Paradox: When \"Good Enough\" Beats Perfect**\r\n*Sharon Rones-Makmal*\r\nSee links in [Sharon's Link Tree](https://linktr.ee/sharon_rm_pycon_2025)\r\n\r\n-----\r\n\r\n**Write Less Code**\r\n*Dor Schwartz*\r\nPython's nature makes boilerplating easy. Learn how to do more with less\r\n\r\n-----\r\n\r\n**A day in the life of a variable: when x met y  A Python love story**\r\n*Moty Zer Kavod & Ashley Stendel* \r\nZipped then unpacked together with no prior familiarity - x and y go on a journey together. happily ever after?\r\n\r\n-----\r\n\r\nOrganized by [*G\u00e1bor Szab\u00f3*](https://szabgab.com/) and [*Udi Oron*](https://www.linkedin.com/in/udioron)", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4b75914a-7ad7-59c1-b618-fe2491413c6e", "id": 719, "code": "KJ9HPJ", "public_name": "Ben Zagagy", "avatar": "https://cfp.pycon.org.il/media/avatars/ben-from-slack_PAFtbca.png", "biography": "Solution Architect and Tech Lead with 17 years of experience building infrastructure and UI systems. Passionate about technology, communication, and driving teams to success.", "answers": []}, {"guid": "a1be23e4-e62a-5ab2-ba36-cc692f73d8d3", "id": 947, "code": "987QGN", "public_name": "Sharon Rones-Makmal", "avatar": "https://cfp.pycon.org.il/media/sharon-rones.jpg", "biography": "Engineer, Programmer, Explorer.\r\n10+ of experience as an Electrical & Electronics Engineer, with experience in various roles and fields.", "answers": []}, {"guid": "37b44914-5179-5d9d-8c20-3facad01ddc0", "id": 979, "code": "CYQCZA", "public_name": "Ohad Ravid", "avatar": "https://cfp.pycon.org.il/media/linkedin_profile_pic.jpeg", "biography": "I love building stuff, sushi and tea.\r\n\r\nI've been working in software for more than 15 years, in a lot of different areas (networking, backend, big data, frontend, embedded) and in a variety of languages (C, Python, TypeScript, Rust).", "answers": []}, {"guid": "d1c1194f-316a-522b-ae63-22e9127d8f59", "id": 1123, "code": "BX8JSH", "public_name": "Dor Schwartz", "avatar": null, "biography": "A Senior Software Engineer @ Palo Alto Networks, with a warm place in heart for clean code.", "answers": []}, {"guid": "c5bc4240-b91e-5ed5-9343-dd046e5ee1b5", "id": 1163, "code": "TRHLLG", "public_name": "Aviv Vromen", "avatar": "https://cfp.pycon.org.il/media/avatars/1731341868154_xEPRwpu.jpeg", "biography": "Senior ML Engineer at Bluevine. Passionate about AI, Python, and all things tech.", "answers": []}, {"guid": "1e866f36-a082-51e1-97f5-85e168cbcff5", "id": 1201, "code": "HHYXJP", "public_name": "Moty Zer-Kavod", "avatar": "https://cfp.pycon.org.il/media/avatars/1546541699453_c4fn5jo.jpeg", "biography": "Tech educator, people person. \r\nGiving Python & Git courses for bootcamps and tech companies, also CS lecturer @ RUNI.\r\nFormer SW dev for MLP, Mellanox, Intel.", "answers": []}, {"guid": "5acc3ed8-67c4-5a84-bdc1-75083dbbf29c", "id": 1202, "code": "CLUT7T", "public_name": "Ashley Stendel", "avatar": "https://cfp.pycon.org.il/media/avatars/ashley_pic_yzdXvtR.jpg", "biography": "Former Python developer and Team Lead @MLP", "answers": []}], "links": [], "attachments": [], "answers": []}], "Hall 7": [{"url": "https://cfp.pycon.org.il/pycon-2025/talk/89XQZ7/", "id": 1144, "guid": "69e57aab-738b-50c8-a365-a576472e1170", "date": "2025-09-09T11:00:00+03:00", "start": "11:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1144-efficiently-fine-tuning-small-language-models-with-python-in-2025", "title": "Efficiently Fine-Tuning Small Language Models with Python in 2025", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Small language models (SLMs) can outperform larger models on domain-specific tasks. This talk shows how Python tools enable state-of-the-art results with lightweight models, even on modest hardware.", "description": "This 20\u2011minute session balances practical code snippets with strategic insights. We\u2019ll look at:\r\n- Why teams are shifting from large, general-purpose LLMs to small, specialized ones\r\n- The key ingredients for efficient fine-tuning: QLoRA and high-quality datasets\r\n- How Python tools like Axolotl, PEFT, Accelerate, and HuggingFace Transformers make fine-tuning accessible and reproducible\r\n- A real-world case study: fine-tuning LLaMA\u20111B to outperform GPT\u20114 on a classification task\r\n\r\nBy the end, you\u2019ll understand where fine-tuned SLMs fit in the landscape of AI development, how they can deliver cost\u2011effective accuracy, and what steps you can take to bring them into your own projects.\r\n\r\nNo prior ML expertise is required\u2014just Python familiarity and curiosity about building smarter, faster, and more private AI systems.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "e25dda56-e4e2-5a05-88c3-a014e016b769", "id": 1090, "code": "YJXQLJ", "public_name": "Sigal Shaked", "avatar": "https://cfp.pycon.org.il/media/avatars/1IFGYVU5GJDCBOCZ_2F84wW2.jpeg", "biography": "With 20+ years in data, ML, and GenAI, I blend academic research with real-world innovation. After a PhD focused on early GenAI work, I led GenAI initiatives at Datomize and now build tailored Small Language Models at Datawizz. I'm a founder passionate about AI for good.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/UXYNBQ/", "id": 1080, "guid": "0e71f106-e083-5f57-8451-2dbeebf01e53", "date": "2025-09-09T11:30:00+03:00", "start": "11:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1080-blazing-fast-data-processing-in-your-browser-with-python-webassembly", "title": "Blazing Fast Data Processing in Your Browser with Python & WebAssembly", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Tired of slow web apps with big data? Learn how Python & WebAssembly dramatically speed up browser data tasks. See a live demo: processing a large CSV client-side with Python (via Pyodide) & Pandas/NumPy. Witness a performance comparison and more.", "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'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.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "d61d5491-7260-549f-a382-31979ceee2c5", "id": 1150, "code": "TLS9MY", "public_name": "Oren Efraim", "avatar": "https://cfp.pycon.org.il/media/avatars/WhatsApp_Image_2024-08-21_at_14.24.23_VKQL3D9.jpeg", "biography": "Tech Leader, Head of Backend Cloud Gilda at Check Point, and Community Leader of Node.js-IL. With extensive experience in backend development and cloud technologies, Oren specializes in cybersecurity and education. He combines technical expertise with a passion for fostering collaboration and innovation. Beyond his professional work, Oren mentors aspiring developers through the Magshimim Program, helping shape the next generation of tech professionals in Israel.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/PFHHHW/", "id": 1190, "guid": "4457ea06-3842-5f10-81a4-5edbbd49bf54", "date": "2025-09-09T13:00:00+03:00", "start": "13:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1190-how-i-failed-to-build-my-whatsapp-agent-but-learned-to-love-the-challenge", "title": "How I Failed to Build My WhatsApp Agent - But Learned to Love the Challenge", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "I tried to build a WhatsApp agent to find my friends\u2019 buried recommendations and tips - and failed spectacularly. But I learned more than I expected. This talk shares the journey, the tools, and why side projects are the best way to grow.", "description": "I was frustrated. All I wanted was to find my friends\u2019 trusted recommendation for where to travel with the kids next weekend \u2013 buried somewhere in months of casual chatter in our local WhatsApp group. Google didn\u2019t help, ChatGPT didn\u2019t know, and re-asking the group felt silly. I needed something smarter \u2013 an agent that could surface what my people had already shared, no matter when or how casually they\u2019d mentioned it.\r\nThat simple desire turned into a late-night obsession \u2013 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\u2019s face it, it\u2019s 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\u2019re capable of.\r\nIn this talk, I\u2019ll share my personal project journey \u2013 what I built, what broke, what it taught me, and why sometimes failure is the best teacher. You\u2019ll 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.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "55f603f7-d8e6-5bf4-bb01-30fa7984180e", "id": 1193, "code": "MBCJYJ", "public_name": "Shirli Di Castro Shashua", "avatar": "https://cfp.pycon.org.il/media/avatars/%D7%A9%D7%99%D7%A8%D7%9C%D7%99_-_%D7%AA%D7%9E%D7%95%D7%A0%D7%AA_%D7%A4%D7%A8%D7%95%D7%A4%D7%99%D7%9C_%D7%A4%D7%A1%D7%A4%D7%95%D7%A8%D7%98_Hr4Zz6J.png", "biography": "Shirli is a senior AI scientist at Intuit, where she brings cutting-edge innovation to life through generative models and agentic AI. Her areas of expertise span reinforcement learning, LLM training and evaluation, NLP, classical machine learning, and the design of intelligent agents.\r\nShirli holds a Ph.D. and M.Sc. in Electrical and Computer Engineering from the Technion, specializing in  Reinforcement Learning, and a B.Sc. in Biomedical Engineering from Ben Gurion University.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/BZXFBL/", "id": 1127, "guid": "063f07d6-037b-59f7-81d3-c8a0c0e98a55", "date": "2025-09-09T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1127-learning-how-to-learn-in-the-ai-era-using-agents-as-a-use-case-", "title": "Learning How to Learn in the AI Era (Using Agents as a Use Case)", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "Today, the key skill isn\u2019t mastering every line of code - it\u2019s keeping up. This talk shows how understanding core concepts, using AI tools, and writing effective prompts can accelerate learning and development in a fast-moving AI landscape.", "description": "In today's fast-evolving AI landscape, one of the biggest challenges isn't just learning what to build\u2014but how to learn to build. In this talk, we'll share our journey of learning how to learn in the world of AI, focusing on understanding the right concepts before jumping into implementation.\r\n\r\nWe\u2019ll 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.\r\n\r\nUsing Agents as our main use case, we'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\u2019s LangGraph framework, wrapping it all up with a ready-made UI using Streamlit \u2013 all done fast and simple using Cursor.\r\n\r\nWhether you'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\u2014with agents as a practical and exciting example.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "12a10d06-49e5-5ea8-90db-5f8b120eecd1", "id": 228, "code": "FFUHZF", "public_name": "Ortal Ashkenazi", "avatar": "https://cfp.pycon.org.il/media/avatars/20240224110053_IMG_0158_a4qidtx.JPG", "biography": "Ortal Ashkenazi is a Data Scientist at Wix, specializing in natural language processing and applied machine learning. She enjoys turning messy, human language into structured, useful insights \u2014 bridging the gap between raw data and real-world decisions. With an MSc from the Technion, she combines academic depth with hands-on product thinking to build AI tools that people actually use.", "answers": []}, {"guid": "22ea7597-71ac-530d-a03b-7ff116fec156", "id": 1168, "code": "SPJ8BX", "public_name": "Mor Hananovitz", "avatar": "https://cfp.pycon.org.il/media/avatars/%D7%9E%D7%95%D7%A8_Jrl7V4z.jpeg", "biography": "Data Science and Engineering Team Lead @ LSports, Lecturer at the Data Analytics program @ Hebrew University and WiDS Community manager.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/A3H7FS/", "id": 1185, "guid": "b94e22f7-9203-596f-865e-6549cd9b4d58", "date": "2025-09-09T14:00:00+03:00", "start": "14:00", "logo": "https://cfp.pycon.org.il/media/pycon-2025/submissions/A3H7FS/diswasher_chart_SVUu9jA.png", "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1185-wash-dry-analyze-turning-dishwasher-logs-into-clean-data", "title": "Wash, Dry, Analyze: Turning Dishwasher Logs into Clean Data", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Using simple, \u201cold-school\u201d logging, I recorded my dishwasher\u2019s energy and water use, then leveraged Python and pandas to clean, analyze, and visualize real-world data. A beginner-friendly dive into experiment design and data analysis.", "description": "## Wash, Dry, Analyze: Turning Dishwasher Logs into Clean Data\r\n\r\n**Abstract:**  \r\nI set up a **controlled experiment** on my dishwasher to uncover what\u2019s really happening with **energy and water use**\u2014because designing experiments is half the fun, and **Python** makes the rest a breeze. In this session I\u2019ll show how I:\r\n\r\n- **Designed test cycles** and integrated `power and flow` sensors\r\n- Used **pandas** to `import`, _clean, and flag anomalies_ in CSV logs  \r\n- Applied descriptive stats (**mean**, **median**, **outliers**) to evaluate **energy**, **water**, and **cost**  \r\n- Created clear, reproducible visualizations with **matplotlib**\r\n\r\nThe dishwasher was just an excuse to **dive into pandas**, and this talk is perfect for **beginners** eager to start their own data adventures.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "4f63d41f-6d32-5d88-8de0-a18e1ed4b65e", "id": 62, "code": "KATEPN", "public_name": "Dean Langsam", "avatar": "https://cfp.pycon.org.il/media/avatars/Cato_k7br6Xd.jpeg", "biography": "I'm a <b>data scientist at SentinelOne</b>, and I'm *passionate about the power of data* to drive insights and innovation.  My work centers around **machine and deep learning**.  I've spent years honing my skills in **Python scientific programming**.  \r\nAs an organizing <span style=\"color:#F08C28\">PyData</span> <span style=\"color:#0077CC\"><strong>Tel Aviv</strong></span> conference member,  I'm dedicated to fostering **collaboration and knowledge-sharing** in the data science community.  \r\nI take pride in building **Python packages** that make data workflows more streamlined and efficient.  \r\n\r\nWhen I'm not working with data, you can find me hiking in the great outdoors  \r\nor exploring the vibrant cultural scene of <span style=\"color:#0077CC\"><strong>Tel Aviv</strong></span>.\r\n\r\nChatGPT helped with phrasing this paragraph.  \r\nAlso, the LLM generated the last line entirely, and *it is untrue*.  \r\nI do have **two daughters** and a **partner** with whom I love spending time.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/LWQMBZ/", "id": 1078, "guid": "6d8ced64-cc32-56a6-8a16-6076884f2c7e", "date": "2025-09-09T15:00:00+03:00", "start": "15:00", "logo": null, "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1078-private-llms-and-rag-pipelines-in-python", "title": "Private LLMs and RAG Pipelines in Python", "subtitle": "", "track": null, "type": "Regular Talk", "language": "he", "abstract": "This talk will show how to set up a private LLM + RAG system using Python in an \"air-gaped\" environment. We\u2019ll cover choosing efficient open-source models, setting up local vector databases, and optimizing retrieval in resource-limited environments.", "description": "When our team wanted to use LLMs with RAG, we quickly hit a wall\u2014sending sensitive data to the cloud wasn\u2019t an option. Whether it's business secrets, medical records, or legal documents, some data simply can\u2019t leave a secure network. So, we had to build our own private AI pipeline.\r\n\r\nIn this talk, I\u2019ll share how we set up a fully private LLM + RAG system using Python. We\u2019ll 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\u2019ll discuss trade-offs, optimizations, and how to squeeze the most out of smaller models without sacrificing too much intelligence.\r\n\r\nBy the end, you\u2019ll have a clear road map for building your own secure AI pipeline\u2014no cloud required!", "recording_license": "", "do_not_record": false, "persons": [{"guid": "8176deee-e078-572d-8558-4f0b663a6e42", "id": 1147, "code": "SGR3CA", "public_name": "Yaacov Zamir", "avatar": "https://cfp.pycon.org.il/media/avatars/03e2eb823b4e876f733cc5f8cbabe94d_SnzR3CZ.jpg", "biography": "Yaacov is a software engineer at Red Hat, he is a long time contributor to free software projects, volunteer at the Nitzanim project, and like cats.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/MMGU97/", "id": 1139, "guid": "87773507-2778-5cb2-a98d-821766b10819", "date": "2025-09-09T15:30:00+03:00", "start": "15:30", "logo": "https://cfp.pycon.org.il/media/pycon-2025/submissions/MMGU97/Screenshot_from_2025-05-02_17-48-08_CVqGAsJ.png", "duration": "00:20", "room": "Hall 7", "slug": "pycon-2025-1139-wtf-are-embeddings-a-software-engineer-s-take", "title": "WTF Are Embeddings? A software engineer\u2019s take", "subtitle": "", "track": null, "type": "Regular Talk", "language": "en", "abstract": "Embeddings power AI tools like search and chatbots \u2014 but what are they really? This talk explains embeddings in simple terms using Python, with real examples, humor, and no ML background required.", "description": "Embeddings are behind the magic of modern AI \u2014 powering search, recommendations, and those eerily accurate chatbots. But what are they, really? In this talk, Liza \u2014 a regular software engineer, not a data science PhD \u2014 breaks it down in plain English using real examples, bad charts, and trusty science-y Python tools. If you\u2019ve ever wondered how words, products, or even bananas become vectors in high-dimensional space, this is your crash course.", "recording_license": "", "do_not_record": false, "persons": [{"guid": "2a54a010-737d-526d-83e8-f4a33c888e86", "id": 1178, "code": "HNR7X3", "public_name": "Liza Katz", "avatar": "https://cfp.pycon.org.il/media/avatars/1000134729_nyq1EH5.jpg", "biography": "Liza Katz is a software engineer with 20+ years of experience in writing code, leading teams, and building clever AI tools with Python, search tech, and large language models.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}, {"index": 2, "date": "2025-09-10", "day_start": "2025-09-10T04:00:00+03:00", "day_end": "2025-09-11T03:59:00+03:00", "rooms": {"Reichman": [{"url": "https://cfp.pycon.org.il/pycon-2025/talk/89QRU7/", "id": 1124, "guid": "eee93533-2b89-54ed-8e63-e71fa4f583ac", "date": "2025-09-10T09:30:00+03:00", "start": "09:30", "logo": null, "duration": "03:00", "room": "Reichman", "slug": "pycon-2025-1124-let-s-build-an-api-test-agent-", "title": "Let's Build an API Test Agent!", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "he", "abstract": "In this hands-on workshop, you'll build an AI-powered API Test Agent from scratch. You'll learn about the making of an agent, and get some upgrades on your testing skills.", "description": "Everybody's talking about agents. Let's stop talking and build one! And while we're at it, make it useful! \r\n\r\nIn this hands-on workshop, you'll move beyond the buzz and build an AI-powered API Test Agent from scratch.\r\n\r\nOur agent does a few things, with the aid of LLMs:\r\n\r\n- Generate ideas for test cases for a list of APIs\r\n- Prioritize which test cases to run first\r\n- Generate the test code\r\n- Run the tests\r\n- Validate the response\r\n- Report the results\r\n \r\nBy the end, you won\u2019t just walk away with the knowledge of how to build an agent, you'll have seriously leveled-up your API testing skills. \r\n\r\nSo, let's build your first agent, shall we?\r\n\r\nThe workshop is held in psychology building at reichman University in room 101", "recording_license": "", "do_not_record": false, "persons": [{"guid": "aa5de4d6-4a9a-55e8-8868-3fdc23aab956", "id": 726, "code": "9WB8VV", "public_name": "Gil Zilberfeld", "avatar": "https://cfp.pycon.org.il/media/avatars/New-profile-pic-20241_fnz3JPR.png", "biography": "Gil Zilberfeld has been in software since childhood, writing BASIC programs on his trusty Sinclair ZX81. He is a trainer and mentor working to make software better.\r\nWith more than 25 years of developing commercial software, he has vast experience in software methodology and practices. From unit testing to exploratory testing, design practices to clean code, API to web testing \u2013 he\u2019s done it all.\r\n\r\nGil speaks frequently in international conferences about testing, TDD, clean code, and test automation. He is the author of \"Everyday Unit Testing\", blogs and posts videos on these topics at http://testingil.com and [YouTube channel](https://www.youtube.com/channel/UC6xFbWdjWA53zRPhidPt12w/). \r\nIn his spare time, he shoots zombies, for fun.", "answers": []}], "links": [], "attachments": [], "answers": []}, {"url": "https://cfp.pycon.org.il/pycon-2025/talk/3R7GCG/", "id": 1193, "guid": "d759c10c-7f80-52c4-a792-705019212501", "date": "2025-09-10T13:30:00+03:00", "start": "13:30", "logo": null, "duration": "03:00", "room": "Reichman", "slug": "pycon-2025-1193-testing-masterclass", "title": "Testing Masterclass", "subtitle": "", "track": null, "type": "3-hour workshop", "language": "he", "abstract": "A very deep dive, keyboard-first, into the details of different approaches to ensure our code does what we think it does.", "description": "Part I - xUnit tests\r\n- lets write a test\r\n- choosing good test cases\r\n  - simple\r\n  - independent\r\n  - carve the problem space at the joints\r\n  - hug the seams\r\n- advanced features:\r\n  - setup/teardown/fixture\r\n  - parametrization\r\n  - mocks\r\n- putting it to practice\r\n- war stories and design exercises\r\n- things that are hard to test: UI, nondeterministic code\r\n\r\nPart II - testing prompts with statistical tests (evaluations)\r\n- lets use an LLM to process a freeform request\r\n- how to think about \"correctness\"\r\n- train/test split\r\n- quality measures:\r\n  - deterministic measurements\r\n  - accuracy curve, false positives and false negatives\r\n  - human as judge\r\n  - strong LLM as judge\r\n  - using a weak LLM to approximate confidence\r\n- production monitoring\r\n\r\nPart III - other approaches\r\n- BDD\r\n- FIT\r\n- golden/snapshot testing\r\n- exercise: tailoring a testing approach for a deterministic chatbot\r\n- my own contribution to the field: bless tests\r\n  - the basic technique\r\n  - designing good harnesses\r\n  - advanced blessing techniques\r\n  - using it in a team\r\n  - lessons learned applying it in the field\r\n  - exercise: testing a complex algorithm with the blesstest library\r\n- final design exercise\r\n\r\nThe workshop is held in psychology building at reichman University in room 101", "recording_license": "", "do_not_record": false, "persons": [{"guid": "c68ac156-7528-5c58-aea4-6e97c4e23b35", "id": 937, "code": "8NFVMQ", "public_name": "Aur Saraf", "avatar": "https://cfp.pycon.org.il/media/avatars/avatar_1_g7ySUku.png", "biography": "Sometimes developer, sometimes CTO, sometimes consultant, sometimes investor. Always a technologists at heart, on a quest to improve the craft of writing software.", "answers": []}], "links": [], "attachments": [], "answers": []}]}}]}}}