of this Talk 2. List of Packaging tools to compare in this Talk 3. Self-Introduction 2. Pros / Cons for each tool 1. Pipenv, Poetry, PDM, pip-tools, Hatch, pip (with venv) 3. What is the best tool? (for Library / Application / Scripting Developers) 4. Appendix: Rye
2018/06 2018.6.25 MIT Poetry Sébastien Eustace 2018/03 0.2.0 MIT PDM Frost Ming 2020/01 0.0.1 MIT pip-tools Vincent Driessen 2017/04 1.8.2 BSD 3-Clause Hatch Ofek Lev 2021/12 Hatch v1rc2 MIT pip PyPA 2008/12 (First GitHub commit) MIT
621 style pyproject.toml dependency Combine-able with pip or hatch Maintained by the Jazzband community pipe-tools: Cons not Included Task-runner, wheel builder and package publisher 20 / 33
actively by PyPA, nearly official Works with pyproject.toml spec, PEP 621 style Hatch: Cons Not included dependency updater Not supporting lock-file 22 / 33
and flexible Grounds Almost what you need is included ex: Task-runner, wheel builder and publisher Maintained actively by PyPA Works with pyproject.toml spec, PEP 621 style 26 / 33
with pyproject.toml spec, PEP 621 style Wraps virtualenv, Including Package Builder and Publisher Included Python version manager Cons EXPERIMENTAL, not stable 30 / 33
for source trees PEP 621 – Storing project metadata in pyproject.toml PEP 660 – Editable installs for pyproject.toml based builds (wheel based) Official Doc for the setuptools by PyPA python-poetry/poetry: Use the [project] section in pyproject.toml according to PEP-621 #3332 python-poetry/poetry: Add support for pyproject.toml files when adding --editable projects … #7670 My Blog article (in Japanese): Isn’t venv + pip good for Python package management? in 2023/1 Are you using the -c/–constraint option of pip install?