← Files JinkōARCHIVED FILE
skills/jinko-calibration-subsampling/scripts/inspect_subsampling_design.py
3.02 KB · Oct 5, 2026 · 18:30 UTC
#!/usr/bin/env python3
"""Inspect a Jinkō subsampling design without mutating it."""
from __future__ import annotations
import argparse
import json
import sys
from typing import Any
try:
from dotenv import load_dotenv
except ImportError: # pragma: no cover - environment dependent
load_dotenv = None
def load_env() -> None:
if load_dotenv is not None:
load_dotenv()
def load_sdk():
try:
from jinko import JinkoClient
from jinko.exceptions import JinkoError
except ImportError:
print(
"Cannot import jinko. Install the SDK: pip install jinko-sdk",
file=sys.stderr,
)
return None
return JinkoClient, JinkoError
def jsonable(value: Any) -> Any:
dump = getattr(value, "model_dump", None)
return dump(mode="json") if callable(dump) else value
def main() -> int:
parser = argparse.ArgumentParser(description="Inspect a Jinkō subsampling design.")
parser.add_argument("--subsampling-design-sid", required=True)
parser.add_argument("--content", action="store_true")
parser.add_argument("--diagnostics", action="store_true")
parser.add_argument("--source-trial", action="store_true")
parser.add_argument("--generated-vpops", action="store_true")
args = parser.parse_args()
if not any((
args.content,
args.diagnostics,
args.source_trial,
args.generated_vpops,
)):
print("Pass at least one inspection option.", file=sys.stderr)
return 1
load_env()
sdk = load_sdk()
if sdk is None:
return 1
JinkoClient, JinkoError = sdk
try:
design = JinkoClient().get_subsampling_design(args.subsampling_design_sid)
if args.content:
print(json.dumps(design.content(), indent=2, sort_keys=True))
if args.diagnostics:
print(design.diagnostics.explain())
if args.source_trial:
trial = design.source_trial
print(f"{trial.sid}\t{trial.name}\t{trial.url}")
if args.generated_vpops:
for entry in design.generated_vpops.list_with_details():
print(
json.dumps(
{
"vpop_sid": entry.vpop.sid,
"vpop_url": entry.vpop.url,
"design_revision": entry.revision,
"options": jsonable(entry.options),
"subsampling_fitness": jsonable(entry.subsampling_fitness),
},
indent=2,
sort_keys=True,
)
)
return 0
except (ValueError, RuntimeError, JinkoError) as exc:
print(f"Subsampling-design inspection failed: {exc}", file=sys.stderr)
return 2
except Exception as exc: # noqa: BLE001
print(
f"Subsampling-design inspection failed unexpectedly: {exc}", file=sys.stderr
)
return 4
if __name__ == "__main__":
raise SystemExit(main())
SHA-256: 004f40ce41766df87000aecf016a47b78f995635923c3905b4429bd0b660a14e