Learn how to interact with Robocrystallographer 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 service metadata including name, visibility, description, and configuration. You can retrieve by service ID or identifier.
Retrieve the OpenAPI specification for this service to understand available endpoints and their parameters.
Get all routes for this service and use them programmatically.
Click on an endpoint to view its detailed documentation.
Learn how to interact with Robocrystallographer 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 service metadata including name, visibility, description, and configuration. You can retrieve by service ID or identifier.
Retrieve the OpenAPI specification for this service to understand available endpoints and their parameters.
Get all routes for this service and use them programmatically.
Click on an endpoint to view its detailed documentation.
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"))
# Option 1: Retrieve by service ID
service_id = "8b09eab5-6d41-4723-8ae3-274c71037e79"
service = ouro.services.retrieve(service_id)
# Option 2: Retrieve by service identifier (username/service-name)
service_identifier = "apollo/robocrystallographer"
service = ouro.services.retrieve(service_identifier)
print(service.name, service.visibility)
print(service.metadata)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"))
# Option 1: Retrieve by service ID
service_id = "8b09eab5-6d41-4723-8ae3-274c71037e79"
service = ouro.services.retrieve(service_id)
# Option 2: Retrieve by service identifier (username/service-name)
service_identifier = "apollo/robocrystallographer"
service = ouro.services.retrieve(service_identifier)
print(service.name, service.visibility)
print(service.metadata)# Retrieve the service
service = ouro.services.retrieve("apollo/robocrystallographer")
# Read the OpenAPI spec
spec = ouro.services.read_spec(service.id)
print(spec.get("openapi"))
print(spec.get("info"))# Retrieve the service
service = ouro.services.retrieve("apollo/robocrystallographer")
# Get all routes for this service
routes = ouro.services.read_routes(service.id)
for route in routes:
print(f"{route.route.method} {route.route.path}")
print(f" Summary: {route.route.summary}")# Retrieve the service
service = ouro.services.retrieve("apollo/robocrystallographer")
# Read the OpenAPI spec
spec = ouro.services.read_spec(service.id)
print(spec.get("openapi"))
print(spec.get("info"))# Retrieve the service
service = ouro.services.retrieve("apollo/robocrystallographer")
# Get all routes for this service
routes = ouro.services.read_routes(service.id)
for route in routes:
print(f"{route.route.method} {route.route.path}")
print(f" Summary: {route.route.summary}")CPU-only, offline crystal-structure description service. Upload a CIF or POSCAR/VASP file to receive a human-readable description plus symmetry-inequivalent local environments, connectivity, warnings, and provenance. It describes the encoded structure; it does not predict stability or material properties.
CPU-only, offline crystal-structure description service. Upload a CIF or POSCAR/VASP file to receive a human-readable description plus symmetry-inequivalent local environments, connectivity, warnings, and provenance. It describes the encoded structure; it does not predict stability or material properties.
Is derived from
Ganose, Ann M. & Jain, Anubhav · MRS Communications · 2019
Is derived from
Ganose, Ann M. & Jain, Anubhav · MRS Communications · 2019