#!/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()