Skip to main content

Authoritative shared schema contract for Reliability Studio (Iso AI).

Project description

iso-obs-schemas

The authoritative shared schema contract for Reliability Studio by Iso AI. This package defines the Pydantic v2 models that every other part of the system is built against:

  • the Python SDK (iso_obs) emits traces shaped by these models,
  • the API (apps/api) validates and persists them,
  • the web app (apps/web) code-generates its TypeScript types from the JSON Schema exported here.

If a shape changes here, it changes everywhere. Treat this package as the single source of truth and change it deliberately.

  • PyPI name: iso-obs-schemas
  • Import name: iso_obs_schemas
  • Python: >=3.12

Install

pip install iso-obs-schemas
# for development (tests):
pip install "iso-obs-schemas[dev]"

What's inside

Module Contents
ids Typed, prefixed id convention (IdPrefix, generate_id, validated id aliases)
enums Shared StrEnum vocabularies (EventType, RunStatus, FailureCategory, Severity, SystemType, PerturbationFamily, MetricDirection, WorkspaceRole)
core The eight core objects and their versions, plus Run
events BaseEvent trace schema and typed payload models
metrics MetricValue, MetricDefinition, Invariant, Gate
reports Finding, ReliabilityReport
from iso_obs_schemas import Run, BaseEvent, RunStatus, generate_id, IdPrefix

run = Run(
    id=generate_id(IdPrefix.RUN),
    workspace_id=generate_id(IdPrefix.WORKSPACE),
    project_id=generate_id(IdPrefix.PROJECT),
    suite_execution_id=generate_id(IdPrefix.EVALUATION_SUITE),
    system_version_id=generate_id(IdPrefix.SYSTEM_VERSION),
    environment_version_id=generate_id(IdPrefix.ENVIRONMENT_VERSION),
    scenario_version_id=generate_id(IdPrefix.SCENARIO_VERSION),
    seed=7,
    status=RunStatus.COMPLETED,
)

Typed id conventions

Every persistent object carries a typed, prefixed string id (e.g. run_9f8c2a...). The prefix names the object kind, so ids are self-describing in logs, traces, and URLs, and the API can reject a mismatched id at the edge. The prefix set is closed — adding a kind means adding an IdPrefix member and a matching validated alias in ids.py.

Prefix Object
ws_ Workspace
prj_ Project
sys_ System
sv_ SystemVersion
env_ Environment
ev_ EnvironmentVersion
scn_ Scenario
scv_ ScenarioVersion
suite_ EvaluationSuite / suite execution
run_ Run
evt_ Trace event
fail_ Failure
cmp_ Comparison
rpt_ Report
key_ API key
wh_ Webhook

The id aliases are validated: assigning a ws_... id to a field typed as a ProjectId raises a ValidationError.

Exporting JSON Schema

The web app codegen consumes JSON Schema for the public models. Regenerate it into schemas/json/ with:

python -m scripts.export_json_schema

Tests

pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iso_obs_schemas-0.1.0.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iso_obs_schemas-0.1.0-py3-none-any.whl (18.5 kB view details)

Uploaded Python 3

File details

Details for the file iso_obs_schemas-0.1.0.tar.gz.

File metadata

  • Download URL: iso_obs_schemas-0.1.0.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.4

File hashes

Hashes for iso_obs_schemas-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b784527ded5e6d0ef1089c199572b222fccc145ee8a4ae141cf8509e7fcbbbad
MD5 eb56fd726f23f14596f6d5ff26350e89
BLAKE2b-256 68f2da0cbef998e66868f634518dfb922991cd59b1db01fa5b6da97b3dd72ce0

See more details on using hashes here.

File details

Details for the file iso_obs_schemas-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iso_obs_schemas-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cbee9e789892220d01e6e46d108f855911e85a377f13dffb653c0e835d9eaee6
MD5 eb0001f83622f70352d6adec762a1276
BLAKE2b-256 141c3159685413c13d0b3293824609bfd0907467554a32d382ccf5d47e94e9ab

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page