Releases: ni/measurement-plugin-python
Releases · ni/measurement-plugin-python
Measurement Plug-In SDK for Python v3.0.1
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
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)
ni_measurement_plugin_sdk_service._internal.stubs
has moved to ni.protobuf.types, ni.measurementlink.discovery.v1.proto, ni.measurementlink.pinmap.v1.proto, ni.measurementlink.sessionmanagement.v1.proto, and other packages.- These were technically internal APIs, but some of them were used externally and will now redirect to the new location. The redirects will be deprecated and removed in future releases.
- 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 byregister_service
in version 1.2.0.DiscoveryClient.registration_id
andDiscoveryClient.stub
were deprecated in version 1.2.0.session_management.Reservation
was replaced byMultiSessionReservation
in version 1.1.0.
- Fix tests with resource names when InstrumentStudio 2025Q3 is installed (#1225)
- Enable PyPI "Trusted Publishing" (#1230)
New Contributors
- @divakar-selvam07 made their first contribution in #1194
- @mjohanse-emr made their first contribution in #1212
Full Changelog: 2.3.1...3.0.0
Measurement Plug-In SDK for Python v2.4.0-dev2
What's Changed
- gRPC stubs have been extracted into separate packages (#1216 #1217 #1218)
ni_measurement_plugin_sdk_service._internal.stubs
has moved to ni.protobuf.types, ni.measurementlink.discovery.v1.proto, ni.measurementlink.pinmap.v1.proto, ni.measurementlink.sessionmanagement.v1.proto, and other packages.- These were technically internal APIs, but some of them were used externally and will now redirect to the new location. The redirects will be deprecated and removed in future releases.
- 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 byregister_service
in version 1.2.0.DiscoveryClient.registration_id
andDiscoveryClient.stub
were deprecated in version 1.2.0.session_management.Reservation
was replaced byMultiSessionReservation
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
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
- @mjohanse-emr made their first contribution in #1212
Full Changelog: 2.4.0-dev0...2.4.0-dev1
Measurement Plug-In SDK for Python v2.4.0-dev0
What's Changed
- Add support for Measurement Remote Execution by populating deployment_target (#1194)
New Contributors
- @divakar-selvam07 made their first contribution in #1194
Full Changelog: 2.3.1...2.4.0-dev0
Measurement Plug-In SDK for Python v2.3.1
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
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
Measurement Plug-In SDK for Python v2.2.0
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
- @Blahpapto1 made their first contribution in #1020
Full Changelog: 2.1.0...2.2.0
Measurement Plug-In SDK for Python v2.1.0
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]
orIterable[T]
rather thanList[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
- Added the client generator, allowing users to call into a measurement service from Python (#841, #854, #856, #870, #871, #872, #874, #880, #882, #883, #889, #891, #892, #900, #901, #902, #920, #921, #934, #938, #947, #951, #952)
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
- @nick-beer made their first contribution in #784
- @jasonmreding made their first contribution in #887
- @rajatkumar87 made their first contribution in #968
Full Changelog: 2.0.0...2.1.0