QCoDeS [UNRELEASED DRAFT] (2025-12-04)

Improved:

    • Improved pyvisa-sim YAMLs for Lakeshore Models 335, 336, and 372.

    • Updated Lakeshore tests to use pyvisa-sim backend instead of mocked classes.

    • Updated lakeshore_base.py to bypass waiting when using blocking_t in sim mode. (#7606)

  • Fixes a bug in the LinSweeper iterator that caused it to always raise StopIteration after completing a single sweep. This bug meant LinSweeper could not be used in a nested measurement function. (#7607)

  • The InstrumentModule and its alias InstrumentChannel now take an optional generic argument allowing you to specify the type of the parent instrument for type checking. (#7659)

  • The ChannelTuple class now has multi_parameter and multi_function methods that provide type-safe access to parameters and functions on all channels in the tuple. These methods allow accessing attributes with proper type information, improving IDE integration and type checking. The return type annotation of __getattr__ has been changed to Any reflecting the fact that this is not a type safe interface and it is impossible for a static type checker to infer the type of the dynamic attribute. multi_parameter, multi_function and get_channel_by_name should be used when a more specific type is requested. (#7686)

Improved Drivers:

  • The Stanford SR86x drivers now statically assign attributes statically for more member InstrumentModules and parameters enabling better documentation, type checking and IDE integration. (#7542)

  • The KeysightE4980A driver now names the correction submodule correctly as correction reflecting the public attribute to access the module. This also means that in the snapshot correction is used as the module name rather than _correction (#7659)

  • Improved sim YAML for Cryomagnetics TM620 and added default terminator. (#7666)

  • The RohdeSchwarzZNBBase, MiniCircuitsRCSPDT, and TektronixTPS2012 drivers now have explicit type annotations on their channels submodule, enabling better type checking and IDE integration. (#7686)

New Drivers: