24 lines
738 B
Python
24 lines
738 B
Python
import json
|
|
import os
|
|
from pathlib import Path
|
|
|
|
from guardrails.types.validator_registry import ValidatorRegistry
|
|
from guardrails.logger import logger
|
|
|
|
|
|
def get_registry_path() -> Path:
|
|
"""Return the project-level registry path."""
|
|
return Path(os.getcwd()) / ".guardrails" / "hub_registry.json"
|
|
|
|
|
|
def get_registry() -> ValidatorRegistry:
|
|
registry_file = get_registry_path()
|
|
try:
|
|
registry_str = registry_file.read_text()
|
|
registry_dict = json.loads(registry_str)
|
|
registry = ValidatorRegistry.model_validate(registry_dict)
|
|
return registry
|
|
except (json.JSONDecodeError, OSError):
|
|
logger.warning("Failed to read hub registry at %s", registry_file)
|
|
return ValidatorRegistry()
|