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}}}"