Skip to content

Context formatting


Pythonのformatstringsの構文を使用して、サポートされている特定のフィールドの値を設定に入力できます。各フィールドでは、コロンの後の修飾子部分が異なる方法で解釈されます(解釈される場合)。

Global fields

コンテキストフォーマットのサポートを宣言する設定は、常にこれらのフィールドをサポートします。

Paths

フィールド 説明
root プロジェクトのルートディレクトリ
home ユーザーのホームディレクトリ

すべてのパスは、次の修飾子をサポートしています。:

モディファイヤ 説明
uri 接頭辞file:で始まる正規化された絶対URIパス
real すべてのシンボリックリンクが解決されたパス
parent 直前のパスの親

Tip

parent修飾子は連鎖させることができ、uriまたはreal修飾子のいずれかと組み合わせることができ、後者は最後に配置されます。例:

[tool.hatch.envs.test]
dependencies = [
    "example-project @ {root:parent:parent:uri}/example-project",
]
[envs.test]
dependencies = [
    "example-project @ {root:parent:parent:uri}/example-project",
]

System separators

フィールド 説明
/ Windowsの場合は\、それ以外の場合は/
; Windowsの場合は;、それ以外の場合は:

Environment variables

envフィールドとその修飾子を使用すると、環境変数の値を選択できます。環境変数が設定されていない場合は、{env:PATH:DEFAULT}などの追加の修飾子としてデフォルト値を指定する必要があります。

Field nesting

他のユーザーの中にフィールドを挿入できます。たとえば、環境変数FOOの値を表示し、環境変数BARにフォールバックし、ユーザーのホームディレクトリに独自のフォールバックを行うscriptが必要な場合は、次のようにします。:

[tool.hatch.envs.test.scripts]
display = "echo {env:FOO:{env:BAR:{home}}}"
[envs.test.scripts]
display = "echo {env:FOO:{env:BAR:{home}}}"