Speaker
Patrick Muehlbauer
Material
Note
- Problems
- multiple tools for the whole workflow
 - no real dependency resolution in pip
 - multiple files needed for reproducible env (e.g., 
requirements.txt,dev-requirements.txt) 
 - Possible Solutions
- reproducible env
- Pipfile, Pipfile.lock
 
 - distutils/setuptools limitations
- pyproject.toml
 
 
 - reproducible env
 - Python dependency managers
 - Which to choose?
- It depends.
 - Questions to ask
- Are building a library or an application?
 - Doest it fit my infra?
 
 
 
pip-tools
pip-compile: generates requirements.txt from setup.py or requirements.inpip-sync: dependency synchronization
Pipenv
- wrapper around pip and virtual environments
 - use Pipfile, Pipfile.lock
 - for applications rather than libraries
 - separate sections for dev and man dependencies
 
Poetry
- tool to manage dependencies, build and publish packasge
 - use pyproject.toml, poetry.lock
 
hatch
- simplifies development workflow
 - warps multiple tools (
pip,virtualenv,twine,pytest,coverage.py) - setup.py, requirements.txt