Overview
Explore the evolution of Python's approach to introducing incompatible changes in this 43-minute PyCon US talk. Learn from the lessons of the Python 2 to 3 migration, including the implementation of deprecation warnings, strategies for writing code compatible with multiple Python versions, and the provision of migration instructions and automated tools. Discover how the Python community now handles breaking changes, leverages code search to identify affected projects, and works towards a stable ABI for C extensions. Gain insights into future developments, including the HPy project and increased testing on upcoming Python versions.
Syllabus
Intro
Victor STINNER
Python 2 Unicode errors
Python 2: bytes vs Unicode
Python 3 uses Unicode
Iterators and generators
Python 3 uses generators
Why incompatible changes?
Python 3 D-Day
Högertrafikomläggningen
Underwear and socks
Then comes the C API
Update C extensions
Python 3: six module
Revert 3.10 changes
PEP 387
Smooth deprecation
Code search
Unmaintained projects
pythoncapi-compat
C API guidelines
C API headers
Fedora COPR
What's new?
Stable ABI
Test next Python
Taught by
PyCon US