Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ jobs:
proto-subpath: ni/measurementlink/measurement/v2
proto-include-path: ../../third_party/ni-apis
output-format: subpackage
- package-name: ni.measurementlink.pinmap.v1.proto
proto-basepath: ../../third_party/ni-apis
proto-subpath: ni/measurementlink/pinmap/v1
proto-include-path: ../../third_party/ni-apis
output-format: subpackage
- package-name: ni.measurementlink.proto
proto-basepath: ../../third_party/ni-apis
proto-subpath: ni/measurementlink
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ on:
- ni.measurementlink.discovery.v1.proto
- ni.measurementlink.measurement.v1.proto
- ni.measurementlink.measurement.v2.proto
- ni.measuremelink.pinmap.v1.proto
- ni.measurementlink.proto
- ni.measurementlink.sessionmanagement.v1.proto
- ni.panels.v1.proto
Expand Down
16 changes: 16 additions & 0 deletions packages/ni.measurementlink.pinmap.v1.proto/.readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# .readthedocs.yml

version: 2

build:
os: ubuntu-24.04
tools:
python: "3.11"
jobs:
post_create_environment:
- pip install poetry==1.8.2
post_install:
- VIRTUAL_ENV=$READTHEDOCS_VIRTUALENV_PATH poetry -C packages/ni.measurementlink.pinmap.v1.proto install --only main,docs

sphinx:
configuration: packages/ni.measurementlink.pinmap.v1.proto/docs/conf.py
26 changes: 26 additions & 0 deletions packages/ni.measurementlink.pinmap.v1.proto/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Table of Contents

- [Table of Contents](#table-of-contents)
- [About](#about)
- [Operating System Support](#operating-system-support)
- [Python Version Support](#python-version-support)

# About

`ni.measurementlink.pinmap.v1.proto` is a Python package that provides data types for NI gRPC APIs in
the [ni.measurementlink.pinmap.v1 package](https://github.com/ni/ni-apis/tree/main/ni/measurementlink/pinmap/v1).

NI created and supports this package.

## Operating System Support

`ni.measurementlink.pinmap.v1.proto` supports Windows and Linux operating systems.

## Python Version Support

`ni.measurementlink.pinmap.v1.proto` supports CPython 3.9+.

## Installation

You can directly install the `ni.measurementlink.pinmap.v1.proto` package using `pip` or by listing it as a
dependency in your project's `pyproject.toml` file.
95 changes: 95 additions & 0 deletions packages/ni.measurementlink.pinmap.v1.proto/docs/conf.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
"""Sphinx Configuration File."""

import datetime
import pathlib

import autoapi.extension
import toml

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
# "autoapi.extension",
# "m2r2",
# "sphinx.ext.autodoc",
# "sphinx.ext.intersphinx",
# "sphinx.ext.napoleon",
# "sphinx.ext.viewcode",
]

root_path = pathlib.Path(__file__).parent.parent
pyproj_file = root_path / "pyproject.toml"
proj_config = toml.loads(pyproj_file.read_text())


project = proj_config["tool"]["poetry"]["name"]
company = "National Instruments"
copyright = f"2025-%Y, {company}"
if datetime.datetime.now().year == 2025:
copyright = f"%Y, {company}"


# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
version = proj_config["tool"]["poetry"]["version"]
release = ".".join(version.split(".")[:2])
description = proj_config["tool"]["poetry"]["description"]


htmlhelp_basename = f"{project}doc"


# tell autoapi to doc the public options
autoapi_options = list(autoapi.extension._DEFAULT_OPTIONS)
autoapi_options.remove("private-members") # note: remove this to include "_" members in docs
# autoapi_dirs = [root_path / "src" / "ni"]
autoapi_python_use_implicit_namespaces = True
autoapi_template_dir = "templates/autoapi"
autoapi_python_class_content = "both"
autoapi_type = "python"
autodoc_typehints = "description"
autoapi_file_patterns = ["*.pyi", "*.py"]
autoapi_ignore = [
'**/__init__.py',
]


def process_docstring(app, what, name, obj, options, lines):
"""Make edits to docstrings as necessary"""
if r"@generated by mypy-protobuf" in lines[0]:
lines.clear()


def setup(sphinx):
"""Sphinx setup callback."""
# sphinx.connect("autodoc-process-docstring", process_docstring)


# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This patterns also effect to html_static_path and html_extra_path
exclude_patterns = ["_build", "Thumbs.db", ".DS_Store", "__init__.py"]

# intersphinx_mapping = {
# "python": ("https://docs.python.org/3", None),
# }


# -- Options for HTML output ----------------------------------------------


# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = "sphinx_rtd_theme"
html_theme_options = {
"navigation_depth": -1,
}

templates_path = ["templates"]

# Napoleon settings
napoleon_numpy_docstring = False
8 changes: 8 additions & 0 deletions packages/ni.measurementlink.pinmap.v1.proto/docs/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
##################################################
Protobuf types for NI Pin Map gRPC APIs
##################################################

.. toctree::
:maxdepth: 1
:caption: Contents:

25 changes: 25 additions & 0 deletions packages/ni.measurementlink.pinmap.v1.proto/docs/intro.inc
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Introduction
============

About
-----

The ``ni.measurementlink.pinmap.v1.proto`` Python package contains generated Python interfaces for proto files in the ``ni-apis`` repo.

NI created and supports this package.

Operating System Support
------------------------

``ni.measurementlink.pinmap.v1.proto`` supports Windows and Linux operating systems.

Python Version Support
----------------------

``ni.measurementlink.pinmap.v1.proto`` supports CPython 3.9+.

Installation
------------

You can directly install the ``ni.measurementlink.pinmap.v1.proto`` package using ``pip`` or by listing it as a dependency in
your project's ``pyproject.toml`` file.
Loading
Loading