--- title: "Introducing Incompatible Changes in Python - Victor Stinner" tags: PyConAPAC2022, 2022-organize, 2022-共筆 --- # Introducing Incompatible Changes in Python - Victor Stinner {%hackmd 3JQH2UcwQ1e5RMgz4GRiKg %} <iframe src=https://app.sli.do/event/3e7qqXo63J3UifJdcj5cu6/ height=450 width=100%></iframe> Slide link 投影片連結: YouTube link 演講影片連結:TBA > Collaborative writing start from below > 從這裡開始共筆 > Introducing Incompatible Changes in Python this is the presention slides https://github.com/vstinner/talks/blob/main/2022-PyconAPAC/python-incompatible-changes.pdf Why incompatible changes? PEP20 Consistent coding style The Telstars - Håll dig till höger, Svensson. https://www.youtube.com/watch?v=6ODZtwkBYPs - Smooth Migration - pyupgrade - Python C API compatibility - Test next python - Fedora Copr - GitHub CI (contiuous integration) - Code Search - Report/Fix affected projects - documentation - warnings - PEP 587 – Backwards Compatibility - 3 releases ( 3 years) - PEP 602 – Annual Release Cycle for Python - Python 2.7 - Semantic Versioning - Hidden/Abandoned Software - PEP 606 – Python Compatibility Version - PEP 608 – Coordinated Python release - C API - PEP 620 – Hide implementation details from the C API - PEP 670 – Convert macros to functions in the Python C API - PEP 674 – Disallow using macros as l-values - HPy project - A better C API for Python - Examples - Python - PIP - Code Type replace - collections aliases - Prefix or Suffix Variables in Python - PEP 414 – Explicit Unicode Literal for Python 3.3 - C API - PyFrameObject Python 3.11 - CPython - NumPy - Python 3.0 - PEP 594 – Removing dead batteries from the standard library - Revert - PEP 384 - Defining a Stable ABI - PEP 652 – Maintaining the Stable ABI - CI ABI Test - PEP 652 – Maintaining the Stable ABI https://github.com/vstinner/misc/tree/main/cpython - https://github.com/asottile/pyupgrade - https://github.com/python/pythoncapi-compat Below is the part that speaker updated the talk/tutorial after speech 講者於演講後有更新或勘誤投影片的部份