Skip to content

Commit 190e765

Browse files
jenshnielsenCopilot
andcommitted
Use typed kwargs in mock instrument parameter subclasses
Update ~12 parameter subclasses (DmmExponentialParameter, DmmGaussParameter, MultiSetPointParam, Multi2DSetPointParam, Multi2DSetPointParam2Sizes, MultiScalarParam, ArraySetPointParam, ComplexArraySetPointParam, GeneratedSetPoints, DummyParameterWithSetpoints1D/2D/Complex) to use Unpack[ParameterKWArgs] or Unpack[ParameterBaseKWArgs] with concrete instrument types. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 45dfac4 commit 190e765

1 file changed

Lines changed: 20 additions & 29 deletions

File tree

  • src/qcodes/instrument_drivers/mock_instruments

src/qcodes/instrument_drivers/mock_instruments/__init__.py

Lines changed: 20 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
ArrayParameter,
2020
MultiParameter,
2121
Parameter,
22+
ParameterBaseKWArgs,
23+
ParameterKWArgs,
2224
ParameterWithSetpoints,
2325
ParamRawDataType,
2426
)
@@ -258,7 +260,7 @@ def __init__(self, name: str = "dummy", **kwargs: Unpack[InstrumentBaseKWArgs]):
258260

259261

260262
class DmmExponentialParameter(Parameter):
261-
def __init__(self, name: str, **kwargs: Any):
263+
def __init__(self, name: str, **kwargs: Unpack[ParameterKWArgs]):
262264
super().__init__(name, **kwargs)
263265
self._rng = np.random.default_rng()
264266
self._ed = self._exponential_decay(5, 0.2)
@@ -289,7 +291,7 @@ def _exponential_decay(self, a: float, b: float) -> Generator[float, float, None
289291

290292

291293
class DmmGaussParameter(Parameter):
292-
def __init__(self, name: str, **kwargs: Any):
294+
def __init__(self, name: str, **kwargs: Unpack[ParameterKWArgs]):
293295
super().__init__(name, **kwargs)
294296
self.x0 = 0.1
295297
self.y0 = 0.2
@@ -660,9 +662,8 @@ class MultiSetPointParam(MultiParameter):
660662

661663
def __init__(
662664
self,
663-
instrument: InstrumentBase | None = None,
664665
name: str = "multi_setpoint_param",
665-
**kwargs: Any,
666+
**kwargs: Unpack[ParameterBaseKWArgs],
666667
):
667668
shapes = ((5,), (5,))
668669
names = ("multi_setpoint_param_this", "multi_setpoint_param_that")
@@ -680,7 +681,6 @@ def __init__(
680681
name,
681682
names=names,
682683
shapes=shapes,
683-
instrument=instrument,
684684
labels=labels,
685685
units=units,
686686
setpoints=setpoints,
@@ -703,9 +703,8 @@ class Multi2DSetPointParam(MultiParameter):
703703

704704
def __init__(
705705
self,
706-
instrument: InstrumentBase | None = None,
707706
name: str = "multi_2d_setpoint_param",
708-
**kwargs: Any,
707+
**kwargs: Unpack[ParameterBaseKWArgs],
709708
):
710709
shapes = ((5, 3), (5, 3))
711710
names = ("this", "that")
@@ -737,7 +736,6 @@ def __init__(
737736
name,
738737
names=names,
739738
shapes=shapes,
740-
instrument=instrument,
741739
labels=labels,
742740
units=units,
743741
setpoints=setpoints,
@@ -760,9 +758,8 @@ class Multi2DSetPointParam2Sizes(MultiParameter):
760758

761759
def __init__(
762760
self,
763-
instrument: InstrumentBase | None = None,
764761
name: str = "multi_2d_setpoint_param",
765-
**kwargs: Any,
762+
**kwargs: Unpack[ParameterBaseKWArgs],
766763
):
767764
shapes = ((5, 3), (2, 7))
768765
names = ("this_5_3", "this_2_7")
@@ -797,7 +794,6 @@ def __init__(
797794
name,
798795
names=names,
799796
shapes=shapes,
800-
instrument=instrument,
801797
labels=labels,
802798
units=units,
803799
setpoints=setpoints,
@@ -820,9 +816,8 @@ class MultiScalarParam(MultiParameter):
820816

821817
def __init__(
822818
self,
823-
instrument: InstrumentBase | None = None,
824819
name: str = "multiscalarparameter",
825-
**kwargs: Any,
820+
**kwargs: Unpack[ParameterBaseKWArgs],
826821
):
827822
shapes = ((), ())
828823
names = ("thisparam", "thatparam")
@@ -833,7 +828,6 @@ def __init__(
833828
name,
834829
names=names,
835830
shapes=shapes,
836-
instrument=instrument,
837831
labels=labels,
838832
units=units,
839833
setpoints=setpoints,
@@ -853,9 +847,8 @@ class ArraySetPointParam(ArrayParameter):
853847

854848
def __init__(
855849
self,
856-
instrument: InstrumentBase | None = None,
857850
name: str = "array_setpoint_param",
858-
**kwargs: Any,
851+
**kwargs: Unpack[ParameterBaseKWArgs],
859852
):
860853
shape = (5,)
861854
label = "this label"
@@ -868,7 +861,6 @@ def __init__(
868861
super().__init__(
869862
name,
870863
shape=shape,
871-
instrument=instrument,
872864
label=label,
873865
unit=unit,
874866
setpoints=setpoints,
@@ -890,9 +882,8 @@ class ComplexArraySetPointParam(ArrayParameter):
890882

891883
def __init__(
892884
self,
893-
instrument: InstrumentBase | None = None,
894885
name: str = "testparameter",
895-
**kwargs: Any,
886+
**kwargs: Unpack[ParameterBaseKWArgs],
896887
):
897888
shape = (5,)
898889
label = "this label"
@@ -905,7 +896,6 @@ def __init__(
905896
super().__init__(
906897
name,
907898
shape=shape,
908-
instrument=instrument,
909899
label=label,
910900
unit=unit,
911901
setpoints=setpoints,
@@ -931,10 +921,11 @@ def __init__(
931921
startparam: Parameter,
932922
stopparam: Parameter,
933923
numpointsparam: Parameter,
934-
*args: Any,
935-
**kwargs: Any,
924+
*,
925+
name: str,
926+
**kwargs: Unpack[ParameterKWArgs],
936927
):
937-
super().__init__(*args, **kwargs)
928+
super().__init__(name, **kwargs)
938929
self._startparam = startparam
939930
self._stopparam = stopparam
940931
self._numpointsparam = numpointsparam
@@ -951,8 +942,8 @@ class DummyParameterWithSetpoints1D(ParameterWithSetpoints):
951942
`dummy_n_points` parameter in the instrument.
952943
"""
953944

954-
def __init__(self, *args: Any, **kwargs: Any):
955-
super().__init__(*args, **kwargs)
945+
def __init__(self, *, name: str, **kwargs: Unpack[ParameterKWArgs]):
946+
super().__init__(name, **kwargs)
956947
self._rng = np.random.default_rng()
957948

958949
def get_raw(self) -> ParamRawDataType:
@@ -967,8 +958,8 @@ class DummyParameterWithSetpoints2D(ParameterWithSetpoints):
967958
`dummy_n_points` and `dummy_n_points_2` parameters in the instrument.
968959
"""
969960

970-
def __init__(self, *args: Any, **kwargs: Any):
971-
super().__init__(*args, **kwargs)
961+
def __init__(self, *, name: str, **kwargs: Unpack[ParameterKWArgs]):
962+
super().__init__(name, **kwargs)
972963
self._rng = np.random.default_rng()
973964

974965
def get_raw(self) -> ParamRawDataType:
@@ -984,8 +975,8 @@ class DummyParameterWithSetpointsComplex(ParameterWithSetpoints):
984975
`dummy_n_points` parameter in the instrument. Returns Complex values
985976
"""
986977

987-
def __init__(self, *args: Any, **kwargs: Any):
988-
super().__init__(*args, **kwargs)
978+
def __init__(self, *, name: str, **kwargs: Unpack[ParameterKWArgs]):
979+
super().__init__(name, **kwargs)
989980
self._rng = np.random.default_rng()
990981

991982
def get_raw(self) -> ParamRawDataType:

0 commit comments

Comments
 (0)