EPII Protocol Documentation¶
Overview¶
The EPII (Experiment Python Interface and Infrastructure) protocol defines the communication interface between EPII clients and the EPII daemon service.
Protocol Version¶
Current protocol version: 1.0
Communication Model¶
EPII uses a request-response model over TCP sockets with JSON-encoded messages.
Message Format¶
All messages are JSON objects with the following structure:
{
"method": "method_name",
"params": {...},
"id": "unique_request_id"
}
Response Format¶
{
"result": {...},
"error": null,
"id": "unique_request_id"
}
Available Methods¶
Core Methods¶
list_experiments: List available experimentsrun_experiment: Execute an experimentget_experiment_status: Check experiment statuscancel_experiment: Cancel a running experiment
Parameter Methods¶
list_parameters: List available parametersget_parameter: Get parameter valueset_parameter: Set parameter value
Capability Methods¶
get_capabilities: Get service capabilitiesget_version: Get protocol version
Error Handling¶
Errors are returned in the response with an error object:
{
"error": {
"code": -32000,
"message": "Error description",
"data": {...}
}
}
Examples¶
List Experiments Request¶
{
"method": "list_experiments",
"params": {},
"id": "req-001"
}
Run Experiment Request¶
{
"method": "run_experiment",
"params": {
"experiment": "PowerRabi",
"kwargs": {
"qubit": 0,
"amplitude_range": [0, 1],
"num_points": 51
}
},
"id": "req-002"
}