No more dependency nightmares: the Wix way for a healthy and stable python platform
summary
Wix solves Airflow dependency breakage by standardizing on pip with pip constraints and an internal tool that generates constraints via pip freeze, runs automated builds and tests, and validates upgrades. Airflow pulls 68 direct deps and ~1,000 transitive packages; the official constraints file lists ~700 packages. The team builds a small interface with four plugins to emit constraint files, run installs against chosen Airflow/Python versions, and catch failures early — the system surfaces breakages before production and proves effective in practice.
AI-written summary · about
chapters (19)
- 0:00Welcome and introduction
- 2:21What is Wix and Airflow
- 5:56Understanding Python versions
- 7:23Requirements vs constraints
- 9:54Challenges of dependency conflicts
- 11:40Airflow upgrade nightmare
- 13:30Using official constraints files
- 14:33Wix’s custom constraints interface
- 16:22Generating and managing constraints
- 17:27Testing dependencies with builds
- 19:11What not to do with dependencies
- 20:36Correct dependency installation
- 22:43Managing requirements files
- 24:09Why use pip over alternatives
- 25:14Pipenv and dependency constraints
- 27:05Handling unresolvable conflicts
- 27:50Why split requirements and constraints
- 29:15Automating constraints generation
- 30:21Updating dependency versions
related talks
28mManaging Python Dependencies at scale
30mreliable testing with pip constraints
30mreliable testing with pip constraints
31mThe Silent Symphony: Keeping Airflow's CI/CD and Dev Tools in Tune
26mPhantom Dependencies: is your requirements.txt haunted?
30mThe Evolutionary Saga of Python Packaging
36mPipenv: The Future of Python Dependency Management
26mDependency Management in Python
