Incorporate session_utilities.proto split
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 7
- Forks
- 2
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 3
Description
https://github.com/ni/grpc-device/pull/798 split the SessionUtilities interface into a separate .proto file, which broke source compatibility for Python clients.
The first release of ni.grpcdevice.v1.proto will use the old version of session.proto to avoid breaking compatibility with shipped verisons of nimi-python, nidaqmx-python, and measurement-plugin-python.
Here is the migration plan:
- Release ni.grpcdevice.v1.proto 1.x that is compatible with the current nimi-python, nidaqmx-python, and measurement-plugin-python.
- Update nimi-python, nidaqmx-python, and measurement-plugin-python to use ni.grpcdevice.v1.proto. This should not break clients.
- Later, release ni.grpcdevice.v1.proto 2.x with the session.proto updates. This will break clients who mix new/old nimi-python/nidaqmx-python/measurement-plugin-python
- If possible, use Obsoletes-Dist to indicate that it is incompatible with old versions of nidmm, nidcpower, etc.? However, I don't know if Poetry supports this either as a producer or consumer of packages.
Originally posted by @bkeryan in https://github.com/ni/ni-apis-python/pull/72#discussion_r2286221907
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the session.proto history and the split described in PR 798, then inspect how ni.grpcdevice.v1.proto and the related Python packages are released. Trace compatibility for nimi-python, nidaqmx-python, and measurement-plugin-python, and verify what Poetry supports for Obsoletes-Dist. Done means the migration sequence and package metadata behavior are documented or implemented without breaking the shipped clients.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, release
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100