Python 2 is over



Dmitry Tantsur (Principal Software Engineer, Red Hat)

Twitter: @creepy_owlet

Slides: dtantsur.github.io/talks/berlin-python-2

Year 2020

Year 2020

  • Construction of the Berlin-Bradenburg airport gets another delay.
  • First trains go from Hauptbahnhof to Hönow through the updated U5 line.
  • Python 2 reaches end of life once and forever.

Python 2

  • First release in 2001
  • Last feature release 2.7 in 2010
  • End of any support by Jan 1st 2020
  • Nice countdown at pythonclock.org

Python 3

  • First release in 2008
  • Latest feature release 3.7 in 2018
  • Present and future of Python

Why a major version?

  • print and exec are functions
  • Iterator instead of lists (e.g. dict.items)
  • Text vs binary data mess solved
  • Clean up of the standard library
  • Various syntax clean-ups

The carrot

  • Built-in asyncio library (3.4)
    async/await (3.5)
  • Enumeration types (3.4)
  • Single-dispatch generic functions (3.4)
  • Unpacking generalization (3.5)
  • Formatted string literals (3.6)
  • Data classes (3.7)
  • __getattr__ on modules (3.7)

So what?

  • If your code does not work Python 3, time has come! six library to the rescue.
  • If you have a CLI/GUI, time to drop Python 2
  • If you don't run CI with Python 3.. you know :)
  • Be ready for dependencies dropping Python 2
  • Be ready for distributions dropping Python 2

Questions?