依存関係に基づくタスクとプラグインシステムで、Pythonプロジェクトのビルドライフサイクルを定義する自動化ツールです。
pypa/hatch
ビルド、環境構築、テスト、Lint、バージョン管理、公開までをカバーする、モダンで拡張性の高いPythonプロジェクト管理ツール。
- スター
- 7,247
- フォーク
- 488
- 未解決の Issue
- 447
- 最終コミット
- 11 日前
これは何?
Hatchは、Pythonプロジェクトを最初から最後まで管理するためのコマンドラインツールです。プロジェクトの雛形作成、配布物のビルド、分離環境の作成・管理、テストや静的解析の実行、バージョン管理、PyPIやその他のインデックスへのパッケージ公開に対応しています。
Hatchは標準化されたビルドシステムを採用しており、デフォルトで再現可能なビルドを実現します。環境ではカスタムスクリプトやUVを利用できます。また、Pythonの配布物を管理でき、依存関係とともにPythonスクリプトを実行するためのスクリプトランナーも内蔵しています。プロジェクト生成では、一般的なベストプラクティスに沿ったテンプレートを使用します。
プラグインによる拡張を想定して設計されており、CIでのプロジェクト独自のベンチマークによると、CLIは同種のツールより高速です。
主な機能
- 01デフォルトで再現可能なビルドを実現する標準化されたビルドシステム
- 02カスタムスクリプトとUVに対応した分離環境の管理
- 03既定の設定を使ったテスト実行と静的解析
- 04Pythonスクリプトランナーを内蔵
- 05PyPIやその他のパッケージインデックスへの公開
- 06バージョン管理とテンプレートからのプロジェクト生成
ユースケース
- PythonライブラリをビルドしてPyPIに公開する
- Pythonプロジェクトのテスト環境とLint環境を分けて管理する
- 最新のベストプラクティスに沿った新しいPythonパッケージの雛形を作成する
- virtualenvを手動で設定せずに、依存関係とともにプロジェクトのスクリプトを実行する
収録されている特集
トピック
よくある質問
- hatch とは?
- ビルド、環境構築、テスト、Lint、バージョン管理、公開までをカバーする、モダンで拡張性の高いPythonプロジェクト管理ツール。 Hatchは、Pythonプロジェクトを最初から最後まで管理するためのコマンドラインツールです。プロジェクトの雛形作成、配布物のビルド、分離環境の作成・管理、テストや静的解析の実行、バージョン管理、PyPIやその他のインデックスへのパッケージ公開に対応しています。
- hatch は無料で使えますか?ライセンスは?
- hatch は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- hatch は今もメンテナンスされていますか?
- 活発にメンテナンス中。hatch の最終コミットは 2026年10月28日 です。
- hatch は何に使えますか?
- PythonライブラリをビルドしてPyPIに公開する Pythonプロジェクトのテスト環境とLint環境を分けて管理する 最新のベストプラクティスに沿った新しいPythonパッケージの雛形を作成する virtualenvを手動で設定せずに、依存関係とともにプロジェクトのスクリプトを実行する
- hatch はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pypa/hatch
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
複数の仮想環境やPythonバージョンにまたがるPythonのテストとパッケージ検証を自動化するコマンドラインツール。
toxのini形式ではなく通常のPythonファイルで設定し、複数のPython環境にまたがるテストを自動化するコマンドラインツール。
GitまたはMercurialのタグからパッケージのバージョンを判定し、setuptoolsと連携するPythonツール。
pipとvirtualenvを組み合わせ、PipfileとPipfile.lockで再現性の高いビルドを実現する、Python向けのvirtualenv・依存関係管理ツール。
アプリケーションと依存関係を、ポータブルな virtualenv のように使える単一の実行可能な .pex ファイルにパッケージ化する Python ツール。