This talk is for everybody who writes code that is used by others. As soon as somebody else uses your code, you've deliberately or not created an API. Even with the greatest care, there will always be things you wish to change later on. But since other people's code relies on your API, mistakes cannot be undone easily. Luckily, Python is quite flexible - allowing for various changes while keeping backward compatibility. But even when a breaking change is required there are ways to achieve this with the least possible pain for authors and users.

Suitable transition strategies depend on the reach of your code. Therefore, we'll look at various real-world examples from core python over public open source libraries to company-internal code. These examples will give you practical patterns you can apply in your code. Additionally, we'll see how code can be written in the first place so that later changes are easier.

Tim Hoffmann

Affiliation: Carl Zeiss SMT GmbH

Tim Hoffmann has a passion for easy to use software. Both, in his professional life as a senior expert on optics simulation and systems engineering in the semiconductor industry as well a matplotlib core developer, he is striving to make things better - and has a lot of fun doing so using Python.