PyWeb in July 2025 at Nym Health in Tel Aviv


Details
Our meeting will take place in the offices of Nym Health.
Hosted by NymHealth
* Start time: 18:00
* Meeting and mingling (30 min)
* Calculus phobic's introduction to differentiable programming in Python by Daniel Anderson
Language: Hebrew
Length: 20 min
Want to unlock a powerful new tool?
Differentiable programming is an emerging field in numerical optimization, brought about by the deep learning revolution, providing general and accessible optimization capabilities that can be applied to diverse domains.
Despite its great potential, itâs not uncommon for developers to move along when they happen across this topic, leaving it to the âML guysâ and repressing bad memories from calculus class. But it doesnât have to be that way! In fact, a big part of the differentiable programming offering is exactly to offload having to calculate derivatives and gradients manually. Iâll introduce the basic framework of differentiable programming with the JAX library, and demonstrate with a couple of simple examples. Weâll then discuss more advanced use cases and applications.
You'll learn how to:
- Identify problems where differentiable programming is applicable
- Formulate problems for differentiable programming
- Optimize problems with JAX
Target audience: Solid proficiency with basic python is sufficient for the talk (functions, loops, lists, operators). There will be math, but I promise it will be light and handled gently.
Is this talk just for ML people? Absolutely not! Differentiable programming has applications beyond the world of ML, and you donât need to know fancy math to use it.
* Writing Python like it's Rust by Maor Kadosh
Language: Hebrew
Length: 15 min
The talk will be based on this blog post, that finally aggregated all of my favorite methods of describing business logic in Python.
Python's bolted-on typing notation has recently evolved enough to the point of being able to resemble the type system of the ML family (Meta Language, not Machine Learning đ) and thus the wonderful workflow of Rust and its OCaml roots.
I will provide examples from real-life code that I wrote utilizing these tricks to catch bugs before the program even started. But more importantly, I'll talk about the killer feature of this method (that's not mentioned in the article), that for some reason went completely under the radar: Pyright's `reportMatchNotExhaustive` check, which is off by default.
This behaviour (getting a pre-runtime warning for unhandled cases) is also achievable with `abc.ABC` + `abc.abstractmethod`. Using `reportMatchNotExhaustive` allows you to carry this feature to Functional Land, which I think is getting popular recently with the rise of Pydantic and FastAPI.
* Break
* Surprises, Bugs, and Deep Dives: Lessons from a Python Upgrade by Yonatan Bitton
Language: Hebrew
Length: 40 min
Upgrading a large production system to a new Python version always sounds simpleâuntil it's not. In this talk, Iâll share a series of real and surprising bugs we encountered right after upgrading to Python 3.12.
These werenât obvious issues. They involved silent crashes, confusing errors, and subtle behavior changes in libraries we didnât even touch. Instead of focusing on one root cause, the talk highlights the debugging mindset, the investigation process, and how we handled uncertainty in complex systems.
Youâll leave with practical insights on preparing for upgrades, debugging across layers (from Python to native code), and how to stay sane when the unexpected happens.

PyWeb in July 2025 at Nym Health in Tel Aviv