Skip to content

Commit 1c110e7

Browse files
committed
Handle deprecation of FakeBackendV2 in Qiskit 1.0
1 parent 08ea54c commit 1c110e7

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

qiskit_experiments/framework/backend_data.py

+35-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,38 @@ class unifies data access for various data fields.
1717
"""
1818
from qiskit.providers.models import PulseBackendConfiguration
1919
from qiskit.providers import BackendV1, BackendV2
20-
from qiskit.providers.fake_provider import fake_backend, FakeBackendV2, FakeBackend
20+
from qiskit.providers.fake_provider import FakeBackendV2, FakeBackend
21+
22+
# One of the FakeBackendV2's was moved from qiskit to qiskit-ibm-runtime. Check
23+
# both packages until dropping support for qiskit<1
24+
try:
25+
from qiskit.providers.fake_provider.fake_backend import FakeBackendV2 as QiskitFakeBackendV2
26+
except ImportError:
27+
28+
class QiskitFakeBackendV2:
29+
"""Dummy class for when FakeBackendV2 import fails
30+
31+
This class is only used in isinstance checks. If the import fails, then
32+
there won't be an instance of the class either so any dummy class is
33+
fine.
34+
"""
35+
36+
pass
37+
38+
39+
try:
40+
from qiskit_ibm_runtime.fake_provider.fake_backend import FakeBackendV2 as RuntimeFakeBackendV2
41+
except ImportError:
42+
43+
class RuntimeFakeBackendV2:
44+
"""Dummy class for when FakeBackendV2 import fails
45+
46+
This class is only used in isinstance checks. If the import fails, then
47+
there won't be an instance of the class either so any dummy class is
48+
fine.
49+
"""
50+
51+
pass
2152

2253

2354
class BackendData:
@@ -255,7 +286,9 @@ def is_simulator(self):
255286
if self._backend.configuration().simulator or isinstance(self._backend, FakeBackend):
256287
return True
257288
if self._v2:
258-
if isinstance(self._backend, (FakeBackendV2, fake_backend.FakeBackendV2)):
289+
if isinstance(
290+
self._backend, (FakeBackendV2, QiskitFakeBackendV2, RuntimeFakeBackendV2)
291+
):
259292
return True
260293

261294
return False

0 commit comments

Comments
 (0)