Catalog Service

Central registry for all sim2l tools, versions, and executions.

Quick Start

# Start service
python -m sim2l.services.catalog_service --backend sqlite --port 8002
from sim2l.database import CatalogClient, get_session_manager

session = get_session_manager().create_anonymous_session(privileges=['developer'])
catalog = CatalogClient("http://localhost:8002", session_id=session.session_id)

# Register simulation
catalog.register_simulation(
    name="thermal_sim",
    version="1.0.0",
    description="Thermal stress analysis",
    tags=["thermal", "physics"],
    schema={"inputs": {...}, "outputs": {...}}
)

# Search
results = catalog.search(query="thermal", tags=["physics"])

# Get statistics
stats = catalog.get_simulation_stats(simulation_id)

REST API

  • GET /simulations/search - Search simulations

  • GET /simulations/{name} - Get simulation info

  • POST /simulations - Register simulation

  • POST /executions - Record execution

  • GET /simulations/{id}/stats - Get statistics

  • GET /health - Health check

API Reference