umpyre.schema#

Versioned schema for metrics storage and migration support.

Classes

MetricSchema([version])

Versioned schema for metrics storage with migration support.

class umpyre.schema.MetricSchema(version='1.0')[source]#

Bases: object

Versioned schema for metrics storage with migration support.

classmethod create_metric_data(commit_sha, metrics, commit_message=None, python_version=None, workflow_status=None, collection_duration=None)[source]#

Create a standardized metric data structure.

Parameters:
  • commit_sha (str) – Git commit SHA

  • metrics (dict) – Dictionary of collected metrics

  • commit_message (Optional[str]) – Optional commit message

  • python_version (Optional[str]) – Optional Python version string

  • workflow_status (Optional[dict]) – Optional workflow status dict

  • collection_duration (Optional[float]) – Optional collection time in seconds

Return type:

dict

Returns:

Standardized metric dictionary

classmethod current_version()[source]#

Return the current schema version.

Return type:

str

classmethod migrate(data, from_version)[source]#

Migrate data from old schema version to current version.

Parameters:
  • data (dict) – Metric data in old format

  • from_version (str) – Version of the input data

Return type:

dict

Returns:

Migrated data in current schema format

classmethod validate(data)[source]#

Validate that data conforms to schema.

Parameters:

data (dict) – Metric data to validate

Return type:

bool

Returns:

True if valid, raises ValueError otherwise