Skip to content

Add float waveform support to the Python API - #166

Merged
mjohanse-emr merged 3 commits into
mainfrom
users/mjohanse/float_wfms
Aug 6, 2026
Merged

Add float waveform support to the Python API#166
mjohanse-emr merged 3 commits into
mainfrom
users/mjohanse/float_wfms

Conversation

@mjohanse-emr

@mjohanse-emr mjohanse-emr commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

What does this Pull Request accomplish?

Add support for the three new float waveform types:

  • FloatAnalogWaveform
  • FloatComplexWaveform
  • FloatSpectrum

For each of these types:

  • Add grpc conversion support
  • Write acceptance and unit tests

To do this, I had to update the following dependencies to pull in float waveform support:

  • ni-measurements-data-v1-client
  • ni-protobuf-types

Why should this Pull Request be merged?

AB#3985023
AB#3985045

We want to expose the float waveform types to clients who use our Python API.

What testing has been done?

  • New tests were added
  • All tests (acceptance and unit) pass

Signed-off-by: Michael Johansen <michael.johansen@emerson.com>
Copilot AI lite review requested due to automatic review settings August 5, 2026 22:27

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds support for single-precision (float32/complex64) waveform types to the DataStore Python API by extending gRPC conversion paths and expanding unit/acceptance coverage, along with dependency bumps to pick up the new protobuf surface area.

Changes:

  • Add float32/complex64 waveform (AnalogWaveform, ComplexWaveform, Spectrum) gRPC publish/read conversion support.
  • Expand unit tests for read-path dtype/value handling and publish request population.
  • Update acceptance tests for publishing/reading float waveforms; bump related protobuf/client dependencies.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/ni/datastore/data/_grpc_conversion.py Adds float waveform branches for publish request population and read response conversion.
src/ni/datastore/data/_data_store_client.py Updates publish_measurement docstring to mention float waveform support.
tests/unit/data/test_read.py Adds unit tests for reading float waveform variants and dtype assertions.
tests/unit/data/test_grpc_conversion.py Adds unit tests ensuring float waveform types populate the correct protobuf fields.
tests/acceptance/test_publish_measurement_and_read_data.py Adds/renames acceptance tests for publishing and reading float analog/complex waveforms.
pyproject.toml Bumps dependencies to versions that include float waveform protos/converters.
poetry.lock Locks updated dependency versions and hashes.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/ni/datastore/data/_grpc_conversion.py
Comment thread src/ni/datastore/data/_data_store_client.py Outdated
Comment thread tests/unit/data/test_read.py
Comment thread tests/acceptance/test_publish_measurement_and_read_data.py Outdated
Signed-off-by: Michael Johansen <michael.johansen@emerson.com>
@mjohanse-emr
mjohanse-emr marked this pull request as draft August 6, 2026 14:03
…t. Fix acceptance test names. Fix unit tests.

Signed-off-by: Michael Johansen <michael.johansen@emerson.com>
@mjohanse-emr
mjohanse-emr marked this pull request as ready for review August 6, 2026 14:14
@mjohanse-emr
mjohanse-emr merged commit c19fdac into main Aug 6, 2026
29 checks passed
@mjohanse-emr
mjohanse-emr deleted the users/mjohanse/float_wfms branch August 6, 2026 14:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants