Qcodes

Latest version: v0.49.0

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

Scan your dependencies

Page 3 of 16

0.40.0

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

Improved:
---------

- The InstrumentLoggerAdapter has been updated to store the `instrument_name` and `instrument_type`
as fields on log records rather than the instrument it self. This enables opentelemetry to attache
the fields to a transmitted LogRecord for better filtering. (5297)
- In the QCoDeS DataSetProtocol newly created dataset now always have a captured_run_id / captured_counter
that matches the run_id / result_counter that they are assigned on creation. Previously these could be
out of sync if datasets measured elsewhere had been inserted into the database. (5329)
- The `pyvisa.ResourceManager` of a VISA instrument is now exposed
as `instr.resource_manager`. All VISA instruments will now use `weakref.finalize`
to close the visa resource on shutdown of the instrument. This should reduce the
chance that an instrument resource is not cleanup correctly on exit. (5341)


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

- Parameters controlling the pid-values, pumps and state of the temperature channels have been added to OxfordTriton.
This allows temperature sweeps from base temperature to several Kelvin to be fully automatic. Code to create such sweeps can be found at https://github.com/qdev-dk/MeasFunc/blob/main/measfunc/temperature_sweep.py. (#5316)


New:
----

- The QCoDeS Measurement Context manager, DataSaverBuilder and DoND functions have been instrumented as OpenTelemetry traces.
This enables users to correlate log messages with the the measurement that they were performed within.
See the `OpenTelemetry <https://opentelemetry.io/>`_ documentation for examples of how this can be used.

The log exporting using OpenCensus within QCoDeS is expected to be deprecated and eventually removed in line
with OpenCensus being discontinued. Users that are interested in gathering telemetry of their setups are encouraged
to provide their own solution based on OpenTelemetry. (5289)
- New features: datasaver_builder and dond_into are intermediate measurement extensions designed to fill a gap between
the low-level Measurement object and the high-level doNd functions. They allow convenient specification of parameter
dependencies for registration and doNd-like syntax while also allowing direct access to the underlying datasaver objects. (5294)

0.39.1

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

Improved:
---------

- Very noisy log messages from `azure.monitor.opentelemetry.exporter` are now
by default filtered and not shown in the console logger. This matches the
behavior of the OpenCensus exporter. 5278

0.39.0

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

Note that this will be the last version to support Python 3.8. Please upgrade to at least
python 3.9.

Improved:
---------

- The in memory cache of a dataset can now be configured both from the `qcodesrc.json` config file and when using `dond` to perform measurements.
The Exception raised when a `dond`, `do1d` etc. measurement is interrupted (`BreakConditionInterrupt`) has been made public as part of the
`qcodes.dataset` module so it can be intercepted and handled by the user. (5200)
- When writing a `DataSetInMem` back to a database the exp_id, counter and run_id are correctly updated
to reflect the sate of the new database. `write_metadata_to_db` has also been fixed to use
the database passed to init of the `DataSetInMem` class if no path is provided. (5209)


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

- Fix Keithley 3706A driver to use the updated interlock status strings
(following up on :pr:`5007`) (5147)
- Increase default timeout on R&S ZNB and allow the instrument to overwrite default timeout (5201)

0.38.1

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

Improved:
---------

- Fixed a typo in the readme preventing release to pypi (5132)

0.38.0

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

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

- The modules ``qcodes_loop.data``, ``qcodes_loop.plots``, ``qcodes_loop.actions``, ``qcodes_loop.loops``,
``qcodes_loop.measure``, ``qcodes_loop.extensions.slack`` and ``qcodes_loop.utils.magic``,
``qcodes_loop.utils.qt_helpers`` have been split out into a separate package ``qcodes_loop``.
The respective modules in QCoDeS do still exist as deprecated aliases to the new modules in ``qcodes_loop``
but will be removed in a future release. To use the aliases QCoDeS must be installed with the ``loop`` extra e.g.
you should install ``pip install qcodes[loop]``. If you make use of these modules we recommend updating imports
to use ``qcodes_loop`` as soon as possible. See the `readme <https://github.com/qcodes/qcodes_loop>`_ of
``qcodes_loop`` for more information.

The functions ``qcodes.utils.helpers.tprint`` ``qcodes.utils.helpers.wait_secs`` and
``qcodes.utils.helpers.foreground_qt_window`` have been removed.
These helper functions are only used in ``qcodes_loop`` and were moved there. (4971)
- The default configuration of QCoDeS dataset ``GUID_components.GUID_type`` has changed from ``explicit_sample`` to ``random_sample``.
This means that QCoDeS GUIDs will no longer start with ``aaaaaaaa`` but with a random string. This significantly reduces the risk
of duplicate GUIDs.
This also means that that the ability to set a sample_id as part of the dataset GUID is disabled by default. With
the default config its therefor an error to set ``GUID_components.sample`` to anything but the default value. The original
behavior can be restored by setting ``GUID_components.GUID_type`` to ``explicit_sample`` in the config file but is not recommended.
Users should make use of the ``sample_name`` attached to an experiment as an alternative. Note that if you have already created
a local config you will need to update this for the changes to take effect. (5031)


Improved:
---------

- The helper functions ``guids_from_dbs``, ``guids_from_dir``, and ``guids_from_list_str`` have been added
to the documented dataset api at ``qcodes.dataset``. (4989)


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

- Fixed a bug in version parsing for Keysight 344XXA and Keysight E4980A which
would result in incompatibility with packaging>21 under certain circumstances. (5007)
- Fixed a bug in interlock status querying for Keithley 3706A. Originally, not all
potential responses from the system were accounted for when querying for interlock
status. A dictionary is used to map the response from the system to a string describing
the interlock status. When the system returns a response that was not accounted for, this
resulted in a KeyError being raised. Now, this dictionary accounts for all potential responses
from the system. (5013)
- Added support for AimTTi QL355TP power supply.
Moved _numOutputChannels lookup table to the class body. (5021)
- Increased range on setpoint property of Lakeshore Model 335,336,372 to support degree Celsius (5043)
- Fix auto_sweep in Keysight PNA N52xx driver
Fix units of polar sweeps in Keysight PNA N52xx driver (5090)


New:
----

- The QCoDeS ``Station`` ``Instrument`` and ``InstrumentModule`` classes gained a method ``get_component``
which allows the user to get a component by name. Allowing the user to go from
the full name of a component to the component itself. (5028)


New Drivers:
------------

- Add driver for Lakeshore Model 335 (5043)

0.37.0

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

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

- ``InstrumentBase.ancestors`` now returns a tuple of ancestors
to the current Instrument, InstrumentChannel or InstrumentModule and not a list.

- ``dond ``, ``do1d`` etc. now returns tuples of Matplotlib axes and colorbars
when plotting and not lists. 4894
- Datasets are now exported to a folder next to the database by default rather then to the users home folder.
Note that if you had specifically configured this in a local config file this should be updated too for the
change to take effect. 4899
- DriverTestCase has been moved from `qcodes.instrument_drivers.test` to `qcodes.tests.driver_test_case`. 4922
- `qcodes.instrument_drivers.VoltageDivider` and `qcodes.instrument_drivers.devices.VoltageDivider` has
been deprecated. Its functionality is better implemented in `qcodes.parameters.DelegateParameter` which
is also significantly better tested and more general. 4923
- The QDevil QDAC 1 driver has been migrated to qcodes_contrib_drivers and is included from version
0.18.0. The driver in QCoDeS is deprecated and will be removed in a future release. 4932
- Remove deprecated Mercury iPS driver
``qcodes.instrument_drivers.oxford.mercuryiPS.MercuryiPS``,
use ``qcodes.instrument_drivers.oxford.OxfordMercuryiPS``
instead. 4936


Improved:
---------

- When a dataset is exported an optional user supplied entry point is called. See
`here <../examples/DataSet/Exporting-data-to-other-file-formats.htmlAutomatically-post-process-exported-datasets.>`__
for more details. 4857
- PyVISA ``1.13`` is now supported. 4895
- ``validate`` method of ``DelegateParameter`` now also validates the given value
against the validator of the source parameter (if source parameter is present). 4870
- The dataset logic has been updated to ensure that if you set an already completed
dataset as completed the completion timestamp will not be updated. 4876
- Update the pyqtgraph plot backend for upstream changes in pyqtgraph. 4886
- QcoDeS is now typechecked with Pyright in addition to mypy. This should give a significantly
better user experience when working in VS Code. 4938


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

- The Minicircuits USB SPDT driver now supports running with the more modern version of the driver DLL `mcl_RF_Switch_Controller_NET45.dll` 4623
- Two parameters are added to the `Keysight.N51x1` class, conditioned on it having the 'UNW' option:
1. Having the pulse modulation status on or off.
2. Setting it to 'internal' or 'external'.

From the Keysight manual:
1. This command enables or disables pulse modulation for the selected path.
2. This command sets the source of the pulse modulation. 4840


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

- Improve performance of parameter validator. 4887

Page 3 of 16

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.