Qcodes

Latest version: v0.45.0

Safety actively analyzes 629691 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 15

0.45.0

==========================

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

- The AMI drivers in ``qcodes.instrument_drivers.american_magnetics.AMI430`` and their submodules has been deprecated. Use the ``AMIModel430`` and
``AMIModel4303D`` drivers from ``qcodes.instrument_drivers.american_magnetics`` instead. (5712)
- QCoDeS is now type checked to ensure that subclasses are implemented in a way consistent with the parent class.
This has resulted in a number of changes to the API. The following is a list of the changes that have been made
to the API to make subclasses match their parent class. These changes are not expected to break any existing code, since they are
primarily in positional arguments or unused arguments.

* The first argument to `NumpyJSONEncoder.default` has changed from `obj` to `o` to match the naming in the std library `json.JSONEncoder.default`.
* Unused args `idn_part` and `being_time` to `QDevQDac.connect_message` have been changed to `idn_param` and `begin_time` respectively to match the parent class.
* Unused arguments to stub methods `DSOTraceParam.setpoints`, `DSOTraceParam.unit` and `FormattedSweep.setpoints` have been changed to match the parent class.
* Alazar `DemodulationAcquisitionController.handle_buffer` the first argument has been renamed from `data` to `buffer` to match the parent class. (5721)
- The `qcodes.tests` module has been deprecated and will be removed in a future release. Please import mock instruments from
`qcodes.instrument_drivers.mock_instruments` and `DriverTestCase` from `qcodes.extensions` instead. If you make use of
any other part of the tests module please open an issue on GitHub. (5732)
- Fix spelling of the 2 incorrectly spelled classes
qcodes.instrument_drivers.tektronix.TekronixDPOTrigger and
qcodes.instrument_drivers.tektronix.TekronixDPOWaveform to
qcodes.instrument_drivers.tektronix.TektronixDPOTrigger
and qcodes.instrument_drivers.tektronix.TektronixDPOWaveform .
The old names have been deprecated and will be removed in a future release. (5932)
- QCoDeS no longer installs opencensus and opencensus-ext-azure are no longer installed by default and opencensus integration is deprecated.
This means that the option ``qcodes.config.telemetry.enabled`` to ``True`` is deprecated. For the time being opencensus and opencensus-ext-azure
can be installed by installing QCoDeS with the opencensus option e.g. ``pip install qcodes[opencensus]``. We however, recommend that any use
of this telemetry integration is replaced by the use of OpenTelemetry. QCoDeS will not include any telemetry integration but the codebase
has been instrumented using OpenTelemetry spans and python log messages enabling any user to collect telemetry if they should so wish. (5991)


Improved:
---------

- An issue where simulated instruments powered by pyvisa-sim could raise an error during the teardown has been resolved. (5737)
- Add support for integer indexing in parameter paths in Station Files,
e.g ``channel[0].voltage`` or ``sigouts[0].enables[1].value``. (5887)
- Station.get_component and Instrument.get_component has gained the ability to lookup a component
on an instrument that is only added as a member of a chanellist/tuple and not added as an individual component. (6009)


Improved Drivers:
-----------------

- Improved Stahl BS Voltage Source driver:
- accepts more floating-point formats in response from instrument
- allows connection to serial instrument over TCP/IP connection (5888)
- The driver for ``Rohde&Schwarz SG100A`` has been extendend with parameters
controlling the optional pulse modulation and trigger modules. (5889)
- The drivers for ``TektronixAWG5208``, ``TektronixAWG70001A``, ``TektronixAWG70001B``, ``TektronixAWG70002A`` and ``TektronixAWG70002B``
have gained the parameter ``all_output_off`` to disable / enable all outputs as well as the method ``channel.clear_asset`` to clear all asserts on a channel. (5900)
- A number of new parameters are added to the Keysight N9030B Spectrum Analyzer to allow for Noise Spectral Density measurements.
In particular we add various parameters for switching the detectors into the appropriate modes, as well as allowing for
instrument parameters required for unit conversions to be saved in the snapshot.

In addition, we use binary readout of the data and the ability to read data from the instrument buffer
(without taking a new trace), and to read averaged data. (5963)
- Adds trace manipulation commands to the Keysight PNA driver. (6035)


New:
----

- Add a do2d_retrace function (5780)
- Added a new QCoDeS driver for the Cryomagnetics Model 4G superconducting magnet power supply.

The `CryomagneticsModel4G` driver provides an interface to control and communicate with the Cryomagnetics Model 4G
superconducting magnet power supply using the VISA protocol. It allows setting and reading the magnetic field, ramp rate,
and various other parameters of the instrument.

Key features of the driver include:

* Setting and reading the magnetic field in Tesla, considering the coil constant and current limits.

* Controlling the ramp rate in Tesla per minute.

* Checking the operating state of the magnet and handling quench conditions and power module failures.

* Blocking and non-blocking ramping of the magnetic field.

* Handling communication errors and retrying failed operations.

The driver is located in ``qcodes/instrument_drivers/cryomagnetics/_cryomagnetics_4g.py``.

For more details and usage examples, please refer to the driver's documentation:
https://microsoft.github.io/Qcodes/examples/driver_examples/Qcodes_example_with_cryomagnetics4g.html (#5968)
- Add methods to recursively search a chain of DelegateParameters and return either all the parameters in the chain or the 'root' parameter
These methods may also be used with custom Parameters which link to other parameters via different attribute names

Also add infer_channel and infer_instrument methods to find the InstrumentModule or Instrument of the root parameter (5998)

0.44.1

==========================

Improved:
---------

- As an extension to the feature added in 5627 datasets are also no longer converted into QCoDeS format when loaded from netcdf using ``load_by_guid``, ``load_by_id``, ``load_by_run_spec``, ``load_by_counter`` (5711)

0.44.0

==========================

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

- The deprecated method `DataSetProtocol.cache.to_pandas` has been removed. Use the to_pandas_dataframe or to_pandas_dataframe_dict methods as an alternative. (5626)
- The following long deprecated functions and methods and functionalities have been removed.
Here ordered by top level module for clarity.

* ``qcodes.dataset``

* ``flatten_1D_data_for_plot``

* ``get_shaped_data_by_runid``

* ``get_guids_from_run_spec``

* ``dataset.get_data_as_pandas_dataframe``

* ``dataset.export_path``

* ``_conditional_parameter_set``

* ``_make_nested_setpoints``

* ``_select_active_actions_delays``

* ``_create_measurements``

* ``_extract_paramters_by_type_and_group``

* ``_build_data_query``

* ``get_data``

* ``get_interdeps_from_result_table_name``

* ``get_values``

* ``get_setpoints``

* ``get_guids_from_run_spec``

* ``data_sets``

* ``modify_values``

* ``modify_many_values``

* ``qcodes.instrument_drivers.devices`` / ``codes.parameters``

* ``VoltageDivider``

* ``qcodes.station``

* Support for driver kwarg in yaml config

* Support for limits as a string.

* ``qcodes.utils``

* ``get_qcodes_version`` (5651)
- The following deprecated instrument drivers have been removed:

* ``QDevil.QDac`` Use driver from qcodes_contrib_drivers instead.

* ``Agilent_34400A`` Use Keysight 344xxA drivers or Agilent34401A, Agilent34410A, Agilent34411A instead.

* ``E8267`` use ``AgilentE8267C`` instead.

* ``Agilent_E8527D`` use AgilentE8257D instead.

The following deprecated instrument driver methods have been removed:

* ``KeysightInfiniium`` ``DSOTimeAxisParam.prepare_curvedata``

* ``KeysightB1517A.measure_config`` replaced by ``v_measure_range_config`` and ``i_measure_range_config``

* ``RohdeSchwarz ZNB`` ``RohdeSchwarzZNBChannel.update_traces`` use ``update_lin_traces``


``qcodes.utils.deprecate`` decorator has been soft deprecated. In the future qcodes will use the ``deprecated`` decorator from
the ``typing_extensions`` package (to be part of the std library warnings module from Python 3.13). We recommend anyone else to
do the same. (5655)


