コンテンツにスキップ

Pants 経由で Python コードを実行中か判定する

pants run <target>やpants test <target>で実行中かを判定する方法を紹介する。

  • .pants.bootstrapにON_PANTS=trueという環境変数を設定すると、pants run で実行中かを判定できる。
  • pants.tomlの[test]セクションにON_TEST=trueという環境変数を設定すると、pants test で実行中かを判定できる。
1
2
3
4
5
6
7
8
9
import os

def on_pants() -> bool:
    # .pants.bootstrap
    return os.getenv("ON_PANTS") == "true"

def on_pants_test() -> bool:
    # pants.toml [test] section
    return os.getenv("ON_TEST") == "true"
.pants.bootstrap
export ON_PANTS=true
pants.toml
[test]
extra_env_vars = ["ON_TEST=true"]