INNER CODE UNIT · Python
validate_manifest
RockxyApp/Rockxy · releases/validate_metadata.py:426
def validate_manifest(path: Path, *, require_provenance: bool = False) -> dict[str, Any]:
manifest = load_json(path)
ensure_public_safe(path, manifest)
validate_distribution_provenance(
path,
manifest,
LATEST_PROVENANCE_REQUIRED,
snake_case=False,
require_all=require_provenance,
)
release = latest_release_object(manifest)
missing = sorted(key for key in CATALOG_REQUIRED if release.get(key) in ("", None))
if missing:
fail(f"{path} missing required public manifest metadata: {', '.join(missing)}")
release["release_date"] = validate_utc_release_date(release["release_date"], f"{path} release_date")
return release