{"id":21848,"library":"qm-qua","title":"QM QUA SDK","description":"SDK for writing and executing QUA programs to control quantum processors on Quantum Machines hardware. Current version 1.2.6, requires Python <3.13. Released monthly.","status":"active","version":"1.2.6","language":"python","source_language":"en","source_url":"https://github.com/qua-platform/qua-libs","tags":["quantum-computing","QUA","Quantum-Machines"],"install":[{"cmd":"pip install qm-qua","lang":"bash","label":"Install with pip"}],"dependencies":[{"reason":"Required for simulation; distinguish from qm-qua","package":"qmm","optional":true},{"reason":"Requires license file for hardware connection","package":"qm-open-api","optional":true}],"imports":[{"note":"QuantumMachine is not a module; it's in qm namespace.","wrong":"from qm.QuantumMachine import QuantumMachine","symbol":"QuantumMachine","correct":"from qm import QuantumMachine"},{"note":"Program is a QUA class, not a top-level module.","wrong":"from qm.Program import Program","symbol":"Program","correct":"from qm.qua import Program"},{"note":"ConfigBuilder was deprecated in 1.0; use SimulationConfig.","wrong":"","symbol":"ConfigBuilder","correct":"from qm import SimulationConfig"}],"quickstart":{"code":"from qm import QuantumMachine, SimulationConfig\nfrom qm.qua import Program, play, amp\nimport numpy as np\n\n# Minimal program\nwith Program() as prog:\n    play('pulse', amp(0.5) * np.array([1+j for j in range(1024)]))\n\n# Simulate\nconfig = SimulationConfig(duration=1000)\nqm = QuantumMachine(config=config, simulate=True)\njob = qm.execute(prog)\nres = job.get_results()\n","lang":"python","description":"Create a QUA program, simulate it with a QuantumMachine."},"warnings":[{"fix":"Upgrade scripts: replace old 'qm.QuantumMachine(host, port)' with 'QuantumMachine(config, simulate=True)' and wrap programs in 'with Program():'.","message":"Major API change between 0.x and 1.0: QuantumMachine now requires a config object; Program uses context manager; controllers removed.","severity":"breaking","affected_versions":"<1.0 vs >=1.0"},{"fix":"Run 'pip uninstall qm' and 'pip install qm-qua'.","message":"Do not use pip install qm alone; that installs an unrelated package. Always use qm-qua.","severity":"gotcha","affected_versions":"all"},{"fix":"Replace 'ConfigBuilder().build()' with 'SimulationConfig(duration=...)'.","message":"ConfigBuilder is deprecated since 1.0. Use SimulationConfig directly.","severity":"deprecated","affected_versions":">=1.0"},{"fix":"Use Python 3.9–3.12. Check with 'python --version'.","message":"Python version must be <3.13; does not support 3.13+.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run: pip uninstall qm && pip install qm-qua","cause":"Installed wrong package 'qm' instead of 'qm-qua'.","error":"ModuleNotFoundError: No module named 'qm'"},{"fix":"Use: from qm import QuantumMachine","cause":"Import path is wrong; QuantumMachine is not a submodule.","error":"AttributeError: module 'qm' has no attribute 'QuantumMachine'"},{"fix":"Use: from qm.qua import Program","cause":"Program is in the QUA subpackage, not top-level qm.","error":"ImportError: cannot import name 'Program' from 'qm'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}