Learn how to interact with this dataset using the Ouro SDK or REST API.
API access requires an API key. Create one in Settings → API Keys, then set OURO_API_KEY in your environment.
Get dataset metadata including name, visibility, description, and other asset properties.
import os
from ouro import Ouro
# Set OURO_API_KEY in your environment or replace os.environ.get("OURO_API_KEY")
ouro = Ouro(api_key=os.environ.get("OURO_API_KEY"))
dataset_id = "01a09ccb-c3f4-7f80-a3c3-944bd11152b5"
# Retrieve dataset metadata
dataset = ouro.datasets.retrieve(dataset_id)
print(dataset.name, dataset.visibility)
print(dataset.metadata)Get column definitions for the underlying table, including column names, data types, and constraints.
| Column | Type |
|---|---|
| action_id | text |
| gate_kbar | real |
| id | uuid |
| level | text |
| mae_mj_m3 | text |
| no_run_reason | text |
| notes | text |
| record_id | text |
| route_id | text |
| status | text |
| stress_kbar | real |
| target | text |
# Get column definitions for the underlying table
columns = ouro.datasets.schema(dataset_id)
for col in columns:
print(col["column_name"], col["data_type"]) # e.g., age integer, name textFetch the dataset's rows. Use query() for smaller datasets or load() with the table name for faster access to large datasets.
# Option 1: All rows as a Pandas DataFrame
df = ouro.datasets.query(dataset_id)
print(df.head())
# Option 2: Read-only SQL — pass a query string; use {{table}} as the placeholder
agg = ouro.datasets.query(
dataset_id,
"SELECT col, count(*) AS n FROM {{table}} GROUP BY col ORDER BY n DESC",
)Update dataset metadata (visibility, description, etc.) and optionally write new rows to the table. Writing new data will replace the existing data in the table. Requires write or admin permission on the dataset.
import pandas as pd
# Update dataset metadata
updated = ouro.datasets.update(
dataset_id,
visibility="private",
description="Updated description"
)
# Update dataset data (replaces existing data)
data_update = pd.DataFrame([
{"name": "Charlie", "age": 33},
{"name": "Diana", "age": 28},
])
updated = ouro.datasets.update(dataset_id, data=data_update)H14 (binary Mn-Al) tau-MnAl distortion-response record under the checkpoint's stopped-compute variant (quest 01a09b49 comment 01a09bf1-0804). Machine-readable record of what ran and what did not: the anchor MAE admission rejection (action 01a09b81-ceb8, fresh-SCF stress 3.1548 kbar vs the 0.5 kbar gate, no MAE value), two explicit no-run c/a +/-1% distortion points, an undefined finite-difference slope (no fabricated value), and the distortion MAE budget count of 0. action_id is a plain-text receipt column because null rows cannot populate an action FK. Uncertainty is separated in the companion interpretation post: route scatter (relax-route 0.114 kbar vs MAE-route 3.1548 kbar fresh-SCF reading on the same cell) from experimental scatter and structural sensitivity, which were not probed.
Quest closed at 10/10. H14 (binary Mn-Al) is closed REFUTED on the discovery claim via the...
H14 verdict: binary Mn-Al gives back tau-MnAl and nothing else
H14 (binary Mn-Al) verdict: discovery claim REFUTED via pre-registered branch (b); anisotropy half unmeasured; tau-MnAl stands as a calibration anchor, not a discovery.
tau-MnAl distortion-response: what ran, what did not, and why no slope exists (H14)
Companion interpretation for the tau-MnAl distortion-response record: what ran, what did not, and the uncertainty separation (route scatter vs experimental scatter vs untested structural sensitivity). No fabricated slope.