File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11
22# Public re-exports for backend adapters.
33
4- from .qiskit_backend import QiskitBackend
5- from .pennylane_backend import PennyLaneBackend
6- from .cpp_backend import CppBackend
7-
8- __all__ = [
9- "QiskitBackend" ,
10- "PennyLaneBackend" ,
11- "CppBackend" ,
12- ]
4+ __all__ = ["QiskitBackend" , "PennyLaneBackend" , "CppBackend" ]
5+
6+ import importlib
7+ import warnings
8+
9+ def __getattr__ (name ):
10+ if name == "PennyLaneBackend" :
11+ mod = importlib .import_module (".pennylane_backend" , __package__ )
12+ return getattr (mod , name )
13+ elif name == "QiskitBackend" :
14+ try :
15+ mod = importlib .import_module (".qiskit_backend" , __package__ )
16+ return getattr (mod , name )
17+ except Exception as e :
18+ warnings .warn (f"Qiskit backend not available: { e } " )
19+ return None
20+ elif name == "CppBackend" :
21+ mod = importlib .import_module (".cpp_backend" , __package__ )
22+ return getattr (mod , name )
23+ raise AttributeError (f"No backend named { name !r} " )
You can’t perform that action at this time.
0 commit comments