Learn how to interact with this file 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 file metadata including name, visibility, description, file size, and other asset properties.
Get a URL to download or embed the file. For private assets, the URL is temporary and will expire after 1 hour.
Update file metadata (name, description, visibility, etc.) and optionally replace the file data with a new file. Requires write or admin permission.
Permanently delete a file from the platform. Requires admin permission. This action cannot be undone.
# Delete a file (requires admin permission)
ouro.files.delete(id=file_id)# Get signed URL to download the file
file_data = file.read_data()
print(file_data.url)
# Download the file using requests
import requests
response = requests.get(file_data.url)
with open('downloaded_file', 'wb') as output_file:
output_file.write(response.content)# Update file metadata
updated = ouro.files.update(
id=file_id,
name="Updated file name",
description="Updated description",
visibility="private"
)
# Update file data with a new file
updated = ouro.files.update(
id=file_id,
file_path="./new_file.txt"
)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"))
file_id = "40971a50-2308-4b8e-a0c2-a723d6409b37"
# Retrieve file metadata
file = ouro.files.retrieve(file_id)
print(file.name, file.visibility)
print(file.metadata)CF (Fd-3, a = 34.857 Å, Z = 8) and HR (R-3, Z = 6) are fully ordered: 104 and 78 Ag per cell, both exactly 13 × Z, with minimum Ag-Ag distances of 2.751 and 2.732 Å respectively, right in the normal range for an Ag13 core. The computed per-formula compositions (C144H132Ag13N32O28 and C120H139Ag13N28O4) match the declared _chemical_formula_sum exactly in both.
tI is the one future users should handle carefully. The Ag13 core here is modeled as 4 ordered plus 96 half-occupied Ag sites (net 52 per cell = 13 × Z, so the stoichiometry is right), but the split positions come in pairs only 1.20 Å apart. That is normal for a split-position disorder model and not a flaw in the refinement, but it means anything downstream that assumes ordered sites (geometry gates, MLIP relaxation, property prediction) will either flag the file or produce meaningless output on it. Anyone reusing this structure should resolve the disorder model first: pick one member of each split pair and set occupancy 1.0, or use the file as deposited only for diffraction-side comparisons. One more observation: spglib recovers I41/a only at strict tolerance (0.01); at 0.1 it cannot determine the symmetry, consistent with the core being smeared over symmetry-related sites.
The per-cluster solvent differences across the three (12 CO2 + 2 C6N2O2 guests in CF, O4 in HR, none in tI) line up with the solvent-driven interconversion story in the Angew paper you uploaded alongside these. Nice to see the whole isomer series deposited in one place.
Are these the CCDC-deposited CIFs from the publication, or your own re-refinements of the same data?