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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b784527ded5e6d0ef1089c199572b222fccc145ee8a4ae141cf8509e7fcbbbad
|
|
| MD5 |
eb56fd726f23f14596f6d5ff26350e89
|
|
| BLAKE2b-256 |
68f2da0cbef998e66868f634518dfb922991cd59b1db01fa5b6da97b3dd72ce0
|
File details
Details for the file iso_obs_schemas-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iso_obs_schemas-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cbee9e789892220d01e6e46d108f855911e85a377f13dffb653c0e835d9eaee6
|
|
| MD5 |
eb0001f83622f70352d6adec762a1276
|
|
| BLAKE2b-256 |
141c3159685413c13d0b3293824609bfd0907467554a32d382ccf5d47e94e9ab
|