"""Declaration - Arguments (:mod:`qurry.declare.qurrium`)"""fromtypingimportOptional,Union,TypedDict,Any,Literal,TypeVarfromcollections.abcimportHashablefrompathlibimportPathimporttqdmfromqiskitimportQuantumCircuitfromqiskit.providersimportBackendfromqiskit.transpiler.passmanagerimportPassManagerfrom.runimportRunArgsTypefrom.transpileimportTranspileArgsPassManagerType=Optional[Union[str,PassManager,tuple[str,PassManager]]]"""The type hint for passmanager argument in :meth:`~qurry.qurrium.qurrium.QurriumPrototype.output`."""
[docs]classBasicArgs(TypedDict,total=False):"""Basic input fields for :meth:`~qurry.qurrium.qurrium.QurriumPrototype.measure` and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiOutput`."""shots:intbackend:Optional[Backend]exp_name:strrun_args:RunArgsTypetranspile_args:Optional[TranspileArgs]passmanager:PassManagerTypetags:Optional[tuple[str,...]]# already built expexp_id:Optional[str]new_backend:Optional[Backend]revive:boolreplace_circuits:bool# process toolqasm_version:Literal["qasm2","qasm3"]export:boolsave_location:Optional[Union[Path,str]]pbar:Optional[tqdm.tqdm]
_MA=TypeVar("_MA",bound=BasicArgs)"""The type var of :class:`BasicArgs` for:meth:`~qurry.qurrium.qurrium.QurriumPrototype.measure`and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiOutput"""ConfigListType=Union[list[dict[str,Any]],list[_MA],list[Union[_MA,dict[str,Any]]]]"""The generic type hint for the input of:meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiBulid`and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiOutput`."""
[docs]classOutputArgs(BasicArgs):"""Basic output arguments for :meth:`~qurry.qurrium.qurrium.QurriumPrototype.output`."""circuits:list[Union[QuantumCircuit,Hashable]]
_OA=TypeVar("_OA",bound=OutputArgs)"""The type var of :class:`OutputArgs` for :meth:`~qurry.qurrium.qurrium.QurriumPrototype.output` :class:`OutputArgs` is also used for passing arguments in an standard format to:meth:`~qurry.qurrium.qurrium.QurriumPrototype.output` and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiOutput`."""
_RA=TypeVar("_RA",bound=AnalyzeArgs)"""The type var of :class:`AnalyzeArgs` for:meth:`~qurry.qurrium.qurrium.QurriumPrototype.analyze`and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiAnalysis`."""SpecificAnalsisArgs=Optional[dict[Hashable,Union[_RA,dict[str,Any],bool]]]"""The type hint for :meth:`~qurry.qurrium.multimanager.multimanager.analyze` and :meth:`~qurry.qurrium.qurrium.QurriumPrototype.multiAnalysis`."""