QM Octave SDK

raw JSON →
2.1.6 verified Fri May 01 auth: no python

SDK for controlling the Octave RF upconverter/downconverter from Quantum Machines, used together with the QUA framework. Current version 2.1.6, supports Python 3.9-3.12. Released regularly alongside QM software.

pip install qm-octave
error ModuleNotFoundError: No module named 'qm_octave'
cause Using old import path or installing wrong package.
fix
Install qm-octave and import from qm.octave: pip install qm-octave and from qm.octave import OctaveConfig
error AttributeError: module 'qm.octave' has no attribute 'OctaveConfig'
cause Outdated version of qm-octave or missing dependency.
fix
Upgrade: pip install --upgrade qm-octave and ensure qm package is installed.
breaking The 'connect' method was removed in v2.0; use QmOctaveController directly.
fix Replace Octave.connect() with QmOctaveController(config, quantum_machines_manager)
deprecated 'calibration_db' parameter in OctaveConfig is deprecated in 2.1.x.
fix Remove calibration_db; calibration is handled automatically.
gotcha OctaveConfig parameters like f_center, gain, and lo_frequency are case-sensitive and must exactly match the Octave hardware.
fix Refer to Octave documentation for correct parameter keys.

Create an Octave configuration and controller instance.

from qm import QuantumMachinesManager
from qm.octave import OctaveConfig, QmOctaveController

# Use environment variable for potential auth (simplified)
config = OctaveConfig(
    octave="octave1",
    connectivity="con1",
    clock="Internal",
    f_center=5e9,
    gain=0,
    lo_frequency=5e9
)

# Note: Requires a running QOP and qm package installed
print("OctaveConfig created successfully")