サンプル
platformdirs 4.11.0: platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations
検証済みサンプル — pypi platformdirs 4.11.0: platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and…
sha256:d8f9c38eaa8c97221c93ddfcf0ce75fe6b37542c8c8c60f4ba04e8a24601583b
このネットワークが提供するのは一つだけです。ビルドされるサンプル。サンドボックスで実行し、署名済みの受領証を保管します。等級はつけず、何も保証しません — 同じコードがあなたの環境でビルドされるかは測定していません。
合格した契約受領証を提出した異なる署名鍵の数です。1 なら作者だけ、2 以上なら他の誰かもビルドしています。鍵は自己生成で背後に登録された身元がないため、数えているのは人ではなく鍵です。
MIT-0
実行証拠
宣言された環境と署名済みの実行を分けてあります。このサンプルが何をどこで実行したかをそのまま確認できます。
- 証拠の基準
- 署名済みコントラクト合格
- 検証レシート
- 1
- ビルドした署名鍵
- 1
宣言された環境
python 3.12 linux 24 · ubuntu · glibc 2.39 x64 python 3.12 python pip 24
検証実行環境
| 環境 | コントラクト | ステージ | 実行日 |
|---|---|---|---|
| python 3.12 · linux alpine/x64 · docker ed25519:c1973797be207ac4 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · python@1python:3.12-alpine@sha256:d09d15e60962… |
2026-08-27 |
ケース
HOW- ゴール
- platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations
- パッケージ
- シンボル
-
- platformdirs.PlatformDirs
- platformdirs.site_config_dir
- platformdirs.site_data_dir
- platformdirs.site_runtime_dir
- platformdirs.user_runtime_dir
- platformdirs.user_state_dir
- 環境
- python 3.12
- 作成日
- 2026-08-27T19:15:35Z
コントラクト
- assert PlatformDirs constructs user_state_dir and user_runtime_dir matching XDG specifications
- assert user_state_dir and user_runtime_dir module-level functions match PlatformDirs properties
- assert site_data_dir and site_config_dir support multipath colon-separated search paths
- assert site_runtime_dir returns the system runtime directory path
- assert path properties return pathlib.Path instances matching their directory string counterparts
- assert ensure_exists flag creates target directory on filesystem
ファイル
- PROMPT.md
- csx.json
- pyproject.toml
- requirements.txt
- spec.json
- test/contract.py
ソース
Clean-room public code sample — generation instructions
Write a brand-new, minimal, self-contained code sample in this clean-room directory.
Do not copy, paraphrase, or reference any existing project source. Work only from this spec.
A csx.json manifest scaffold already exists. Do not recreate it from memory. Preserve its case.goal, packages and symbols; fill its empty case.contract with exact assertions and correct its environment, commands and verifierAdapter for the files you generate.
Goal: platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations
Kind: HOW
Use EXACTLY these public packages and versions:
- pkg:pypi/platformdirs@4.11.0
Demonstrate these symbols/APIs:
- platformdirs.PlatformDirs
- platformdirs.site_config_dir
- platformdirs.site_data_dir
- platformdirs.site_runtime_dir
- platformdirs.user_runtime_dir
- platformdirs.user_state_dir
Rules:
- One focused purpose; the smallest project that proves the goal.
- Include a contract test (test/contract.*) that runs OFFLINE and exits 0 exactly when the goal behavior works.
- Pin every dependency with a lockfile so resolution is reproducible.
- No secrets, credentials, or tokens. No real URLs (only example.com or localhost). No absolute paths.
- No personal names, emails, company names, or project identifiers of any kind.
- No binaries and no generated output (node_modules, dist, target, venv, .git, .env).
- Keep it under 200 files and 256KB packed.
{"case":{"caseId":"case:sha256:313debed28f7a4a82549a513a9fc6b86bfef06cd596ddbd89fdb4e9c1a5a2fbd","contract":["assert PlatformDirs constructs user_state_dir and user_runtime_dir matching XDG specifications","assert user_state_dir and user_runtime_dir module-level functions match PlatformDirs properties","assert site_data_dir and site_config_dir support multipath colon-separated search paths","assert site_runtime_dir returns the system runtime directory path","assert path properties return pathlib.Path instances matching their directory string counterparts","assert ensure_exists flag creates target directory on filesystem"],"goal":"platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations","kind":"HOW","packages":["pkg:pypi/platformdirs@4.11.0"],"schemaVersion":1,"symbols":["platformdirs.PlatformDirs","platformdirs.site_config_dir","platformdirs.site_data_dir","platformdirs.site_runtime_dir","platformdirs.user_runtime_dir","platformdirs.user_state_dir"]},"contractCommand":["python3","test/contract.py"],"environment":{"arch":"x64","distro":"ubuntu","ecosystem":"pypi","language":"python","libc":"glibc","libcVersion":"2.39","os":"linux","osVersionBucket":"24","packageManager":"pip","packageManagerVersion":"24.0","runtime":"python","runtimeVersion":"3.12","schemaVersion":1},"license":"MIT-0","packages":["pkg:pypi/platformdirs@4.11.0"],"schemaVersion":1,"subject":"pkg:pypi/platformdirs@4.11.0","symbols":["platformdirs.PlatformDirs","platformdirs.site_config_dir","platformdirs.site_data_dir","platformdirs.site_runtime_dir","platformdirs.user_runtime_dir","platformdirs.user_state_dir"],"verifierAdapter":"python@1"}
[project]
name = "verify-platformdirs-dirs"
version = "0.1.0"
dependencies = [
"platformdirs==4.11.0",
]
platformdirs==4.11.0
{
"schemaVersion": 1,
"goal": "platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations",
"kind": "HOW",
"packages": [
"pkg:pypi/platformdirs@4.11.0"
],
"symbols": [
"platformdirs.PlatformDirs",
"platformdirs.site_config_dir",
"platformdirs.site_data_dir",
"platformdirs.site_runtime_dir",
"platformdirs.user_runtime_dir",
"platformdirs.user_state_dir"
]
}
import os
import shutil
import tempfile
from pathlib import Path
from platformdirs import (
PlatformDirs,
site_config_dir,
site_config_path,
site_data_dir,
site_data_path,
site_runtime_dir,
site_runtime_path,
user_runtime_dir,
user_runtime_path,
user_state_dir,
user_state_path,
)
def test_user_state_dir_and_path():
app = "testapp"
ver = "1.0"
dirs = PlatformDirs(appname=app, appauthor=False, version=ver)
assert isinstance(dirs.user_state_dir, str)
assert isinstance(dirs.user_state_path, Path)
assert dirs.user_state_path == Path(dirs.user_state_dir)
assert user_state_dir(app, False, version=ver) == dirs.user_state_dir
assert user_state_path(app, False, version=ver) == dirs.user_state_path
orig_state = os.environ.get("XDG_STATE_HOME")
base_dir = tempfile.mkdtemp(prefix="xdg_state_test_")
try:
os.environ["XDG_STATE_HOME"] = base_dir
expected_state = os.path.join(base_dir, app, ver)
assert dirs.user_state_dir == expected_state
assert user_state_dir(app, False, version=ver) == expected_state
assert user_state_path(app, False, version=ver) == Path(expected_state)
finally:
if orig_state is not None:
os.environ["XDG_STATE_HOME"] = orig_state
else:
os.environ.pop("XDG_STATE_HOME", None)
shutil.rmtree(base_dir, ignore_errors=True)
def test_user_runtime_dir_and_path():
app = "testapp"
ver = "1.0"
dirs = PlatformDirs(appname=app, appauthor=False, version=ver)
assert isinstance(dirs.user_runtime_dir, str)
assert isinstance(dirs.user_runtime_path, Path)
assert dirs.user_runtime_path == Path(dirs.user_runtime_dir)
assert user_runtime_dir(app, False, version=ver) == dirs.user_runtime_dir
assert user_runtime_path(app, False, version=ver) == dirs.user_runtime_path
orig_runtime = os.environ.get("XDG_RUNTIME_DIR")
base_dir = tempfile.mkdtemp(prefix="xdg_runtime_test_")
try:
os.environ["XDG_RUNTIME_DIR"] = base_dir
expected_runtime = os.path.join(base_dir, app, ver)
assert dirs.user_runtime_dir == expected_runtime
assert user_runtime_dir(app, False, version=ver) == expected_runtime
assert user_runtime_path(app, False, version=ver) == Path(expected_runtime)
finally:
if orig_runtime is not None:
os.environ["XDG_RUNTIME_DIR"] = orig_runtime
else:
os.environ.pop("XDG_RUNTIME_DIR", None)
shutil.rmtree(base_dir, ignore_errors=True)
def test_site_data_dir_and_multipath():
app = "testapp"
ver = "1.0"
dirs_single = PlatformDirs(appname=app, appauthor=False, version=ver, multipath=False)
dirs_multi = PlatformDirs(appname=app, appauthor=False, version=ver, multipath=True)
assert dirs_single.site_data_dir == site_data_dir(app, False, version=ver, multipath=False)
assert dirs_multi.site_data_dir == site_data_dir(app, False, version=ver, multipath=True)
assert isinstance(dirs_single.site_data_path, Path)
assert dirs_single.site_data_path == Path(dirs_single.site_data_dir)
assert site_data_path(app, False, version=ver, multipath=False) == dirs_single.site_data_path
orig_data_dirs = os.environ.get("XDG_DATA_DIRS")
base_dir1 = tempfile.mkdtemp(prefix="xdg_data1_")
base_dir2 = tempfile.mkdtemp(prefix="xdg_data2_")
try:
os.environ["XDG_DATA_DIRS"] = f"{base_dir1}:{base_dir2}"
expected_single = os.path.join(base_dir1, app, ver)
expected_multi = f"{os.path.join(base_dir1, app, ver)}:{os.path.join(base_dir2, app, ver)}"
assert dirs_single.site_data_dir == expected_single
assert dirs_multi.site_data_dir == expected_multi
assert site_data_dir(app, False, version=ver, multipath=False) == expected_single
assert site_data_dir(app, False, version=ver, multipath=True) == expected_multi
finally:
if orig_data_dirs is not None:
os.environ["XDG_DATA_DIRS"] = orig_data_dirs
else:
os.environ.pop("XDG_DATA_DIRS", None)
shutil.rmtree(base_dir1, ignore_errors=True)
shutil.rmtree(base_dir2, ignore_errors=True)
def test_site_config_dir_and_multipath():
app = "testapp"
ver = "1.0"
dirs_single = PlatformDirs(appname=app, appauthor=False, version=ver, multipath=False)
dirs_multi = PlatformDirs(appname=app, appauthor=False, version=ver, multipath=True)
assert dirs_single.site_config_dir == site_config_dir(app, False, version=ver, multipath=False)
assert dirs_multi.site_config_dir == site_config_dir(app, False, version=ver, multipath=True)
assert isinstance(dirs_single.site_config_path, Path)
assert dirs_single.site_config_path == Path(dirs_single.site_config_dir)
assert site_config_path(app, False, version=ver, multipath=False) == dirs_single.site_config_path
orig_config_dirs = os.environ.get("XDG_CONFIG_DIRS")
base_dir1 = tempfile.mkdtemp(prefix="xdg_config1_")
base_dir2 = tempfile.mkdtemp(prefix="xdg_config2_")
try:
os.environ["XDG_CONFIG_DIRS"] = f"{base_dir1}:{base_dir2}"
expected_single = os.path.join(base_dir1, app, ver)
expected_multi = f"{os.path.join(base_dir1, app, ver)}:{os.path.join(base_dir2, app, ver)}"
assert dirs_single.site_config_dir == expected_single
assert dirs_multi.site_config_dir == expected_multi
assert site_config_dir(app, False, version=ver, multipath=False) == expected_single
assert site_config_dir(app, False, version=ver, multipath=True) == expected_multi
finally:
if orig_config_dirs is not None:
os.environ["XDG_CONFIG_DIRS"] = orig_config_dirs
else:
os.environ.pop("XDG_CONFIG_DIRS", None)
shutil.rmtree(base_dir1, ignore_errors=True)
shutil.rmtree(base_dir2, ignore_errors=True)
def test_site_runtime_dir_and_path():
app = "testapp"
ver = "1.0"
dirs = PlatformDirs(appname=app, appauthor=False, version=ver)
assert isinstance(dirs.site_runtime_dir, str)
assert isinstance(dirs.site_runtime_path, Path)
assert dirs.site_runtime_path == Path(dirs.site_runtime_dir)
assert site_runtime_dir(app, False, version=ver) == dirs.site_runtime_dir
assert site_runtime_path(app, False, version=ver) == dirs.site_runtime_path
def test_ensure_exists_and_opinion():
app = "testapp"
dirs_opinion = PlatformDirs(appname=app, appauthor=False, opinion=True)
dirs_no_opinion = PlatformDirs(appname=app, appauthor=False, opinion=False)
assert dirs_opinion.opinion is True
assert dirs_no_opinion.opinion is False
base_dir = tempfile.mkdtemp(prefix="xdg_ensure_test_")
orig_state = os.environ.get("XDG_STATE_HOME")
try:
os.environ["XDG_STATE_HOME"] = base_dir
dirs_ensure = PlatformDirs(appname=app, appauthor=False, ensure_exists=True)
state_dir = dirs_ensure.user_state_dir
assert os.path.isdir(state_dir)
finally:
if orig_state is not None:
os.environ["XDG_STATE_HOME"] = orig_state
else:
os.environ.pop("XDG_STATE_HOME", None)
shutil.rmtree(base_dir, ignore_errors=True)
def main():
test_user_state_dir_and_path()
test_user_runtime_dir_and_path()
test_site_data_dir_and_multipath()
test_site_config_dir_and_multipath()
test_site_runtime_dir_and_path()
test_ensure_exists_and_opinion()
print("All contract assertions passed.")
if __name__ == "__main__":
main()
オリジンシーダー
匿名