Skip to content

Releases: ni/measurement-plugin-python

Measurement Plug-In SDK for Python v3.0.1

08 Oct 18:39
26808d2
Compare
Choose a tag to compare

What's Changed

  • Bump versions to 3.0.1 for patch release (#1251)
  • Restore session_management module export to service package (#1250)
    • Version 3.0.0 removed internal submodules from the session_management subpackage. However, previously shipped example code references these submodules, so version 3.0.1 re-adds the submodules for compatibility purposes.

Full Changelog: 3.0.0...3.0.1

Measurement Plug-In SDK for Python v3.0.0

03 Oct 19:25
be3bddf
Compare
Choose a tag to compare

What's Changed

  • Add support for Measurement Remote Execution by populating deployment_target (#1194)
  • Remove hardcoded nims references from _dotenvpath (#1213)
  • gRPC stubs have been extracted into separate packages (#1212 #1216 #1217 #1218)
  • gRPC extensions and client classes have been extracted into separate packages (#1220 #1222 #1228)
    • ni_measurement_plugin_sdk_service.discovery has moved to ni.measurementlink.discovery.v1.client.
    • ni_measurement_plugin_sdk_service.pin_map has moved to ni.measurementlink.pinmap.v1.client.
    • ni_measurement_plugin_sdk_service.session_management has moved to ni.measurementlink.sessionmanagement.v1.client
    • These are public APIs, so the existing modules now redirect to the new location. The redirects will be deprecated and removed in future releases.
    • Previously deprecated functionality has been removed:
      • DiscoveryClient.register_measurement_service was replaced by register_service in version 1.2.0.
      • DiscoveryClient.registration_id and DiscoveryClient.stub were deprecated in version 1.2.0.
      • session_management.Reservation was replaced by MultiSessionReservation in version 1.1.0.
  • Fix tests with resource names when InstrumentStudio 2025Q3 is installed (#1225)
  • Enable PyPI "Trusted Publishing" (#1230)

New Contributors

Full Changelog: 2.3.1...3.0.0

Measurement Plug-In SDK for Python v2.4.0-dev2

19 Sep 23:41
a29b693
Compare
Choose a tag to compare

What's Changed

  • gRPC stubs have been extracted into separate packages (#1216 #1217 #1218)
  • gRPC extensions and client classes have been extracted into separate packages (#1220 #1222 #1228)
    • ni_measurement_plugin_sdk_service.discovery has moved to ni.measurementlink.discovery.v1.client.
    • ni_measurement_plugin_sdk_service.pin_map has moved to ni.measurementlink.pinmap.v1.client.
    • ni_measurement_plugin_sdk_service.session_management has moved to ni.measurementlink.sessionmanagement.v1.client
    • These are public APIs, so the existing modules now redirect to the new location. The redirects will be deprecated and removed in future releases.
    • Previously deprecated functionality has been removed:
      • DiscoveryClient.register_measurement_service was replaced by register_service in version 1.2.0.
      • DiscoveryClient.registration_id and DiscoveryClient.stub were deprecated in version 1.2.0.
      • session_management.Reservation was replaced by MultiSessionReservation in version 1.1.0.
  • Fix tests with resource names when InstrumentStudio 2025Q3 is installed (#1225)
  • Enable PyPI "Trusted Publishing" (#1230)

New Contributors

  • @github-actions[bot] made their first contribution in #1231

Full Changelog: 2.4.0-dev1...2.4.0-dev2

Measurement Plug-In SDK for Python v2.4.0-dev1

15 Aug 18:02
09c7e7e
Compare
Choose a tag to compare

What's Changed

  • service: Remove hardcoded nims references from _dotenvpath (#1213)
  • Replace ni.protobuf.types stubs with dependency on ni.protobuf.types package (#1212)

New Contributors

Full Changelog: 2.4.0-dev0...2.4.0-dev1

Measurement Plug-In SDK for Python v2.4.0-dev0

23 Jul 06:42
556c35a
Compare
Choose a tag to compare

What's Changed

  • Add support for Measurement Remote Execution by populating deployment_target (#1194)

New Contributors

Full Changelog: 2.3.1...2.4.0-dev0

Measurement Plug-In SDK for Python v2.3.1

26 Jun 09:15
2aeb5e1
Compare
Choose a tag to compare

What's Changed

  • Update to Python 3.9 syntax (#1182)
  • Update to typeshed version of gRPC stubs (#1184)
  • Enable type checking for tracelogging (#1185)

Full Changelog: 2.3.0...2.3.1

Measurement Plug-In SDK for Python v2.3.0

03 Apr 09:24
67199a6
Compare
Choose a tag to compare

What's Changed

  • Add support for String2DArray (#1062, #1064)
  • Remove support for Python 3.8 (#1076)
  • Allow clients to use protobuf version 4, 5, or 6 (#1080)
  • Add support for Python 3.13 (#1061)
  • Fix incorrect reporting of non-ASCII characters in the measurement display name (#1093)

Full Changelog: 2.2.0...2.3.0

Measurement Plug-In SDK for Python v2.3.0-dev0

20 Mar 14:46
2d1f663
Compare
Choose a tag to compare

What's Changed

  • Add support for String2DArray (#1062, #1064)
  • Remove support for Python 3.8 (#1076)
  • Allow clients to use protobuf version 4, 5, or 6 (#1080)
  • Add support for Python 3.13 (#1061)

Full Changelog: 2.2.0...2.3.0-dev0

Measurement Plug-In SDK for Python v2.2.0

09 Jan 07:38
3492f6b
Compare
Choose a tag to compare

What's Changed

  • generator: Add --verbose option to client generator in #991
  • Handle unsupported message type errors in client generator in #984
  • Post publish workflow to update main after the 2.1.0 release in #993
  • Pass null stdin to discovery service in #1004
  • Fix config/output type URLs in #1002
  • Update to latest ni-apis and generate stubs for new array.proto in #1022
  • rebranding: replace the "MeasurementLink" term from the packages and examples with the rebranded term in #1021

New Feature Added

Double2DArray Output Support and utility methods for conversion to/from numpy NDArray[np.float64] and list(list(float)).

  • Adding Output Support for Double2DArray for Client Generator and Service and updating Sample Measurement Example in #1020
  • Update Default Value of Double2dArray in SampleMeasurement,Tests and block Input Support. in #1034
  • Add Utility Method in SampleMeasurement to convert Double2DArray To/From NDArray and List(List(Float)) in #1036
  • Adding Double2DArray Graph output in measui and LV UI in #1037

New Contributors

Full Changelog: 2.1.0...2.2.0

Measurement Plug-In SDK for Python v2.1.0

10 Oct 20:09
45fc817
Compare
Choose a tag to compare

Compatibility Notes

  • The version for a measurement plug-in is now specified in the .serviceconfig file. If your plug-in specifies version using the constructor of the MeasurementService 'version' parameter and not with a 'version' element in the .serviceconfig file, the version will be ignored and your service will be registered as version 0.1.0.
  • Configuration parameters with array types should be treated as Sequence[T] or Iterable[T] rather than List[T]. You can still index, iterate, slice, etc. but some operations such as concatenating with another list or tuple are not supported. If you need the parameter to be converted to a list or a tuple, you should do that in your measure() function. See this example.

New Measurement Plug-In Client Generator

Bug Fixes and Minor Changes

  • Replaced internal encoders with message encoder calling public API (#767)
  • Create a top-level ni-measurement-plugin-sdk meta package (#781)
  • Change the generator tool name to ni-measurement-plugin-generator (#798)
  • Added check for metadata validation (#807)
  • Fix invalid test default values and allow double/float parameters take integers (#832)
  • Add enumerate services API (#826)
  • Update measurement service to get version from .serviceconfig (#827)
  • Update default channel pool options when creating grpc channels (#887)
  • Update Plug-in to Plug-In (#898)
  • Do not specify version in the MeasurementService constructor (#907)
  • Update version checking to warn that version is deprecated and error if there is no .serviceconfig version (#935)
  • Add resolve service with information API in the discovery client (#950)

Examples

  • Rename TestStand sequences to append _example (#776)
  • Add .serviceignore files to the examples (#784)
  • Add Plug-in Library installs scripts to the examples (#789)
  • Use the tuple with the updated "in_compliance" value (#842)
  • Replace strings with the constant variable in NI VISA DMM and Output Voltage (#812)
  • Update service class of Game of Life example (#877 #933)
  • Don't assume array parameters are implemented as lists (#936)

New Contributors

Full Changelog: 2.0.0...2.1.0