~/talk

How We Migrated 3.8 Million Lines of Python 2 Without Interrupting Deve...

Talkat PyCon US 2022 · 2022-04-27..05-03· [python, developer-experience]
links:none on file
slides:none on file

Yelp migrates 3.8 million lines from Python 2 to 3 with no development stoppage by using concrete steps: parseability (two weeks), importability (two months), functional parity (about a year), and rollout (two months). The process uses python modernize and a pre-commit hooks pipeline, runs a parallel Python 3 virtualenv, converts caches from pickle to json, and granularly flips live traffic per URL prefix via a reverse proxy, yielding ~15–20% speed and ~26% memory improvements.

AI-written summary · about

  1. 0:00Intro
  2. 1:58Flow of a request
  3. 3:23Architecture of yelp-main
  4. 4:49More yelp-main stats
  5. 6:23100 tests
  6. 7:12Motivation and requirements
  7. 8:26Phases and timeline
  8. 9:25Tracking work
  9. 10:57python-modernize
  10. 13:32Interlude about tooling
  11. 14:32Parsability
  12. 15:10Importability
  13. 21:15Functional parity: sort
  14. 22:42Rollout
  15. 24:17Outcomes
  16. 26:05The Future
~/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.