Improved:
---------

- `load_by_run_spec` and `load_by_id` may now optionally load the dataset as a DataSetInMem from an exported netcdf file. This avoids reading
from the database potentially resulting in better performance. This option is off by default at the moment but can be turned on by setting
`qcodes.config.dataset.load_from_exported_file` to True. (:pr:`5320`)
- When loading a QCoDeS dataset from a netcdf file using load_from_netcdf and converted to a Xarray dataset using
``to_xarray_dataset`` or ``cache.to_xarray_dataset`` we avoid converting the data to QCoDeS format and back to Xarray format.
This should save time and avoid any potential corner cases when roundtripping the data. (:pr:`5627`)
- Fixed an issue where datasets with categorical setpoints could fail to correctly export to Pandas dataframes or Xarray dataset. (5641)


Improved Drivers:
-----------------

- Lakeshore 335: Add parameter mapping for thermocouple input when using 3060-H option (5652)

0.43.0

==========================

Improved:
---------

- qcodes.Monitor now runs as a daemon thread, resolving issues with closing python or ipython with a running qcodes.Monitor. (5565)
- The use of multi index when exporting to xarray (and netcdf files) has been made smarter
such that any dataset with a known shape (such as those measured by doNd etc) will
never be automatically exported using multi index even in the case of incomplete datasets (i.e. due to an interrupted measurement).
Furthermore `to_xarray_dataset` and `to_xarray_dataarray_dict` have gained a key word argument `use_multi_index` to allow the user
to control the use of multi indexes. (5589)
- The feature of exporting large DataSets to netcdf by writing individual small files and combining them, introduced in QCoDeS 0.41.0 has been made configurable
and turned off by default due to a number of corner cases where the export did not work correctly. The
feature can be enabled when required by setting the config variable `qcodes.config.dataset.export_chunked_export_of_large_files_enabled`
to True and the threshold controlled using `qcodes.config.dataset.export_chunked_threshold` (5618)


Improved Drivers:
-----------------

- Keithley 2450s by default don't block when setting their output level, differing in behavior from the keithley 2400.
I added a manual boolian parameter 'block_during_ramp' which forces a check that the ramp command has been completed when True. (5547)
- Previously, the keithley 2450 driver had an initial value for the output. This is particularly dangerous when reinitializing/recovering from a kernal crash.
Initializing the instrument should leave all parameters unchanged. This PR removes the initial value for the output. (5572)


Under the hood:
---------------

- Fix typo: instrument_drivers.mock_instruments.DummyInstrument::get_idn() now returns dict containing key "serial" instead of "seral" (5579)

0.42.1

Improved:
---------

- Avoid warning from OpenTelemetry when exporting datasets to netcdf. (5529)

0.42.0

==========================

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

- Tests are no longer shipped as part of the qcodes package. The `qcodes.tests`
namespace still exists but will be deprecated in QCoDeS 0.43.0.
`qcodes.test` is deprecated and will be removed in a future release.
To run the tests against an installed version clone git repo to matching tag and
run `pytest tests` from the root of the repo. (5452)


Improved:
---------

- Fixed a bug in the Agilent 8257D where on and off would call a non existing parameter. The methods have been updated to call ``output_enabled``. (5496)
- QCoDeS in memory datasets exported to netcdf with MultiIndexes are now
correctly decompressed when reloaded with load_by_id and friends. (5517)
- Lakeshore 335 Output: Add parameter mapping for input=None (5520)
- The size calculation used to estimate when a dataset should be exported in chuncks has been improved.
This will prevent "small" dataset with many rows from being exported in chuncks when not required. (5523)


New:
----

- Mark python 3.12 as supported and fix deprecation warnings with python 3.12 (5408)
- Mock instruments have been moved from `qcodes.tests.instrument_mocks` to `qcodes.instrument_drivers.mock_instruments` and `DriverTestCase` from
`qcodes.tests.driver_test_case` to `qcodes.extensions`. This is in preparation for no longer shipping `qcodes.tests` as part of the
public api. The previous locations remain functional but will be deprecated after one release. (5486)

Page 1 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.