Releases: ni/measurement-plugin-python
Releases · ni/measurement-plugin-python
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
Measurement Plug-In SDK for Python v2.1.0-dev2
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 plug-in from Python (#889, #891, #892, #900, #901, #902)
Bug Fixes and Minor Changes
- Measurement Plug-In Generator Bug Fixes Since v2.1.0-dev1
- Raise errors for invalid enums (#920)
- Update default value for the pin map sites (#921)
- Fix mypy errors (#929)
- Update client to resolve a specific plug-in version (#938)
- Fix SyntaxWarning caused by incorrect escape sequence (#934)
- Add dependency on service (#947)
- Provide support backward compatibility for Older libraries (#951)
- Fix Path type conversion and type hints for client codegen (#952)
- Examples
- 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)
Full Changelog: 2.1.0-dev1...2.1.0-dev2
Measurement Plug-In SDK for Python v2.1.0-dev1
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 Service Client Generator
- Added the client generator, allowing users to call into a measurement service from Python (#889, #891, #892, #900, #901, #902)
Bug Fixes and Minor Changes
- Update pipeline files to run the acceptance tests in generator directory (#884)
- Update Plug-in to Plug-In (#898)
- CONTRIBUTING.md: Update for repo layout, submodules, and new lint tools (#893)
- Do not specify version in the MeasurementService constructor (#907)
Full Changelog: 2.1.0-dev0...2.1.0-dev1
Measurement Plug-In SDK for Python v2.1.0-dev0
New Measurement Service 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)
Bug Fixes and Minor Changes
- Rename sequences to append _example (#776)
- Create a top-level ni-measurement-plugin-sdk meta package (#781)
- Add .serviceignore files to the examples (#784)
- Fix ReadTheDocs build by including working directory for post-install (#786)
- Add Plug-in Library installs scripts to the examples (#789)
- Change the generator tool name to ni-measurement-plugin-generator (#798)
- examples: replace strings with the constant variable (#812)
- Replaced internal encoders with message encoder calling public API (#767)
- Added check for metadata validation (#807)
- Fix invalid test default values and allow double/float parameters take integers (#832)
- Update the stubs for the ni-apis proto files that are out of date (#815)
- service/tests: Disable large message tests on 32-bit Windows (#820)
- Simplify mypy invocation by specifying files to check (#816)
- GitHub: Update poetry lock checking (#823)
- service/tests: Fix psutil deprecation warning (#817)
- Update measurement service to get version from .serviceconfig (#827)
- Add enumerate services API (#826)
- README.md: Re-add links to example downloads (#836)
- README.md: Fix documentation links and minor issues (#837)
- example: use the tuple with the updated "in_compliance" value (#842)
- renovate: Automatically update ni-apis submodule (#857)
- github: Upgrade upload-artifact and download-artifact to v4 (#861)
- Update area path to HW Config Amber (#863)
- [Minor] Improve the dictionary value accessing (#875)
- [Minor] Add dependency to Measurement Plug-In Client (#876)
- Update service class of Game of Life example (#877)
- Enable Bandit security linter (#865)
- Update default channel pool options when creating grpc channels (#887)
New Contributors
- @nick-beer made their first contribution in #784
- @Jotheeswaran-Nandagopal made their first contribution in #826
- @jasonmreding made their first contribution in #887
Full Changelog: 2.0.0...2.1.0-dev0
Measurement Plug-In SDK for Python v2.0.0
Renamed Packages
- The packages have been renamed to remove the deprecated
MeasurementLink
product name (#751, #753)
ni_measurementlink_service
->ni_measurement_plugin_sdk_service
ni_measurementlink_generator
->ni_measurement_plugin_sdk_generator
- General removal of
MeasurementLink
product name (#746) - Change the generator tool name to ni-measurement-plugin-generator (#799)
- Apply renames to markdown contents (#756)
- Update TestStand sequences with renames (#758)
- Update discovery client JSON service path (#752)
- Apply renames in pyproject.toml, docstrings, comments, and logging (#760)
- Update missed TestStand sequences with renames (#761)
- Rename .env variable prefix for simulation (#763)
- Update path names in .py code (#764)
Repo reorganization
- Major reorganization of the repo to have a
packages
top-level folder (#787)ni-measurement-plugin-sdk
top-level meta package installs theni-measurement-plugin-sdk-service
andni-measurement-plugin-sdk-generator
packagesni-measurement-plugin-sdk-service
package is the primary package that allows users to create a measurement plug-in serviceni-measurement-plugin-sdk-generator
package is a utility package that helps users get started by generating a measurement plug-in service from a template
General Improvements and Fixes
- Update the repo to pull its .proto files from the ni/ni-apis repo as a submodule instead of duplicating them in this repo (#702)
- Add timeout of 10s for reserve_all_registered_sessions() (#688)
- Update service to use I/O resource specialization instead of Pin (#691)
- Example Improvements and Fixes
- nidcpower_source_dc_voltage: Update measurement to support multiple instrument sessions (#676)
- nidcpower_source_dc_voltage: Add a device reset on channels in measurement (#690)
- nidcpower_source_dc_voltage_with_multiplexer: Reset source channel after running measurement (#696)
- niscope_acquire_waveform: Update measurement to run when trigger source isn't present in measured pins (#694)
- Rename sequences to append _example. This helps support using the InstrumentStudio sequencer with our shipping examples (#782)
- Update TestStand sequence files to use
IO Resource
instead ofPin
(#704)
- Other Fixes
- Fix ReadTheDocs build by including working directory for post-install (#790)
- Add .serviceignore files to the examples (#791)
- Add Plug-in Library installs scripts to the examples (#792)
- Fix zipping examples during publish (#796)
- Updating DAQmx example to allow it to run without pin maps (#736)
- example: game_of_life: remove the second incrementation of generation variable (#770)
- Update test instructions to include simulation of devices so all tests will run (#739)
- Display proper error message when update pin map step is not set up correctly in a TestStand sequence (#719)
- Allowing _helpers.py in our examples to return an empty string for the pin map id when there is no active pin map (#735)
- Add 'Load Files' parameter to digital measurement so it can work with the InstrumentStudio simple sequencer (#732)
- Update lock file and fix docutils import (#740)
New Contributors
- @DavidCurtiss made their first contribution in #756
- @lschroed made their first contribution in #752
- @prat-mahendran made their first contribution in #719
- @nathan-murphy made their first contribution in #690
Full Changelog: 1.4.0...2.0.0
Measurement Plug-In SDK for Python v2.0.0-dev5
What's Changed
- Change the generator tool name to ni-measurement-plugin-generator (#799)
- Fixes
- Fix zipping examples during publish (#796)
Full Changelog: 2.0.0-dev4...2.0.0-dev5
Measurement Plug-In SDK for Python v2.0.0-dev4
What's Changed
- Major reorganization of the repo to have a
packages
top-level folder (#787)ni-measurement-plugin-sdk
top-level meta package installs theni-measurement-plugin-sdk-service
andni-measurement-plugin-sdk-generator
packagesni-measurement-plugin-sdk-service
package is the primary package that allows users to create a measurement plug-in serviceni-measurement-plugin-sdk-generator
package is a utility package that helps users get started by generating a measurement plug-in service from a template
- Examples
- Rename sequences to append _example. This helps support using the InstrumentStudio sequencer with our shipping examples (#782)
- Fixes
Full Changelog: 2.0.0-dev2...2.0.0-dev4
Measurement Plug-In SDK for Python v2.0.0-dev2
What's Changed
- Additional renames away from MeasurementLink
- Apply renames to markdown contents (#756)
- Update TestStand sequences with renames (#758)
- Update discovery client JSON service path (#752)
- Apply renames in pyproject.toml, docstrings, comments, and logging (#760)
- Update missed TestStand sequences with renames (#761)
- Rename .env variable prefix for simulation (#763)
- Update path names in .py code (#764)
- Fixes
New Contributors
- @DavidCurtiss made their first contribution in #756
- @lschroed made their first contribution in #752
Full Changelog: 2.0.0-dev1...2.0.0-dev2
Measurement Plug-In SDK for Python v2.0.0-dev1
Renamed Packages
- The packages have been renamed to remove the deprecated
MeasurementLink
product name (#751, #753)
ni_measurementlink_service
->ni_measurement_plugin_sdk_service
ni_measurementlink_generator
->ni_measurement_plugin_sdk_generator
- General removal of
MeasurementLink
product name (#746)
What's Changed
- Examples
- Update TestStand sequence files to use
IO Resource
instead ofPin
(#704)
- Update TestStand sequence files to use
- General
- Fixes
- Display proper error message when update pin map step is not set up correctly in a TestStand sequence (#719)
- Allowing _helpers.py in our examples to return an empty string for the pin map id when there is no active pin map (#735)
- Add 'Load Files' parameter to digital measurement so it can work with the InstrumentStudio simple sequencer (#732)
- Update lock file and fix docutils import (#740)
New Contributors
- @prat-mahendran made their first contribution in #719
Full Changelog: 1.5.0-dev0...2.0.0-dev1
MeasurementLink Support for Python v1.5.0-dev0
What's Changed
- Example Improvements and Fixes
- nidcpower_source_dc_voltage: Update measurement to support multiple instrument sessions (#676)
- nidcpower_source_dc_voltage: Add a device reset on channels in measurement (#690)
- nidcpower_source_dc_voltage_with_multiplexer: Reset source channel after running measurement (#696)
- niscope_acquire_waveform: Update measurement to run when trigger source isn't present in measured pins (#694)
- Add timeout of 10s for reserve_all_registered_sessions() (#688)
- Update service to use I/O resource specialization instead of Pin (#691)
New Contributors
- @nathan-murphy made their first contribution in #690
Full Changelog: 1.4.0...1.5.0-dev0