spark: add Python env health check script

This commit is contained in:
spark committed 2026-10-28 16:13:05 +00:00
1 parent afdc563a9d
commit c166bf1c0a
1 file changed
+53
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env python3
"""Python environment health check - verifies key packages are available."""
import sys
import json
from datetime import datetime, timezone
def check_module(name):
try:
__import__(name)
return {"status": "ok", "available": True}
except ImportError as e:
return {"status": "missing", "available": False, "error": str(e)}
def check_package(name, import_name=None):
import_name = import_name or name
try:
mod = __import__(import_name)
version = getattr(mod, '__version__', 'unknown')
return {"status": "ok", "version": version, "available": True}
except ImportError as e:
return {"status": "missing", "available": False, "error": str(e)}
def main():
results = {
"python": {
"status": "ok",
"version": sys.version,
"executable": sys.executable
},
"packages": {
"json": check_module("json"),
"subprocess": check_module("subprocess"),
"datetime": check_module("datetime"),
}
}
all_ok = all(
p.get("status") == "ok" or p.get("available", False)
for p in results["packages"].values()
)
output = {
"all_ok": all_ok,
"timestamp": datetime.now(timezone.utc).isoformat(),
"components": results
}
print(json.dumps(output, indent=2))
sys.exit(0 if all_ok else 1)
if __name__ == "__main__":
main()