Overview
Learn how to migrate a large-scale Python 2 codebase to Python 3 without disrupting ongoing development in this PyCon US talk. Discover the tools, techniques, and patterns used to successfully port 3.8 million lines of code while minimizing regressions. Explore the step-by-step migration process, including the use of pre-commit hooks, reverse proxy for granular webapp rollout, and the transition from pickle to JSON for caching. Gain insights into handling complex codebases, managing business-critical applications, and maintaining functional parity throughout the migration process.
Syllabus
Intro
Flow of a request
Architecture of yelp-main
More yelp-main stats
100 tests
Motivation and requirements
Phases and timeline
Tracking work
python-modernize
Interlude about tooling
Parsability
Importability
Functional parity: sort
Rollout
Outcomes
The Future
Taught by
PyCon US