QCoDeS 0.55.0 #7885
jenshnielsen
announced in
Announcements
QCoDeS 0.55.0
#7885
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
QCoDeS 0.55.0 (2026-02-25)
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:
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. (Disable new export for now #7546)Improved:
The
InstrumentModuleand its aliasInstrumentChannelnow take an optional generic argument allowing you to specify the type of the parent instrument for type checking. (Make InstrumentModule/Channel take a generic instrument argument #7659`)The
ChannelTupleclass now hasmulti_parameterandmulti_functionmethods thatprovide 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 thatthis 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_nameshouldbe used when a more specific type is requested. (Add more explicit channel attributes #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. (Remove graph related overhead from data storage #7712`)
The QCoDeS Parameter classes
ParameterBase,Parameter,ParameterWithSetpoints,DelegateParameter,ArrayParameterandMultiParameternowtakes two Optional Generic arguments to allow the data type and the type of the instrument the parameter is bound to to be fixed statically. This enables
the type of the output of
parameter.get(), input ofparameter.set()and value ofparameter.instrumentto be known statically such that typecheckers and IDE's can make use of this information. (Generic parameter #7730)
The table created by experiments_widget() now has a column of buttons by which individual datasets can be exported as ASCII files. This is a user-friendly way to use the qcode.dataset.export() method.
To demo this feature, run
All arguments to
ParameterBase.__init__exceptnameare now keyword-only.For backwards compatibility, passing them as positional arguments is still allowed
but will emit a
FutureWarning. Passing the same argument both positionally andas a keyword argument raises a
TypeError. (Small Ithaco fixes #7839)Improved Drivers:
Added blocking function to DynaCool PPMS driver that waits for temperature
state to be stable before allowing other functions to be called when
setting the temperature. (Add Blocking to DynaCool PPMS During Temperature Ramp #7534)
The
KeysightE4980Adriver now names thecorrectionsubmodule correctly ascorrectionreflecting the public attribute to access the module.This also means that in the snapshot
correctionis used as the module name rather than_correction(Make InstrumentModule/Channel take a generic instrument argument #7659`)Improved sim YAML for Cryomagnetics TM620 and added default terminator. (Fix Cryomagnetics TM620 bug preventing proper initialization #7666)
The
RohdeSchwarzZNBBase,MiniCircuitsRCSPDT, andTektronixTPS2012drivers now haveexplicit type annotations on their
channelssubmodule, enabling better type checking andIDE integration. (Add more explicit channel attributes #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. (Convert ZNB functions to methods. #7715`)
On Keithly3706A, allow users to cache forbidden channels in order to bypass unnecessary
_validator()calls when closing channels.Added a cache for
_validator()results. Both of these changes results in significant time savings when running measurementswith repeated calls to
close_channel(). (Add forbidden channels and _validator caches to Keithley3706a to improve performance #7771)Fixed bug in Lakeshore driver that was causing blocking_t
to periodically hang indefinitely: a 0.5 seconds post delay was added to
setpoint parameter to ensure that the setpoint value propagated to the
instrument when the set of the setpoint parameter returns. (Fix bug which prevents Lakeshore blocking_t from exiting #7796)
Several instrument drivers now make better use of the newly added generic datatype and instrument arguments to ParameterBase and subclasses.
TraceParameternow uses generic type parameters.FrequencySweepMagPhase,PointMagPhase, andPointIQnow use generic type parameters. Removed unnecessaryassert isinstancecalls. Fixed timeout handling when timeout isNone.Keysight344xxATrigger,Keysight344xxASample,Keysight344xxADisplayandTimeTracenow use generic type parameters. Refactored_acquire_time_traceto use explicit context managers instead of a list of parameter settings. .. gitleaks:allowMeasurementModeDictTypedDict.IVSweepMeasurementcorrected instrument type and now uses generic type parameters.KeysightB1500Modulenow uses generic type parameters.KeysightB1500IVSweeper,_ParameterWithStatus,_SpotMeasurementVoltageParameter, and_SpotMeasurementCurrentParameternow use generic type parameters. Removed unnecessarycastcalls. .. gitleaks:allowKeysightB1500CVSweeperandKeysightB1500CVSweepMeasurementnow use generic type parameters. Addedroot_instrumentproperty toKeysightB1500CVSweepMeasurement. .. gitleaks:allowSamplingMeasurementnow uses generic type parameters and has aroot_instrumentproperty. Fixed timeout handling when timeout isNone.ParamSpecandTypeVar. MadeCommandListgeneric.Measureparameter now uses generic type parameters.FrequencyAxis,Trace,KeysightN9030BSpectrumAnalyzerMode, andKeysightN9030BPhaseNoiseModenow use generic type parameters. Replacedassertstatements with proper error handling._pick_onemethod. Removed unnecessarycastcall.FixedFrequencyTraceIQ,FixedFrequencyPointIQ,FixedFrequencyPointMagPhase,FrequencySweepMagPhase,FrequencySweepDBPhase, andFrequencySweepnow use generic type parameters. Removed unnecessaryassert isinstancecalls.TektronixDPOMeasurementParameternow uses generic type parameters. Removed unnecessarycastcall.source_modeandcurrent_limitparameters now use generic type parameters. Replaced if-else statements with match statements for source mode handling. (Make use of generic parameters in some instruments #7822)Add hold parameter, force_jump parameter, and set_event_jump method to the Tektronix AWG70000A driver for improved sequence control. (Add Tektronix AWG70000A enhancements #7837)
Add TektronixDPOAcquisition, TektronixDPOCursor, and TektronixDPOMeasurementImmediate modules to the Tektronix DPO7200xx driver. Enhanced TektronixDPOTrigger with ready, state, and level parameters. Added coupling parameter to TektronixDPOChannel. (Add Tektronix DPO7200xx enhancements #7838)
New Drivers:
This discussion was created from the release QCoDeS 0.55.0.
Beta Was this translation helpful? Give feedback.
All reactions