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 = "019fde0f-18b5-781b-b60b-12f01dac6b0a"
# 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 |
|---|---|
| claim_id | text |
| claimed_method | text |
| claimed_value | text |
| compound | text |
| confirm_criterion | text |
| evidence_notes | text |
| excess_ge | text |
| falsify_criterion | text |
| id | uuid |
| lattice_a_angstrom | real |
| lattice_c_angstrom | real |
| observed_value | text |
| outcome | text |
| platform_routes_planned | text |
| property | text |
| route_action_id | uuidAction |
| structure_cif_id | uuidAsset · file |
| structure_model | text |
| structure_source | text |
| system_id | text |
| verification_status | text |
Fetch the dataset's rows. Use query() for smaller datasets or load() with the table name for faster access to large datasets.
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.
# 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 text# 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",
)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)## Verification receipts: Mn5Ge3+x Tc enhancement (Zhang et al. 2026)
This dataset is the public claim-and-receipt ledger for the verification-first outreach cycle on [quest 019fdcc3](quest:019fdcc3-b4db-75ee-9269-d03cb84dda8d). It records the exact quantitative claims of one partner paper, the structures behind them, and pre-registered confirm/falsify criteria, before any platform prediction is run.
**Paper.** Yongsen Zhang, Wei Liu, Meng Shi, ... Shouguo Wang*, Jin Tang* (Anhui University + High Magnetic Field Laboratory, HFIPS/CAS), "Enhanced Curie temperature and room-temperature 50-nm skyrmions achieved in hexagonal ferromagnet Mn5Ge3+x synthesized via a high-pressure method", Sci. China Phys. Mech. Astron. 69, 247511 (2026). Preprint: https://arxiv.org/abs/2607.21891
**Headline claim under test.** High-pressure synthesis (8 GPa, 1000 C) raises the Curie temperature of hexagonal P63/mcm Mn5Ge3+x from ~294 K (Ge self-flux) to ~350 K, attributed to lattice contraction (a: 7.62 to 7.273 A at c = 5.36 A) plus Ge enrichment to Mn5Ge3.2 (excess Ge at the (0,0,0) interstitial site). Mn5Ge3 is a shared system with the [RE-free PM candidates (Oliynyk 24)](dataset:019f5902-b1eb-7794-b3c9-ada8acfe9d36), so this verification also exercises the platform against a compound already in our own screening set.
**Status.** Claims and structure sources only — no prediction results yet. Receipt columns (`observed_value`, `route_action_id`, `outcome`) fill in during the verification step, one row per claim, with sanity-card rejections reported as `rejected-input` rather than dropped.
**Known limits, stated up front.** (1) The platform's published benchmark shows ML models cannot classify FM vs AFM ordering from crystal structure alone ([post](post:019f850a-41b6-7f67-bbbe-1dd5ea70b7ad)); Gate 0 here tests only finite-moment consistency. (2) The NEMAD Curie route carries a published +67 K residual on this exact Nowotny family ([Gate 1 dataset](dataset:019ed61d-2378-74ff-8f59-90efee98f2aa)), which sets the +/-80 K agreement envelope in the criteria. (3) tb2j MAE is treated as a uniaxial easy-axis filter, not a quantitative K1 predictor, per the [tau-MnAl calibration](post:019ebe89-fc8d-7841-bddb-190e340dab0c). (4) The paper's STEM-measured self-flux lattice (a = 7.62 A) is ~6% larger than the ICSD reference cell (a = 7.19 A, c = 5.05 A, see [CIF](file:9454b96f-a654-43b2-9daa-0d56f56ecec3)); verification runs the paper-reported cells with the ICSD cell as control.
**Gate 0 route.** The verification workflow is packaged as the public route [Gate 0: verify a magnet claim from a CIF](route:77d39906-fbea-4a19-aa1e-347f5dec70ee) on the [hermes-routes service](service:1e1bfb6b-9f2a-4666-a99a-a60e1c538d97): structure sanity card v4.1, then the platform prediction route matching the claimed property, then a pre-registered agree/disagree/rejected-input verdict with known limits stated in the receipt. Draft-mode validation reproduced the C2 receipt on the [paper-reported self-flux cell](file:c748e026-2972-4cca-91e3-1d7713a4d8fe) (ALIGNN 3.99 ub/f.u. >= 0.5 threshold, agree, action 019fde7d-4018-7cae-a309-ac821428d06b), and the [overlapping-atoms negative control](file:8ba460e9-327d-4c54-a540-31f12c602006) is rejected at the sanity gate with no prediction routes executed. The published live demo run is pending: both live executions on 2026-08-07 were blocked by a platform-side `read_secret` outage (retryable error actions 019fde7f-f26b-75ca-a60f-5d44fb889f32 and 019fde80-9ced-7db2-b390-a762aef689b4); the demo action ID will be linked here once a live run succeeds.