Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """Report integration readiness without printing secrets.""" | |
| from __future__ import annotations | |
| import importlib.util | |
| import json | |
| from proofframe.config import Settings | |
| def available(module: str) -> bool: | |
| return importlib.util.find_spec(module) is not None | |
| def main() -> None: | |
| settings = Settings.from_env() | |
| report = { | |
| "storage_backend": settings.storage_backend, | |
| "generation_backend": settings.generation_backend, | |
| "b2": { | |
| "configured": bool( | |
| settings.b2_endpoint_url | |
| and settings.b2_bucket | |
| and settings.b2_key_id | |
| and settings.b2_application_key | |
| ), | |
| "has_endpoint": bool(settings.b2_endpoint_url), | |
| "has_bucket": bool(settings.b2_bucket), | |
| "has_key_id": bool(settings.b2_key_id), | |
| "has_application_key": bool(settings.b2_application_key), | |
| "has_region_for_genblaze_sink": bool(settings.b2_region_for_backblaze()), | |
| "boto3_available": available("boto3"), | |
| }, | |
| "genblaze": { | |
| "configured": settings.genblaze_configured(), | |
| "provider": settings.genblaze_provider, | |
| "has_base_url_override": bool(settings.genblaze_base_url), | |
| "has_model": bool(settings.genblaze_image_model), | |
| "requires_api_key": settings.genblaze_provider_requires_key(), | |
| "has_api_key": bool(settings.genblaze_provider_key()), | |
| "genblaze_core_available": available("genblaze_core"), | |
| "genblaze_s3_available": available("genblaze_s3"), | |
| "genblaze_gmicloud_available": available("genblaze_gmicloud"), | |
| "genblaze_openai_available": available("genblaze_openai"), | |
| "provider_modules_available": all( | |
| available(module) for module in settings.genblaze_provider_modules() | |
| ), | |
| }, | |
| } | |
| print(json.dumps(report, indent=2)) | |
| if __name__ == "__main__": | |
| main() | |