petitRADTRANS.sbi.compatibility#
Compatibility metadata and schema checks for SBI task families.
Exceptions#
Raised when an observation or artifact is incompatible with a task. |
Classes#
Deterministic fingerprint of an SBI task family. |
|
Describe whether two task-family descriptors are compatible. |
Functions#
|
|
|
Return a deterministic SHA256 digest for a JSON-serializable payload. |
|
Compare two mapping payloads and report incompatible keys or values. |
Module Contents#
- petitRADTRANS.sbi.compatibility._freeze_json_value(value: Any) Any#
- petitRADTRANS.sbi.compatibility.make_digest(payload: Mapping[str, Any]) str#
Return a deterministic SHA256 digest for a JSON-serializable payload.
- class petitRADTRANS.sbi.compatibility.TaskFingerprint#
Deterministic fingerprint of an SBI task family.
- digest: str#
- payload: Mapping[str, Any]#
- classmethod from_payload(payload: Mapping[str, Any]) TaskFingerprint#
- class petitRADTRANS.sbi.compatibility.CompatibilityReport#
Describe whether two task-family descriptors are compatible.
- is_compatible: bool#
- mismatches: tuple[str, Ellipsis] = ()#
- expected: Mapping[str, Any]#
- observed: Mapping[str, Any]#
- raise_for_incompatibility() None#
Raise a typed error when the report contains mismatches.
- exception petitRADTRANS.sbi.compatibility.TaskCompatibilityError#
Bases:
ValueErrorRaised when an observation or artifact is incompatible with a task.
- petitRADTRANS.sbi.compatibility.compare_named_mappings(expected: Mapping[str, Any], observed: Mapping[str, Any], prefix: str) CompatibilityReport#
Compare two mapping payloads and report incompatible keys or values.