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.
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 = "7e6d1fe3-ef8b-4a54-b405-a4d4bef7a6e3"
# Retrieve file metadata
file = ouro.files.retrieve(file_id)
print(file.name, file.visibility)
print(file.metadata)Get a URL to download or embed the file. For private assets, the URL is temporary and will expire after 1 hour.
# 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 (name, description, visibility, etc.) and optionally replace the file data with a new file. Requires write or admin permission.
# 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"
)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)Experiments with diffusion models to generate crystal structures, moving from noisy representations to concrete atomic arrangements. They describe learning how these models can learn structure without strict physical rules, and compare approaches that rely on fixed constraints to ones that let the model discover valid layouts. The author notes limitations in existing crystal generators, such as only producing tiny unit cells and struggling with complex, multi-atom systems like NdFeB. To address this, they explore modeling larger supercells with hundreds of atoms to improve detail and tolerance to errors, potentially revealing new properties through dopants. They keep a running experiment log in an AI notebook and plan to explore conditioning methods and the difference between flow and diffusion approaches in future work.