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
  • 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.in
  • pip-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

Share on: TwitterFacebookEmail


Published

Category

PyCon DE 2018

Tags

Contact