Pulla#
Module: iqm.pulla.pulla
- class iqm.pulla.pulla.Pulla(iqm_server_url, *, quantum_computer=None, token=None, tokens_file=None, client_signature=None)#
Bases:
objectClient providing pulse level access to IQM’s quantum computers.
Conceptually, represents a connection to a remote quantum computer. Can create a circuit-to-pulse compiler instance ready to be used with the connected quantum computer.
- Parameters:
iqm_server_url (str) – URL for accessing the IQM Server. Has to start with http or https.
quantum_computer (str | None) – ID or alias of the quantum computer to connect to, if the IQM Server instance controls more than one.
token (str | None) – Long-lived authentication token in plain text format. If
tokenis given no other user authentication parameters should be given.tokens_file (str | None) – Path to a tokens file used for authentication. If
tokens_fileis given no other user authentication parameters should be given.client_signature (str | None) – String that the client adds to User-Agent header of requests it sends to the server. The signature is appended to Pulla’s own version information and is intended to carry additional version information, for example the version information of the caller.
Methods
Contents of a calibration set as a stash object.
QPU label of the current quantum computer.
Chip topology of the current quantum computer.
Get the current status and metadata of the job.
Create a compiler instance for the connected quantum computer.
Submit a run definition for execution.
- get_standard_compiler(loading_rules=None, *, exa_style_pp=True, controller_mapping=None, gate_definitions=None)#
Create a compiler instance for the connected quantum computer.
- Parameters:
loading_rules (list[Callable[[str], ObservationBase | None]] | None) – Observation loading rules. If
None, will use the current default calibration set.exa_style_pp (bool) – Whether to do EXA-style dataset post-processing by default.
controller_mapping (dict[str, dict[str, str]] | None) – Dictionary that maps physical QPU component names to their device controller names. The dictionary is of the form:
{<component_name>: {<operation_name>: <controller name>}}, where operation is one of the following: “drive”, “readout”, “flux” (not all components have all operations supported). If None, use the default controller mapping for the connected quantum computer.gate_definitions (dict[str, QuantumOp] | None) – Names of quantum operations mapped to their definitions, see
QuantumOp. If None, use the default quantum operations.
- Returns:
The compiler object.
- Return type:
- get_chip_topology()#
Chip topology of the current quantum computer.
- Return type:
- submit_playlist(run_definition, *, context, use_timeslot=False)#
Submit a run definition for execution.
- get_job(job_id)#
Get the current status and metadata of the job.
- get_calibration_stash(calibration_set_id='default')#
Contents of a calibration set as a stash object.
- Parameters:
- Return type:
Inheritance
