Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions metriq_gym/qplatform/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from pytket.architecture import FullyConnected

from metriq_gym.local.device import LocalAerDevice
from metriq_gym.origin.device import OriginDevice, get_origin_connectivity
from qbraid.runtime.origin import OriginDevice
from metriq_gym.quantinuum.device import QuantinuumDevice


Expand Down Expand Up @@ -109,7 +109,12 @@ def _(device: OriginDevice) -> rx.PyGraph:
if getattr(device.profile, "simulator", False):
return rx.generators.complete_graph(num_qubits)

available_qubits, edges = get_origin_connectivity(device)
try:
chip_info = device.backend.chip_info()
available_qubits = chip_info.available_qubits()
edges = chip_info.get_chip_topology(available_qubits)
except Exception:
available_qubits, edges = [], []
graph = rx.PyGraph()
graph.add_nodes_from(available_qubits)
node_index = {node: i for i, node in enumerate(available_qubits)}
Expand Down
6 changes: 2 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,12 @@ dependencies = [
"qiskit>=1.4.3,<3.0",
"qiskit-experiments>=0.9.0,<0.14.0",
"qiskit-aer>=0.17.1,<0.18.0",
"qiskit-ibm-runtime>=0.41.1,<0.47.0",
"qiskit-ibm-runtime>=0.25.0,<0.47.0",
"qbraid-core>=0.1.45,<0.3.0",
"scipy>=1.16.2,<2.0.0",
"tabulate>=0.9.0,<0.11.0",
"typer>=0.21.1,<1.0.0",
"qbraid[ionq,qiskit,braket,azure]>=0.10.0,<0.11.2",
"qbraid[ionq,qiskit,braket,azure] @ git+https://github.com/vprusso/qBraid.git@add-originq-provider",
"platformdirs>=4.4.0,<5.0.0",
"dimod>=0.12.20,<0.13.0",
"qnexus>=0.39.0,<1.0.0",
Expand Down Expand Up @@ -139,9 +139,7 @@ fallback_version = "0.0.0"
[project.entry-points."qbraid.providers"]
local = "metriq_gym.local.provider:LocalProvider"
quantinuum = "metriq_gym.quantinuum.provider:QuantinuumProvider"
origin = "metriq_gym.origin.provider:OriginProvider"

[project.entry-points."qbraid.jobs"]
local = "metriq_gym.local.job:LocalAerJob"
quantinuum = "metriq_gym.quantinuum.job:QuantinuumJob"
origin = "metriq_gym.origin.job:OriginJob"
14 changes: 7 additions & 7 deletions tests/unit/qplatform/test_device.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using mocked qBraid device objects.
"""

import types
from unittest.mock import Mock

import pytest
Expand All @@ -14,7 +13,7 @@
from qbraid.runtime import QiskitBackend, BraketDevice, AzureQuantumDevice

from metriq_gym.local.provider import LocalProvider
from metriq_gym.origin.device import OriginDevice
from qbraid.runtime.origin import OriginDevice
from metriq_gym.qplatform.device import (
version,
connectivity_graph,
Expand Down Expand Up @@ -97,9 +96,9 @@ def chip_info(self):
return self._chip_info

backend = StubBackend()
profile = OriginDevice.build_profile(backend, "WK_C102_400", "WK_C102_400")
device = OriginDevice(
provider=types.SimpleNamespace(),
device_id="WK_C102_400",
profile=profile,
backend=backend,
backend_name="WK_C102_400",
)
Expand All @@ -111,10 +110,11 @@ class SimulatorBackend:
def chip_info(self):
raise RuntimeError("chip_info only available on hardware backends")

sim_backend = SimulatorBackend()
profile = OriginDevice.build_profile(sim_backend, backend_name, backend_name)
device = OriginDevice(
provider=types.SimpleNamespace(),
device_id=backend_name,
backend=SimulatorBackend(),
profile=profile,
backend=sim_backend,
backend_name=backend_name,
)
return device
Expand Down
56 changes: 26 additions & 30 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading