QCoDeS [UNRELEASED DRAFT] (2025-12-19)¶
Breaking Changes:¶
The functionality to export qcodes datasets to XArray/netcdf4 has been significantly improved for datasets where the shape of the data is known from metadata e.g. using dond or similar:
The memory overhead of exporting the data has been reduced.
The coordinate order is maintained such that data is stored in the order it was measured. Previously data was implicitly sorted by coordinates during the export.
When exporting Datasets to xarray where the shape is known, either by the use of utilities such as
dondor manually specified, inferred parameters related to the setpoints and measured parameters are now included in the XArray Dataset.
These changed were previously part of
0.54.0but reverted in0.54.1since the change in coordinate sorting was not announced. (#7546)
Improved:¶
The
InstrumentModuleand its aliasInstrumentChannelnow take an optional generic argument allowing you to specify the type of the parent instrument for type checking. (#7659)The
ChannelTupleclass now hasmulti_parameterandmulti_functionmethods 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 toAnyreflecting 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_functionandget_channel_by_nameshould be used when a more specific type is requested. (#7686)The InterDependencies_ class is now frozen during the performance of a measurement so it cannot be modified. This enables caching of attributes on the class significantly reducing the overhead of measurements. (#7712)
Improved Drivers:¶
The
KeysightE4980Adriver now names thecorrectionsubmodule correctly ascorrectionreflecting the public attribute to access the module. This also means that in the snapshotcorrectionis used as the module name rather than_correction(#7659)Improved sim YAML for Cryomagnetics TM620 and added default terminator. (#7666)
The
RohdeSchwarzZNBBase,MiniCircuitsRCSPDT, andTektronixTPS2012drivers now have explicit type annotations on theirchannelssubmodule, enabling better type checking and IDE integration. (#7686)In the Rohde Schwarz ZNB drivers QCoDeS functions have been converted to regular methods. This ensures that methods are type checked and can be discovered by IDEs. (#7715)