1st - 5th AUGUST 2014

Brisbane Convention & Exhibition Centre

Create Account
  • Mini-Conferences
    August 1
  • Presentations
    August 2-3
  • Sprints
    August 4-5

<-- Back to schedule

Writing Python 2/3 compatible code

Project: Six and Python-Future, but also touching on 2to3 and 3to2

Python 3 was never intended to be compatible with Python 2. Freed from the shackles of backward compatibility, Python's core developers took the liberty of creating a language that "really hadn't changed all that much" [Python 3.0 release notes] -- except that it was almost impossible to write a non-trivial program that ran on both major versions. These days the situation is still not perfect, but it is getting better, thanks to compatibility features at the language level and with libraries like Six and Python-Future.

Come and learn what Python 3 is all about and how to write clean, modern, mostly idiomatic Python 3 code that runs on both Python 2 and Python 3. What are the risks and caveats with porting? Is it even possible for you? What are the best approaches? Will it be worth the effort?

This presentation will be a clear, step-by-step walk-through that aims to change the way you write Python.

Edward Schofield

Ed is co-chair of the PyData miniconf this year. Ed co-organises the Python user group in Melbourne and has presented at OSDC, PyCon AU, and PyCon APAC in Singapore. Ed was the release manager for SciPy in 2005-6 and is the author of the Python-Future package for Python 2-3 compatibility. He has trained dozens of organisations in Python, including Barclays, CSIRO, Dolby, Singapore’s A*STAR, SKM, and Toyota Design Centre.

Ed holds a PhD in computer science from Imperial College London, where his thesis was in machine learning. He also holds BA and MA degrees in maths and computer science from Cambridge University. He has 20 years of experience in programming, teaching, and public speaking.