Skip to content

device_type_manager

DeviceLibraryAlreadyRegisteredError

Raised when attempting to register a device library that already exists.

DeviceTypeManager

DeviceTypeManager()

Class that manages mapping between device types and library identifiers.

register_type

register_type(device_lib: str, device_type: type[Any], *, allow_override: bool = False) -> None

Register a device type and its library identifier.

Parameters:

  • device_lib (str) –

    Library identifier (e.g., "qiskit", "oqtopus")

  • device_type (Type) –

    Device type class to register

  • allow_override (bool, default: False ) –

    When False, prevents overwriting existing registrations. Defaults to False.

Raises:

resolve_lib

resolve_lib(device: Any) -> str | None

Resolve library based on device type.

Parameters:

  • device (Any) –

    Device to inspect

Returns:

  • str | None

    str | None: Library identifier for registered device type, None otherwise