PyCon APAC 2023

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Comparison of Packaging Tools in 2023
2023-10-28 , track 2

Today, there are so many options for Python package management tools, such as pip (with venv), poetry, pipenv, ....

I'll compare those tools for people wondering which to use for package management tools in 2023.

This talk will be for people wondering which to use for package management tools, including library or framework developers, web developers, and automation script developers.


Background of this talk

I wrote and posted an article in January 2023 (written in Japanese; the translated title is "Why don't you use just pip with venv for Python package management?")
I received more likes and felt surprised and happy. There might also be a demand for a sequel-like article.

Target Audiences

I will this talk for those wondering which package management tools to use.

Especially:

  • Library or framework developers
  • Web Developers
  • Automation Script developers

Motivation and Objectives

Which of the following is the best option? poetry, pipenv, pdm, hatch pip-tools, or just venv and pip? What is the best Python package and dependency management tool today?

The environment around these tools is changing dramatically; the adoption of several PEPs, including PEP 621, 517, and 660.

I will compare pros / cons and propose three use cases; based on several years of experience following Python package specifications.

Topics not covered

  • Each detail of the PEPs
  • Specifications and implementations of these tools

Planned Outline

  1. Self-introduction, Table of Contents
  2. Introduction:
    1. Background, Motivations
    2. Target Audiences of this Talk
    3. List of Packaging tools to compare in this Talk
  3. Pros / Cons for each tools:
    1. pip (with venv)
    2. pipenv
    3. poetry
    4. pdm
    5. pip-tools
    6. hatch
  4. What is the best tool? (In some use cases)
    1. Case 1: Library / Framework Developing
    2. Case 2: Web Application Developing
    3. Case 3: Automation Script Developing
  5. Summary
  6. (Appendix) About the rye

PyCon JP 2020よりボランティアスタッフとして活動。副座長としては2022より。一般社団法人PyCon JP Associationの運営メンバーでもあり、PyCon JP TVのディレクターも務める。

EuroPython 2021, PyCon APAC 2021, PyCon US 2022などで発表の経験を積んでいる。

普段は株式会社トップゲートでGoogle CloudによるIaCとDevOpsの推進やGolangによるWeb API開発などを行っている。趣味はミラーレスカメラ、スキー、クラシック音楽鑑賞など。

He started serving as a volunteer staff member in 2020. Since 2022, he's been the vice-chair. And, also part of the PyCon JP Association's Operating Member, as a director of the PyCon JP TV.

At TOPGATE, Inc. he pushes for IaC and DevOps with Google Cloud and develops Golang Web APIs. His hobbies include mirrorless cameras, skiing, and classical music.