~/talk

reliable testing with pip constraints

Talkat PyCon Australia 2015 · 2015-07-31..08-04· [devops-and-delivery, python]
slides:none on file

Claim: pin a single, tested dependency universe so dozens of independent Python codebases stop breaking each other. Uses pip constraints (added in pip 7.1), pip-compile-style resolution and the OpenStack tool generate_constraints, with a dedicated constraints git repo and CI that vets every change. With dozens of projects and nearly 300 transitive packages described, the build is reproducible, devstack and OpenStack CI run against the constraints and reduce spurious failures while still allowing controlled, automated upgrades.

AI-written summary · about

  1. 0:00Intro
  2. 2:41The problem
  3. 3:17Existing solutions
  4. 3:31Collaboration
  5. 3:45Destroy packages
  6. 4:36Manual pip push
  7. 5:53Tight pip bounds
  8. 7:04Vendor everything
  9. 8:36Requirements files
  10. 9:51Buildout
  11. 10:41Constraint Files
  12. 13:45You are not the special case
  13. 14:36PEP compile
  14. 16:57PEP release
  15. 18:17Powerlaw curve
  16. 20:03Loosen dependencies
  17. 20:58Unconstrained dependencies
  18. 21:56Apostle tarpit
  19. 22:41Constraints
  20. 24:07Why constraints
  21. 25:21Custom pip install
  22. 26:42Dependency resolution
~/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.