Quantum Machine Manager API

class QuantumMachinesManager(host=None, port=None, **kargs)
clear_all_job_results()

Deletes all data from all previous jobs

close_all_quantum_machines()

Closes ALL open quantum machines

get_controllers()

Returns a list of all the controllers that are available

get_qm(machine_id)

Gets an open quantum machine object with the given machine id

Parameters

machine_id – The id of the open quantum machine to get

Returns

A quantum machine obj that can be used to execute programs

list_open_quantum_machines()

Return a list of open quantum machines. (Returns only the ids, use get_qm(...) to get the machine object)

Returns

The ids list

open_qm(config, close_other_machines=False)

Opens a new quantum machine

Parameters
  • config – The config that will be used by the name machine

  • close_other_machines – Flag whether to close all other running machines

Returns

A quantum machine obj that can be used to execute programs

open_qm_from_file(filename, close_other_machines=True)

Opens a new quantum machine with config taken from a file on the local file system

Parameters
  • filename – The path to the file that contains the config

  • close_other_machines – Flag whether to close all other running machines

Returns

A quantum machine obj that can be used to execute programs

perform_healthcheck(strict=True)

Perform a health check against the QM server.

Parameters

strict – Will raise an exception if health check failed

reset_data_processing()

Stops current data processing for ALL running jobs :return:

simulate(config, program, simulate, **kwargs)
Parameters
  • config – A QM config

  • program – A QUA program() object to execute

  • simulate – A SimulationConfig configuration object

  • kwargs – additional parameters to pass to execute

Returns

a QmJob object (see QM Job API).

version()
Returns

The QM server version