ReleaseMicrosoftMicrosoftpublished Oct 1, 2025seen Jun 26

microsoft/Qcodes v0.54.0

microsoft/Qcodes

Open original ↗

Captured source

source ↗
published Oct 1, 2025seen Jun 26captured 1whttp 200method plain

QCoDeS 0.54.0

Repository: microsoft/Qcodes

Tag: v0.54.0

Published: 2025-10-01T17:47:33Z

Prerelease: no

Release notes: QCoDeS 0.54.0 (2025-10-01) ==========================

Breaking Changes: -----------------

  • Removal of deprecated code

Removed modules:

  • Removed the deprecated `qcodes.instrument_drivers.american_magnetics.AMI430 module. Use AMIModel4303D from qcodes.instrument_drivers.american_magnetics` instead.
  • Removed the deprecated `qcodes.utils.spyder_utils module containing the add_to_spyder_UMR_excludelist` function. This utility was known to not work with latest Spyder versions and was unused in QCoDeS.

Removed classes:

  • Removed the deprecated `AMI430_3D and AMI430 classes from qcodes.instrument_drivers.american_magnetics.AMI430. Use AMIModel4303D and AMIModel430 from qcodes.instrument_drivers.american_magnetics` instead.
  • Removed deprecated methods from `AMI430SwitchHeater
  • Removed deprecated `AMI430_VISA class from ip_to_visa.py`.
  • Removed the deprecated `ConnectionPlus class from qcodes.dataset.sqlite.connection. Use AtomicConnection` class instead.
  • Removed the deprecated `AlazarTech_ATS class. Use AlazarTechATS` instead.
  • Removed the deprecated `WaveformGenerator_33XXX class. Use Keysight33xxx` instead.
  • Removed the following deprecated Keysight classes:
  • Keysight_34410A, use Keysight34410A` instead
  • Keysight_34411A, use Keysight34411A` instead
  • Keysight_34460A, use Keysight34460A` instead
  • Keysight_34461A, use Keysight344xxA` instead
  • Keysight_34465A, use Keysight34465A` instead
  • Keysight_34470A, use Keysight34470A` instead
  • N51x1, use KeysightN51x1` instead
  • PNABase, use KeysightPNABase` instead
  • PNAxBase, use KeysightPNAxBase` instead
  • KeysightSubModule, use Keysight34980ASwitchMatrixSubModule` instead
  • KeysightSwitchMatrixSubModule, use Keysight34980ASwitchMatrixSubModule` instead
  • B1500Module, use KeysightB1500Module` instead
  • _Keysight_344xxA, use Keysight344xxA` instead
  • Removed the deprecated Keysight submodules:
  • Trigger, use Keysight344xxATrigger` instead
  • Sample, use Keysight344xxASample` instead
  • Display, use Keysight344xxADisplay` instead
  • Removed the deprecated MiniCircuits classes:
  • SwitchChannelBase, use MiniCircuitsSPDTSwitchChannelBase` instead
  • SPDT_Base, use MiniCircuitsSPDTBase` instead
  • Removed the deprecated `USBHIDMixin` class

Removed functions:

  • Removed from `qcodes.utils.deprecate`:
  • deprecation_message
  • issue_deprecation_warning
  • deprecate decorator (use typing_extensions.deprecated` instead)
  • _catch_deprecation_warnings
  • assert_not_deprecated
  • assert_deprecated
  • Removed `make_connection_plus_from function from qcodes.dataset.sqlite.connection (:pr:7122`)
  • The following modules have been deprecated in this release and will be removed in a future version:
  • qcodes.instrument.delegate.grouped_parameter
  • qcodes.instrument.function
  • qcodes.instrument.group_parameter
  • qcodes.instrument.specialized_parameters
  • qcodes.instrument.sweep_values
  • qcodes.instrument.base
  • qcodes.instrument.parameter
  • qcodes.utils.command
  • qcodes.utils.dataset
  • qcodes.utils.installation
  • qcodes.utils.helpers
  • qcodes.utils.metadata
  • qcodes.utils.plotting
  • qcodes.utils.threading
  • qcodes.utils.validators

Please consult the API documentation at :ref:Api for alternatives and migration paths. (:pr:7262)

  • The methods `InstrumentBase.__getitem__, InstrumentBase.get, InstrumentBase.set, InstrumentBase.call` are now deprecated

with a PendingDeprecationWarning rather than a QCoDeSDeprecationWarning. This better reflects the state where there is no plan to remove them but usage is discouraged. The PendingDeprecationWarning is not printed to console by default. (:pr:7318)

  • Registration and Unpacking interfaces created in ParameterBse

ParameterBase now implements new depends_on`, is_controlled_by, and has_control_ofproperties that allow subclasses to define InterDependencies_ relationships directly ParameterBase.unpack_self allows subclasses to unpack themselves during DataSaver.add_result, which removes the requirement for users to add pre-defined InterDependencies_ results explicitly Measurement.register_parameter has been refactored to follow the relationship links defined in parameter subclasses and automatically register related parameters with the appropriate relationships DataSaver.add_result has been refactored to take advantage of the new unpack_self` method

Breaking Changes

  • A dependent parameter registered with an independent parameter as its `setpoints` no longer requires that the independent parameter be registered first, if the independent parameter is ParameterBase subclass and not a str
  • Previously, a ParameterWithSetpoints whose setpoints values were explicitly added in add_result would use the explicit version. Now, an error is raised if the explicit values are not within some tolerance of the internal values (as with other duplication).
  • DataSaver.add_result signature has changed from *res_tuple to *result_tuples (:pr:7346`)
  • The method `to_xarray_dataarray_dict on the classes DataSet and DataSetInMem

have been deprecated and replaced by `to_xarray_dataset_dict. This new method allows export of datasets that still only contain one measured parameter but can contain related coordinates such as these given by an inferred relationship. (:pr:7432`)

  • ChannelTuple/ChannelList.get_channel_by_name support for getting more than one channel has been deprecated. To get more than one channel use get_channels_by_name`.

get_channels_by_name is guaranteed to always return an instance of the class it was called on independently of the number of channels supplied. In the future get_channel_by_name will be updated to ensure that it always returns a single channel. The Exception raised when no argument is given to get_channel_by_name has changed from Exception to TypeError in line with how functions behave when an argument is missing. (:pr:7486`)

Improved: ---------

  • Add a read-only option to sqlite connection (:pr:4783)
  • Fix `load_from_netcdf` failing for non-completed...

Excerpt shown — open the source for the full document.