Skip to content

Versioning


Configuration

バージョンが[statically set]されていない場合(config/metadata.md#version)、設定はtool.hatch.versionテーブルで定義されます。sourceオプションは、バージョンのretrievingおよびupdatingに使用するsourceを決定します。デフォルトでは、regexソースが使用されます。

regexソースには、プロジェクトのバージョンを含むファイルへの相対パスを表すオプションpathが必要です。:

[tool.hatch.version]
path = "src/hatch_demo/__about__.py"
[version]
path = "src/hatch_demo/__about__.py"

デフォルトのパターンでは、__version__またはVERSIONという名前の変数が検索されます。この変数は、バージョンを含む文字列に設定され、オプションで小文字のvが先頭に付くこともあります。

これがバージョンの保存方法を反映していない場合は、patternオプションを使用して別の正規表現を定義できます。:

[tool.hatch.version]
path = "pkg/__init__.py"
pattern = "BUILD = 'b(?P<version>[^']+)'"
[version]
path = "pkg/__init__.py"
pattern = "BUILD = 'b(?P<version>[^']+)'"

このパターンには、バージョンを表すversionという名前付きグループが必要です。

Display

引数を指定せずにversionコマンドを実行すると、プロジェクトの現在のバージョンが表示されます。:

$ hatch version
0.0.1

Updating

You can update the version like so:

次のようにバージョンを更新できます。:

$ hatch version "0.1.0"
Old: 0.0.1
New: 0.1.0

schemeオプションは、既存のバージョンと新しいバージョンの両方を解析するために使用するschemeを決定します。standardスキームはデフォルトで使用され、PEP 440に基づいています。

バージョンを明示的に設定するのではなく、バージョンを増分するために使用されるsegmentの名前を選択できます。:

$ hatch version minor
Old: 0.1.0
New: 0.2.0

カンマを使用して、複数のセグメントの更新を連鎖させることができます。たとえば、プロジェクトの最初のメジャーバージョンのプレビューをリリースする場合は、次のようにします。:

$ hatch version major,rc
Old: 0.2.0
New: 1.0.0rc0

最終バージョンをリリースする場合は、次の手順を実行します。:

$ hatch version release
Old: 1.0.0rc0
New: 1.0.0

Supported segments

サポートされているセグメントと、それらが1.0.0の既存のバージョンにどのように影響するかを以下に示します:

Segments New version
release 1.0.0
major 2.0.0
minor 1.1.0
micro
patch
fix
1.0.1
a
alpha
1.0.0a0
b
beta
1.0.0b0
c
rc
pre
preview
1.0.0rc0
r
rev
post
1.0.0.post0
dev 1.0.0.dev0