Skip to content

QCoDeS 0.40.0

Compare
Choose a tag to compare
@jenshnielsen jenshnielsen released this 14 Sep 11:03
9d238d2

QCoDeS 0.40.0 (2023-09-14)

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:

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)