PyConDE & PyData Berlin 2024

Python 3.12's new monitoring and debugging API
2024-04-24 , Kuppelsaal

Python 3.12 introduced a new low-impact monitoring API with PEP669, which can be used to implement far faster debuggers than ever before. This talk covers the main advantages of this API and how you can use it to develop small tools.


Python long lagged a good monitoring and profiling API. It had only the simplistic sys.settrace API, which had a high overhead and couldn't be configured appropriately. The new API, released in October 2023, will change this by offering a proper fine-grained and well-designed monitoring API while also making the commonly used operations fast.

This talk will give you an introduction to the new API and its design major design decisions and show you how you can use it to write a simple debugger from scratch.


Expected audience expertise: Domain:

Novice

Expected audience expertise: Python:

Intermediate

Abstract as a tweet (X) or toot (Mastodon):

Python 3.12 got a new debugging and monitoring API. Learn in this talk why it will change debugging forever.

Public link to supporting material, e.g. videos, Github, etc.:

https://github.com/parttimenerd/python-dbg/

Johannes Bechberger is a JVM developer working on profilers and their underlying technology in the SapMachine team at SAP. He started at SAP in 2022 after two years of research studies at the KIT in Java security analyses. His work today comprises many open-source contributions and his blog, where he writes regularly on in-depth profiling and debugging topics and works on his JEP Candidate 435 to add a new profiling API to the OpenJDK. He has been an avid Python user for almost 10 years, with a special interest in type systems and debuggers.
Since 2023 he's touring through the meet-ups and conferences of Europe, like JavaZone and Devoxx Belgium to speak on various topics.