generated from ni/github-repo-template
-
Notifications
You must be signed in to change notification settings - Fork 1
Add ni-grpc-extensions package #84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
409ed3d
Add ni.grpc.extensions package
0eb3cba
Add ni.grpc.extensions to the PR/CI checks.
9de51a8
Have check analyzers run even if check_codegen is skipped.
fce6363
Suppress pyright errors.
5e34245
Suppress only for pyright.
217dfbe
Ignore an unknown import mypy error since it's a Windows only depende…
b283dde
Add linux traceloggingdynamic dependency to dev deps for type checking.
85c2b01
Use the correct ETW string.
4e7f718
Fix docs so they generate correct content.
dixonjoel d7f3106
Try and get check_docs to run on ni.grpc.extensions.
cc128d7
Change output-format to an empty string based on PR feedback.
3ab5b4e
Rename the package to ni-grpc-extensions.
d55fcdd
Fix package name in README, intro.inc, and readthedocs.yaml.
49a3bad
Add a logger unit test and update pyright suppression comments to inc…
15eb5cf
Unit test fixes and other PR feedback.
05f0935
Remove dependencies between 'check_package' jobs since they don't act…
48dfd93
Update ignore comments to include the suppressed error.
c2483e0
Use a file-scoped mypy suppression and link github issues.
8535d62
Remove commented out dependency.
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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-grpc-extensions install --only main,docs | ||
|
|
||
| sphinx: | ||
| configuration: packages/ni-grpc-extensions/docs/conf.py |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| # 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-grpc-extensions` is a Python package that provides channel pool handling for gRPC communication. | ||
|
|
||
| NI created and supports this package. | ||
|
|
||
| ## Operating System Support | ||
|
|
||
| ``ni-grpc-extensions` supports Windows and Linux operating systems. | ||
|
|
||
| ## Python Version Support | ||
|
|
||
| ``ni-grpc-extensions` supports CPython 3.9+. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| """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_grpc_extensions", | ||
| ] | ||
| 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 setup(sphinx): | ||
| """Sphinx setup callback.""" | ||
| pass | ||
|
|
||
|
|
||
| # 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), | ||
| "grpc": ("https://grpc.github.io/grpc/python/", 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 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| ################## | ||
| NI gRPC Extensions | ||
| ################## | ||
|
|
||
| .. include:: intro.inc | ||
|
|
||
| Table of Contents | ||
| ================= | ||
|
|
||
| .. toctree:: | ||
| :maxdepth: 4 | ||
|
|
||
| autoapi/index | ||
| autoapi/ni_grpc_extensions/channelpool/index | ||
| autoapi/ni_grpc_extensions/loggers/index | ||
|
|
||
| Indices and tables | ||
| ================== | ||
|
|
||
| * :ref:`genindex` | ||
| * :ref:`modindex` | ||
| * :ref:`search` |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| Introduction | ||
| ============ | ||
|
|
||
| About | ||
| ----- | ||
|
|
||
| The ``ni-grpc-extensions`` Python package provides channel pool handling for gRPC communication. | ||
|
|
||
| NI created and supports this package. | ||
|
|
||
| Operating System Support | ||
| ------------------------ | ||
|
|
||
| ``ni-grpc-extensions`` supports Windows and Linux operating systems. | ||
|
|
||
| Python Version Support | ||
| ---------------------- | ||
|
|
||
| ``ni-grpc-extensions`` supports CPython 3.9+. | ||
|
|
||
| Installation | ||
| ------------ | ||
|
|
||
| You can directly install the ``ni-grpc-extensions`` package using ``pip`` or by listing it as a dependency in | ||
| your project's ``pyproject.toml`` file. |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.