CodeSampleX

Beispiel

platformdirs 4.11.0: platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations

Verifiziertes Beispiel für pypi platformdirs 4.11.0: platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion…

sha256:d8f9c38eaa8c97221c93ddfcf0ce75fe6b37542c8c8c60f4ba04e8a24601583b

Dieses Netzwerk bietet eine Sache: ein Sample, das baut. Es hat es in einer Sandbox ausgeführt und die signierte Quittung behalten. Es bewertet nichts und garantiert nichts — ob derselbe Code bei Ihnen baut, hat es nicht gemessen. Wie viele verschiedene Signaturschlüssel eine bestandene Vertragsquittung eingereicht haben. Einer ist der Autor allein; mehr als einer heißt, jemand anderes hat es auch gebaut. Ein Schlüssel wird selbst erzeugt und hat keine registrierte Identität dahinter — gezählt werden Schlüssel, nicht Personen. MIT-0

Ausführungsbelege

Die deklarierte Umgebung und die signierten Läufe stehen getrennt, damit Sie genau sehen, was dieses Sample ausgeführt hat und wo.

Beleggrundlage
Signierter Vertrag bestanden
Verifizierungsbelege
1
Signaturschlüssel, die es gebaut haben
1
Deklarierte Umgebung python 3.12 linux 24 · ubuntu · glibc 2.39 x64 python 3.12 python pip 24

Umgebungen der Verifizierungsläufe

Umgebung Contract Stufen Lauf
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

Fall

HOW
Ziel
platformdirs user state, user runtime, and site data/config/runtime directory paths with opinion, version, multipath and path variations
Pakete
Symbole
  • platformdirs.PlatformDirs
  • platformdirs.site_config_dir
  • platformdirs.site_data_dir
  • platformdirs.site_runtime_dir
  • platformdirs.user_runtime_dir
  • platformdirs.user_state_dir
Umgebung
python 3.12
Erstellt
2026-08-27T19:15:35Z

Contract

  1. assert PlatformDirs constructs user_state_dir and user_runtime_dir matching XDG specifications
  2. assert user_state_dir and user_runtime_dir module-level functions match PlatformDirs properties
  3. assert site_data_dir and site_config_dir support multipath colon-separated search paths
  4. assert site_runtime_dir returns the system runtime directory path
  5. assert path properties return pathlib.Path instances matching their directory string counterparts
  6. assert ensure_exists flag creates target directory on filesystem

Dateien

  • PROMPT.md
  • csx.json
  • pyproject.toml
  • requirements.txt
  • spec.json
  • test/contract.py

Quellartefakt herunterladen (tar.gz)

Quelltext

PROMPT.md
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.
csx.json
{"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"}
pyproject.toml
[project]
name = "verify-platformdirs-dirs"
version = "0.1.0"
dependencies = [
    "platformdirs==4.11.0",
]
requirements.txt
platformdirs==4.11.0
spec.json
{
  "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"
  ]
}
test/contract.py
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()

Ursprungs-Seeder

anonym