Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

QCoDeS 0.55.0 #7885

Discussion options

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:

    • 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 dond or 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.0 but reverted in 0.54.1 since the change in coordinate sorting was not announced. (Disable new export for now #7546 )

Improved:

  • 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. (Make InstrumentModule/Channel take a generic instrument argument #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. (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, ArrayParameter and MultiParameter now
    takes 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 of parameter.set() and value of parameter.instrument to be known statically such that type
    checkers 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

    experiments_widget(sort_by="timestamp")
    in Jupyter, and click on one of the cells in the "Export" column. (Add export button to experiments_widget() #7772 `)

  • All arguments to ParameterBase.__init__ except name are 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 and
    as 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 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 (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, and TektronixTPS2012 drivers now have
    explicit type annotations on their channels submodule, enabling better type checking and
    IDE 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 measurements
    with 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.

    • AlazarTech ATS: TraceParameter now uses generic type parameters.
    • CopperMountain M5xxx: FrequencySweepMagPhase, PointMagPhase, and PointIQ now use generic type parameters. Removed unnecessary assert isinstance calls. Fixed timeout handling when timeout is None.
    • Keysight 344xxA: Keysight344xxATrigger, Keysight344xxASample, Keysight344xxADisplay and TimeTrace now use generic type parameters. Refactored _acquire_time_trace to use explicit context managers instead of a list of parameter settings. .. gitleaks:allow
    • Keysight B1500: Added MeasurementModeDict TypedDict. IVSweepMeasurement corrected instrument type and now uses generic type parameters. KeysightB1500Module now uses generic type parameters.
    • Keysight B1517A: KeysightB1500IVSweeper, _ParameterWithStatus, _SpotMeasurementVoltageParameter, and _SpotMeasurementCurrentParameter now use generic type parameters. Removed unnecessary cast calls. .. gitleaks:allow
    • Keysight B1520A: KeysightB1500CVSweeper and KeysightB1500CVSweepMeasurement now use generic type parameters. Added root_instrument property to KeysightB1500CVSweepMeasurement. .. gitleaks:allow
    • Keysight B1500 sampling measurement: SamplingMeasurement now uses generic type parameters and has a root_instrument property. Fixed timeout handling when timeout is None.
    • Keysight B1500 message builder: Improved type annotations using ParamSpec and TypeVar. Made CommandList generic.
    • Keysight KtM960x: Measure parameter now uses generic type parameters.
    • Keysight N9030B: FrequencyAxis, Trace, KeysightN9030BSpectrumAnalyzerMode, and KeysightN9030BPhaseNoiseMode now use generic type parameters. Replaced assert statements with proper error handling.
    • QuantumDesign DynaCool: Improved type annotation for _pick_one method. Removed unnecessary cast call.
    • Rohde & Schwarz ZNB: FixedFrequencyTraceIQ, FixedFrequencyPointIQ, FixedFrequencyPointMagPhase, FrequencySweepMagPhase, FrequencySweepDBPhase, and FrequencySweep now use generic type parameters. Removed unnecessary assert isinstance calls.
    • Tektronix DPO7200xx: TektronixDPOMeasurementParameter now uses generic type parameters. Removed unnecessary cast call.
    • Yokogawa GS200: source_mode and current_limit parameters 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.
You must be logged in to vote

Replies: 0 comments

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant

AltStyle によって変換されたページ (->オリジナル) /