Reproducible Environments for Reproducible Results
summary
Shows how to get bit-for-bit reproducible Python environments by combining concrete tools: use pip freeze › requirements.txt or Pipfile.lock/Pipenv to lock dependency trees, use Ansible or VMs for system provisioning, and build single-process immutable images with a Dockerfile. Adds a repository manager (Pulp) that hosts immutable, versioned publications so pip installs the exact same hashes, enables curated mirrors, parallel testing versions, rollbacks and zero-downtime promotions, and avoids repackaging for dependency updates.
AI-written summary · about
chapters (16)
- 0:00Start
- 2:50Approach 1: Monolithic Packages
- 4:07Approach 2: Modular Packages
- 5:35An Overview of the Python Ecosystem
- 6:13Virtual Environments
- 8:31Production: Stability by Default
- 9:34Post-Stability Struggles
- 13:13Curated Repositories
- 14:37Rollback
- 15:42Other Repository Management Tools
- 16:08Fundamental Python Packaging Limitation
- 16:25Virtual Machines
- 17:08Ansible
- 18:37Containerization
- 20:27Summary
- 21:33Questions?
related talks
28mBuilding reproducible Python applications for secured environments
41mTaming the toxic python environment on your laptop
29mReproducible Python projects using Nix
30mReproducible work environments for data scientists using Nix
47mReproducible builds
40mZeno Does Data Science- The Paradoxical Quest for Reproducibility
37mAutomated deployment of Python packages for development
30mreliable testing with pip constraints
