Add documentation for creating nitlsconfig gRPC channels - #1022
alexdubois-ni wants to merge 10 commits into
Conversation
…gRPC documentation
There was a problem hiding this comment.
🟡 Changes recommended
Installation guidance must include nitlsconfig, and certificate-exchange requirements must be qualified for TLS-enabled channels.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Adds documentation for creating NI-DAQmx gRPC channels with nitlsconfig, including mTLS setup and lifecycle guidance.
Changes:
- Documents channel creation, TLS configuration, and custom options.
- Adds a
nitlsconfigintersphinx mapping.
File summaries
| File | Summary |
|---|---|
docs/grpc_session_options.rst |
Adds nitlsconfig usage and mTLS guidance; installation and TLS wording require updates. |
docs/conf.py |
Registers nitlsconfig documentation for cross-references. |
Review details
- Files reviewed: 2/2 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…ers/adubois/updateDocsForNITLSConfigIntegration
zhindes
left a comment
There was a problem hiding this comment.
Brad's on it; I trust y'all
… sections, and created formal sections altogether.
…se nitlsconfig in the local system case
| $ python -m pip install nidaqmx[grpc] | ||
|
|
||
| Every NI-DAQmx gRPC object is created from a ``grpc.Channel`` that you build and pass to | ||
| :py:class:`nidaqmx.GrpcSessionOptions`. The constructors for :py:class:`nidaqmx.Task`, |
There was a problem hiding this comment.
Intersphinx is not linking to nidaqmx.Task and nidaqmx.Scale because those are aliases that Sphinx doesn't know about.
Easy fix: Use nidaqmx.task.Task and nidaqmx.scale.Scale here.
Less easy fix: change nidaqmx/__init__.py to define Task and Scale as type aliases rather than imports,
e.g.
import nidaqmx.task
Task: TypeAlias = nidaqmx.task.Task
This is less easy because it could have unintended side effects and involves typing_extensions.
Co-authored-by: Brad Keryan <brad.keryan@ni.com>
Co-authored-by: Brad Keryan <brad.keryan@ni.com>
Co-authored-by: Brad Keryan <brad.keryan@ni.com>
Co-authored-by: Brad Keryan <brad.keryan@ni.com>
Co-authored-by: Brad Keryan <brad.keryan@ni.com>
- [ ] I've updated CHANGELOG.md if applicable.- [ ] I've added tests applicable for this pull requestWhat does this Pull Request accomplish?
Provides documentation for utilizing nitlsconfig with nidaqmx-python.
Why should this Pull Request be merged?
Since we're not opting to add examples, we should at the very least provide public documentation that highlights how to use nitlsconfig to produce mTLS encrypted channels using NI TLS, and walk customers through some of the required setup.
This matches the existing documentation that was added to nimi-python. However, the language did need to change because standard NI driver APIs ONLY have a session object with gRPC options, whereas NI-DAQmx has multitudes. I produced a short summary aligned with changelog mentions to at least make it clearer here.
What testing has been done?
N/A. This is documentation only. Full integration is done in this PR and ATS tests will soon follow: #1019