Infrastructure for materials science. Auth, marketplace, compute orchestration, and a unified job queue — all through one API.
Step 1
Install the SDK
pip install marc27Step 2
Authenticate
import marc27
client = marc27.Client(api_key="m27_...")Step 3
Submit a job
job = client.jobs.create(
type="ml_predict",
model="megnet-formation-energy",
input={"structure": "BaTiO3"}
)
print(job.result)
# {"energy": -3.42, "unit": "eV/atom", "confidence": 0.97}API keys use the m27_ prefix and are SHA-256 hashed at rest. The full key is shown exactly once at creation — store it securely.
Alternatively, use the device flow from PRISM CLI: run prism auth login and enter the displayed code in your browser.
# Create via API
POST /api/v1/api-keys
{
"name": "my-cli-key",
"project_id": "..."
}
# Response (key shown ONCE)
{
"id": "...",
"prefix": "m27_ab12",
"key": "m27_ab12cd34ef56..."
}Dual JWT system, OAuth (GitHub/Google/ORCID), SAML/SSO, API keys with SHA-256 hashing, device flow for CLI, refresh token rotation, and token exchange.
Three-level hierarchy (Users → Orgs → Projects), 4-tier RBAC, transactional org creation, ORCID integration, and GDPR right-to-erasure.
8 resource types in a single table, automatic review tier assignment, versioning with changelogs, project grants with quotas, and full-text search.
Postgres-backed job queue with FOR UPDATE SKIP LOCKED, 8 trait-based executors, SSE event streams, and fan-out child jobs.
Complete REST API documentation — 40+ endpoints across auth, identity, marketplace, jobs, LLM proxy, MCP services, and admin operations.