~/talk

Python 2 is dead! Drag your old code into the modern age

Talkat PyCon UK 2018 · 2018-09-15..09-19· [python]
slides:none on file

An 8-year-old Django codebase of ~70,000 Python lines migrates from 2.7 to Python 3.6 using 2to3, caniusepython3 and pylint --py3k, plus virtualenvs, tox and CI. The team converts app-by-app, accepts 2to3 diffs, runs tests until green, refactors conservatively and adds manual frontend GIS checks. Dependencies shrink from ~75 requirements with 11 blockers to only a few needing fixes (some replaced or patched). Gotchas include changed rounding, exception.message removal, randomized hash seeds and Python 2 pickle incompatibilities.

AI-written summary · about

  1. 0:00Intro
  2. 2:22WHY UPGRADE? AKA WHY YOU WANT PYTHON
  3. 4:58THE PROJECT
  4. 6:21TOOLS
  5. 6:34CANIUSEPYTHON3
  6. 8:51ARCHITECTURE
  7. 9:50#1: LEARN ABOUT DIFFEREI BETWEEN PYTHON 2 AND PY
  8. 10:14#1: LEARN ABOUT DIFFERENCES BETWEEN PYTHON 2 AND PYTHON 3
  9. 10:33#2: TESTS
  10. 11:02DEPENDENCIES
  11. 14:04FIX THE CODE
  12. 15:13REVIEW / REFACTOR
  13. 17:58LINTING
  14. 20:22GOTCHAS
  15. 24:17RESULTS
  16. 25:39RESOURCES
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.