system module
qubex.system owns configuration loading and the software-side representation
of one concrete instrument setup. It also coordinates synchronization between
the in-memory ExperimentSystem and backend controller state.
This page sits under Low-level APIs.
Use system when
- You want to load configuration files directly or inspect the resulting models
ExperimentSystem,QuantumSystem,ControlSystem, targets, or control parameters should be first-class objects- You need to compare or synchronize software state and hardware/controller state
Key objects
ConfigLoader: loads one selected system and builds anExperimentSystemExperimentSystem,QuantumSystem, andControlSystem: software-side models for chip, wiring, ports, channels, and parametersSystemManager: singleton that owns the active experiment-system state, backend controller, and backend settingsQuel1SystemSynchronizerandQuel3SystemSynchronizer: backend-specific synchronizers used bySystemManager
Relationship to the other modules
measurement: consumes the loaded system state to buildMeasurementScheduleobjects and execution flowsbackend: provides the controller state and runtime endpoints thatSystemManagersynchronizes against
Recommended path
- Prepare your configuration files: System configuration
- Read the section overview: Low-level APIs
- Start with curated notebooks:
systemexample workflows - Move to
measurementwhenMeasurementScheduleobjects or measurement execution flows are the main issue - Move to
backendwhen controller implementations are the main issue
Choose Experiment instead when
- You want the recommended workflow that hides direct system-model handling
- You do not need to inspect configuration loading or synchronization details
- You prefer one facade for setup, execution, and analysis