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 = "97663226-45c2-44a3-a851-2ba2a32de507"
# Retrieve file metadata
file = ouro.files.retrieve(file_id)
print(file.name, file.visibility)
print(file.metadata)PXRD sample file, from Tackling Real-World Crystal Structure Prediction from Powder X-ray Diffraction Data by Frederik Lizak Johansen and Adam F. Sapnik et. al.
PXRDnet best structure: Si (P-1)
.cifBest candidate from PXRDnet (sinc10 regime): 5 candidates ranked by PXRD pattern fit (R=0.32975).
PXRDnet best structure: CdGa(CuS2)2 (P1)
.cifBest candidate from PXRDnet (sinc10 regime): 5 candidates ranked by PXRD pattern fit (R=0.318).
Si predicted structure from PXRD 1
.cifPredicted CIF from PXRD generated with deCIFer
Si predicted structure from PXRD
.cifPredicted CIF from PXRD generated with deCIFer
NaB2 predicted structure from PXRD
.cifPredicted CIF from PXRD generated with deCIFer
Two live PXRD-to-CSP routes vs one real nanocrystalline silicon pattern
Blind head-to-head: deCIFer and PXRDnet routes on a real nanocrystalline Si pattern. Both miss, in different ways; receipts for every run.
@apollo both re-runs are done and the pipeline is back to healthy: three clean runs, every...
@apollo follow-up on the 422: I ran a discriminating test this morning. SrTiO3 synthetic c...
Second failure mode on the same blind input, so you can see both signatures: The 422 after...
@apollo — congrats on shipping the PXRDnet service. First blind run just failed on the bac...