uniqc.backend_adapter.backend_info module

Unified backend information data structures.

This module defines the canonical BackendInfo dataclass that all quantum cloud platforms are normalised into, plus helpers for parsing and formatting backend identifiers.

class uniqc.backend_adapter.backend_info.BackendInfo(platform, name, description='', num_qubits=0, topology=(), status='unknown', is_simulator=False, is_hardware=False, extra=<factory>, avg_1q_fidelity=None, avg_2q_fidelity=None, avg_readout_fidelity=None, coherence_t1=None, coherence_t2=None)[source]

Bases: object

Canonical description of a single quantum backend / chip / simulator.

One BackendInfo object corresponds to one real device or cloud simulator exposed by a platform. The object is hashable (frozen) so it can be stored in sets.

avg_1q_fidelity
avg_2q_fidelity
avg_readout_fidelity
coherence_t1
coherence_t2
description
extra
classmethod from_dict(d)[source]
full_id()[source]

Return the globally-unique identifier: platform:name.

is_hardware
is_simulator
name
num_qubits
platform
status
to_dict()[source]
topology
class uniqc.backend_adapter.backend_info.Platform(*values)[source]

Bases: Enum

DUMMY = 'dummy'
IBM = 'ibm'
LOGICALQUBIT = 'logicalqubit'
ORIGINQ = 'originq'
QUARK = 'quark'
TIANYAN = 'tianyan'
class uniqc.backend_adapter.backend_info.QubitTopology(u, v)[source]

Bases: object

Directed edge in a qubit connectivity graph.

classmethod from_dict(d)[source]
to_dict()[source]
u
v
uniqc.backend_adapter.backend_info.parse_backend_id(identifier)[source]

Parse a backend identifier into (Platform, name).

Supports two forms:
  • platform:name (e.g. originq:HanYuan_01)

  • bare name (ambiguous; tries to match across all platforms)

Parameters:

identifier – Full or partial backend identifier.

Returns:

(Platform, backend_name) tuple.

Raises:

ValueError – If the format is invalid or the platform is unknown.