Skip to content
Latchkey

Hatch vs Poetry(CI): どちらのPythonプロジェクトマネージャーか?

どちらもpyproject.tomlからPythonプロジェクトを管理しますが、Hatchは標準とマトリクス環境を重視し、Poetryはlockfile駆動のワークフローを中心に据えます。

HatchはPEP標準に焦点を当てたプロジェクトマネージャーで、強力な環境マトリクスと高速なビルドバックエンド(hatchling)を備えています。Poetryは、依存関係の解決、poetry.lock lockfile、統合パッケージングを中心に構築された人気のプロジェクトマネージャーです。

HatchPoetry
設定pyproject.toml(標準)pyproject.toml(独自スキーマ)
Lockfile任意/新しめpoetry.lock(中核)
環境マトリクス環境プロジェクトごとに単一のvenv
ビルドバックエンドhatchling(高速)poetry-core
最適な用途複数環境テスト、ライブラリアプリ + ライブラリの依存関係管理

CIでは

Hatchは、環境マトリクスを介して多数のPythonバージョンと依存関係セットでテストするのに優れ、その標準優先の設計はより広いパッケージングエコシステムとうまく噛み合います。Poetryのlockfileは、そのまま強力で決定的なインストールを提供し、アプリの依存関係管理でより一般的な選択肢です。マトリクス環境とlockfile駆動のインストールのどちらがパイプラインにより重要かで選んでください。

キャッシュする

lockfileまたは解決済み環境をキーにした依存関係のcacheをキャッシュしてください。インストールはCIのrunner上で実行されます。マトリクス環境は作業を倍増させるため、より高速なマネージドrunnerが広いテストマトリクスを短縮します。

結論

標準優先のプロジェクト管理と強力なマトリクス環境が欲しいなら: Hatch。lockfile駆動で決定的な依存関係管理と統合パッケージングが欲しいなら: Poetry。どちらもpyproject.tomlを基盤とします - 環境 vs lockfileのニーズで選んでください。

関連ガイド