From d3c0f0a37bb963a96aabd97183ae3014837dea75 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 13:14:03 -0400 Subject: [PATCH 01/20] install ruff --- poetry.lock | 48 +++++++++++++++++++++++++++--------------------- pyproject.toml | 1 + 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/poetry.lock b/poetry.lock index 31b99d5dc..7a866425e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1642,16 +1642,6 @@ files = [ {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:f698de3fd0c4e6972b92290a45bd9b1536bffe8c6759c62471efaa8acb4c37bc"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aa57bd9cf8ae831a362185ee444e15a93ecb2e344c8e52e4d721ea3ab6ef1823"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffcc3f7c66b5f5b7931a5aa68fc9cecc51e685ef90282f4a82f0f5e9b704ad11"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47d4f1c5f80fc62fdd7777d0d40a2e9dda0a05883ab11374334f6c4de38adffd"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1f67c7038d560d92149c060157d623c542173016c4babc0c1913cca0564b9939"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9aad3c1755095ce347e26488214ef77e0485a3c34a50c5a5e2471dff60b9dd9c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:14ff806850827afd6b07a5f32bd917fb7f45b046ba40c57abdb636674a8b559c"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8f9293864fe09b8149f0cc42ce56e3f0e54de883a9de90cd427f191c346eb2e1"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win32.whl", hash = "sha256:715d3562f79d540f251b99ebd6d8baa547118974341db04f5ad06d5ea3eb8007"}, - {file = "MarkupSafe-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b8dd8c3fd14349433c79fa8abeb573a55fc0fdd769133baac1f5e07abf54aeb"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, @@ -2620,7 +2610,6 @@ files = [ {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d"}, {file = "PyYAML-6.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515"}, - {file = "PyYAML-6.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290"}, {file = "PyYAML-6.0.1-cp310-cp310-win32.whl", hash = "sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924"}, {file = "PyYAML-6.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d"}, {file = "PyYAML-6.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007"}, @@ -2628,15 +2617,8 @@ files = [ {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc"}, {file = "PyYAML-6.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673"}, - {file = "PyYAML-6.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b"}, {file = "PyYAML-6.0.1-cp311-cp311-win32.whl", hash = "sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741"}, {file = "PyYAML-6.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, {file = "PyYAML-6.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98"}, {file = "PyYAML-6.0.1-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c"}, @@ -2653,7 +2635,6 @@ files = [ {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696"}, {file = "PyYAML-6.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735"}, - {file = "PyYAML-6.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6"}, {file = "PyYAML-6.0.1-cp38-cp38-win32.whl", hash = "sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206"}, {file = "PyYAML-6.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62"}, {file = "PyYAML-6.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8"}, @@ -2661,7 +2642,6 @@ files = [ {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0"}, {file = "PyYAML-6.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c"}, - {file = "PyYAML-6.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5"}, {file = "PyYAML-6.0.1-cp39-cp39-win32.whl", hash = "sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c"}, {file = "PyYAML-6.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486"}, {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, @@ -2984,6 +2964,32 @@ files = [ {file = "rpds_py-0.10.6.tar.gz", hash = "sha256:4ce5a708d65a8dbf3748d2474b580d606b1b9f91b5c6ab2a316e0b0cf7a4ba50"}, ] +[[package]] +name = "ruff" +version = "0.1.3" +description = "An extremely fast Python linter, written in Rust." +optional = false +python-versions = ">=3.7" +files = [ + {file = "ruff-0.1.3-py3-none-macosx_10_7_x86_64.whl", hash = "sha256:b46d43d51f7061652eeadb426a9e3caa1e0002470229ab2fc19de8a7b0766901"}, + {file = "ruff-0.1.3-py3-none-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl", hash = "sha256:b8afeb9abd26b4029c72adc9921b8363374f4e7edb78385ffaa80278313a15f9"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca3cf365bf32e9ba7e6db3f48a4d3e2c446cd19ebee04f05338bc3910114528b"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4874c165f96c14a00590dcc727a04dca0cfd110334c24b039458c06cf78a672e"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eec2dd31eed114e48ea42dbffc443e9b7221976554a504767ceaee3dd38edeb8"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:dc3ec4edb3b73f21b4aa51337e16674c752f1d76a4a543af56d7d04e97769613"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e3de9ed2e39160800281848ff4670e1698037ca039bda7b9274f849258d26ce"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c595193881922cc0556a90f3af99b1c5681f0c552e7a2a189956141d8666fe8"}, + {file = "ruff-0.1.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f75e670d529aa2288cd00fc0e9b9287603d95e1536d7a7e0cafe00f75e0dd9d"}, + {file = "ruff-0.1.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:76dd49f6cd945d82d9d4a9a6622c54a994689d8d7b22fa1322983389b4892e20"}, + {file = "ruff-0.1.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:918b454bc4f8874a616f0d725590277c42949431ceb303950e87fef7a7d94cb3"}, + {file = "ruff-0.1.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d8859605e729cd5e53aa38275568dbbdb4fe882d2ea2714c5453b678dca83784"}, + {file = "ruff-0.1.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:0b6c55f5ef8d9dd05b230bb6ab80bc4381ecb60ae56db0330f660ea240cb0d4a"}, + {file = "ruff-0.1.3-py3-none-win32.whl", hash = "sha256:3e7afcbdcfbe3399c34e0f6370c30f6e529193c731b885316c5a09c9e4317eef"}, + {file = "ruff-0.1.3-py3-none-win_amd64.whl", hash = "sha256:7a18df6638cec4a5bd75350639b2bb2a2366e01222825562c7346674bdceb7ea"}, + {file = "ruff-0.1.3-py3-none-win_arm64.whl", hash = "sha256:12fd53696c83a194a2db7f9a46337ce06445fb9aa7d25ea6f293cf75b21aca9f"}, + {file = "ruff-0.1.3.tar.gz", hash = "sha256:3ba6145369a151401d5db79f0a47d50e470384d0d89d0d6f7fab0b589ad07c34"}, +] + [[package]] name = "send2trash" version = "1.8.2" @@ -3771,4 +3777,4 @@ mlmodel = ["numpy"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<3.12" -content-hash = "495794bde3f5906850d5ca2e676bb776ae49a3d57f4f5dd61f43ab0d6d752e23" +content-hash = "134aa119dbf981e2a22fd6d018bb28c81c2a79259981259d3778fd3bc8654e69" diff --git a/pyproject.toml b/pyproject.toml index c86c4917b..f1757a56c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -39,6 +39,7 @@ include = ["LICENSE", "src/viam/rpc/libviam_rust_utils.*"] pytest-watcher = "^0.3.4" # TODO(RSDK-5450) - Update myst-nb so this can be unpinned. astroid = "<=2.15.6" + ruff = "^0.1.3" [tool.pytest.ini_options] addopts = "-ra" From 4a3261042e2a1428fbf0cbd92333fe74d2b243e8 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 13:14:14 -0400 Subject: [PATCH 02/20] configure linter --- pyproject.toml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index f1757a56c..f589849cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,3 +66,17 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.extras] mlmodel = ["numpy"] + +[tool.ruff] +extend-exclude = [ + "**/gen/**", + "*_grpc.py", + "*_pb2.py", + "*_pb2.pyi", + ".tox" +] +line-length = 140 +ignore = ["E203"] + +[tool.ruff.extend-per-file-ignores] +"__init__.py" = ["F401"] From 90b5f25e3ee1e7bf11398f29a6d69deb12e1df4c Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 13:26:36 -0400 Subject: [PATCH 03/20] ignore lint on one lint for now --- src/viam/resource/registry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/viam/resource/registry.py b/src/viam/resource/registry.py index ecda7068e..0bbf2289a 100644 --- a/src/viam/resource/registry.py +++ b/src/viam/resource/registry.py @@ -33,7 +33,7 @@ class ResourceCreatorRegistration: """A function that can create a resource given a mapping of dependencies (``ResourceName`` to ``ResourceBase`` """ - validator: "Validator" = lambda x: [] + validator: "Validator" = lambda x: [] # noqa """A function that can validate a resource and return implicit dependencies. If called without a validator function, default to a function returning an empty Sequence From 41ce1ef57303aa8a1808ba9f9c9ca02358e13d8c Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 13:26:49 -0400 Subject: [PATCH 04/20] use ruff to lint --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ba3de2c35..29fdf9ba7 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - flake8 --exclude=**/gen/**,*_grpc.py,*_pb2.py,*_pb2.pyi,.tox + ruff check src lint: poetry run $(MAKE) _lint From 72a987147bd29835ea7a268e8960ecd83766a44c Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 13:34:41 -0400 Subject: [PATCH 05/20] intentional unformat/unsort --- src/viam/robot/service.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/viam/robot/service.py b/src/viam/robot/service.py index 9b3fed1c6..dabbaea30 100644 --- a/src/viam/robot/service.py +++ b/src/viam/robot/service.py @@ -6,15 +6,15 @@ from viam import logging from viam.components.movement_sensor import MovementSensor from viam.components.sensor import Sensor -from viam.errors import MethodNotImplementedError, ViamGRPCError from viam.proto.common import ResourceName +from viam.errors import ViamGRPCError, MethodNotImplementedError from viam.proto.robot import ( - BlockForOperationRequest, BlockForOperationResponse, CancelOperationRequest, CancelOperationResponse, DiscoverComponentsRequest, DiscoverComponentsResponse, + BlockForOperationRequest, FrameSystemConfigRequest, FrameSystemConfigResponse, GetOperationsRequest, @@ -80,7 +80,9 @@ async def _generate_status(self, resource_names: Iterable[ResourceName]) -> List raise e.grpc_error if resource_names: - statuses = [s for s in statuses if s.name in resource_names] + statuses = [ + s for s in statuses if s.name in resource_names + ] return statuses async def ResourceNames(self, stream: Stream[ResourceNamesRequest, ResourceNamesResponse]) -> None: From 1da915f968a0cc88b00af8bf8977590c19f2e63f Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:14:32 -0400 Subject: [PATCH 06/20] Revert "intentional unformat/unsort" This reverts commit 72a987147bd29835ea7a268e8960ecd83766a44c. --- src/viam/robot/service.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/viam/robot/service.py b/src/viam/robot/service.py index dabbaea30..9b3fed1c6 100644 --- a/src/viam/robot/service.py +++ b/src/viam/robot/service.py @@ -6,15 +6,15 @@ from viam import logging from viam.components.movement_sensor import MovementSensor from viam.components.sensor import Sensor +from viam.errors import MethodNotImplementedError, ViamGRPCError from viam.proto.common import ResourceName -from viam.errors import ViamGRPCError, MethodNotImplementedError from viam.proto.robot import ( + BlockForOperationRequest, BlockForOperationResponse, CancelOperationRequest, CancelOperationResponse, DiscoverComponentsRequest, DiscoverComponentsResponse, - BlockForOperationRequest, FrameSystemConfigRequest, FrameSystemConfigResponse, GetOperationsRequest, @@ -80,9 +80,7 @@ async def _generate_status(self, resource_names: Iterable[ResourceName]) -> List raise e.grpc_error if resource_names: - statuses = [ - s for s in statuses if s.name in resource_names - ] + statuses = [s for s in statuses if s.name in resource_names] return statuses async def ResourceNames(self, stream: Stream[ResourceNamesRequest, ResourceNamesResponse]) -> None: From 07a3fa128cc3dd17bf38a505bfd8497f88c6480a Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:25:29 -0400 Subject: [PATCH 07/20] sort change --- src/viam/app/app_client.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/viam/app/app_client.py b/src/viam/app/app_client.py index e4f46219d..8cffcfc1d 100644 --- a/src/viam/app/app_client.py +++ b/src/viam/app/app_client.py @@ -28,9 +28,6 @@ DeleteRobotPartRequest, DeleteRobotPartSecretRequest, DeleteRobotRequest, -) -from viam.proto.app import Fragment as FragmentPB -from viam.proto.app import ( GetFragmentRequest, GetFragmentResponse, GetLocationRequest, @@ -67,9 +64,6 @@ LocationAuth, LocationAuthRequest, LocationAuthResponse, -) -from viam.proto.app import LogEntry as LogEntryPB -from viam.proto.app import ( MarkPartAsMainRequest, MarkPartForRestartRequest, Model, @@ -85,10 +79,6 @@ OrgDetails, RemoveRoleRequest, Robot, -) -from viam.proto.app import RobotPart as RobotPartPB -from viam.proto.app import RobotPartHistoryEntry as RobotPartHistoryEntryPB -from viam.proto.app import ( SharedSecret, TailRobotPartLogsRequest, TailRobotPartLogsResponse, @@ -107,6 +97,10 @@ UploadModuleFileRequest, Visibility, ) +from viam.proto.app import Fragment as FragmentPB +from viam.proto.app import LogEntry as LogEntryPB +from viam.proto.app import RobotPart as RobotPartPB +from viam.proto.app import RobotPartHistoryEntry as RobotPartHistoryEntryPB from viam.utils import datetime_to_timestamp, dict_to_struct, struct_to_dict LOGGER = logging.getLogger(__name__) From e7b8bb3f3400fdc16d22e3075eab5aa97d770030 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:25:44 -0400 Subject: [PATCH 08/20] use ruff to format and sort --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 29fdf9ba7..22379c4a1 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,14 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - ruff check src + ruff src lint: poetry run $(MAKE) _lint _format: - black --exclude ".*/gen/.*" ./src - isort ./src + ruff format ./src + ruff --select I001 --fix src format: poetry run $(MAKE) _format From 0189e4806e568ec054fbd18121669c561c39f872 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:28:50 -0400 Subject: [PATCH 09/20] use same configs --- Makefile | 6 +++--- pyproject.toml | 7 ------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 22379c4a1..5678b9dec 100644 --- a/Makefile +++ b/Makefile @@ -2,14 +2,14 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - ruff src + ruff --exclude=**/gen/**,*_grpc.py,*_pb2.py,*_pb2.pyi,.tox . lint: poetry run $(MAKE) _lint _format: - ruff format ./src - ruff --select I001 --fix src + ruff format --exclude ".*/gen/.*" ./src + ruff --select I001 --fix ./src format: poetry run $(MAKE) _format diff --git a/pyproject.toml b/pyproject.toml index f589849cd..2c9347e1b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,13 +68,6 @@ build-backend = "poetry.core.masonry.api" mlmodel = ["numpy"] [tool.ruff] -extend-exclude = [ - "**/gen/**", - "*_grpc.py", - "*_pb2.py", - "*_pb2.pyi", - ".tox" -] line-length = 140 ignore = ["E203"] From 6ac6fa190d8220ad0b070cea9caad63f0d481360 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:33:29 -0400 Subject: [PATCH 10/20] reconfigure --- Makefile | 4 ++-- pyproject.toml | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5678b9dec..9b03a0eb6 100644 --- a/Makefile +++ b/Makefile @@ -2,13 +2,13 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - ruff --exclude=**/gen/**,*_grpc.py,*_pb2.py,*_pb2.pyi,.tox . + ruff --exclude=*_grpc.py,*_pb2.py,*_pb2.pyi,.tox . lint: poetry run $(MAKE) _lint _format: - ruff format --exclude ".*/gen/.*" ./src + ruff format ./src ruff --select I001 --fix ./src format: diff --git a/pyproject.toml b/pyproject.toml index 2c9347e1b..c57202af7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -70,6 +70,7 @@ mlmodel = ["numpy"] [tool.ruff] line-length = 140 ignore = ["E203"] +extend-exclude = ["**/gen/**"] [tool.ruff.extend-per-file-ignores] "__init__.py" = ["F401"] From f036b61dcd2099d452abfb911afd4be0335519b6 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:34:45 -0400 Subject: [PATCH 11/20] reconfigure more --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 9b03a0eb6..5bd220e80 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - ruff --exclude=*_grpc.py,*_pb2.py,*_pb2.pyi,.tox . + ruff --exclude=.tox . lint: poetry run $(MAKE) _lint From 94b7b9aa86bceae681164a4c06073d4f7d85acc9 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:35:59 -0400 Subject: [PATCH 12/20] too much --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 5bd220e80..9b03a0eb6 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ clean: find . -type d -name '__pycache__' | xargs rm -rf _lint: - ruff --exclude=.tox . + ruff --exclude=*_grpc.py,*_pb2.py,*_pb2.pyi,.tox . lint: poetry run $(MAKE) _lint From b56e0d9b2798b85d02790960373f28ec5cec2c38 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:36:35 -0400 Subject: [PATCH 13/20] remove flake/black/isort configs --- .flake8 | 6 ------ pyproject.toml | 8 -------- 2 files changed, 14 deletions(-) delete mode 100644 .flake8 diff --git a/.flake8 b/.flake8 deleted file mode 100644 index a882cbdd0..000000000 --- a/.flake8 +++ /dev/null @@ -1,6 +0,0 @@ -[flake8] -max-line-length = 140 -extend-ignore = E203 -per-file-ignores = - # imported but unused - __init__.py: F401 diff --git a/pyproject.toml b/pyproject.toml index c57202af7..8ddc4d952 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,14 +52,6 @@ omit = [ "*/gen/*" ] [tool.coverage.report] exclude_lines = [ "pragma: no\\s*cover", "\\.\\.\\." ] -[tool.black] -line-length = 140 - -[tool.isort] -profile = "black" -skip_glob = ["**/gen/**"] -line_length = 140 - [build-system] requires = [ "poetry-core>=1.0.0" ] build-backend = "poetry.core.masonry.api" From dc34d42b9266de56ac32afc66fef1c66c35e1551 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 1 Nov 2023 15:58:06 -0400 Subject: [PATCH 14/20] noqa specific rule --- src/viam/resource/registry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/viam/resource/registry.py b/src/viam/resource/registry.py index 0bbf2289a..ae2ead40e 100644 --- a/src/viam/resource/registry.py +++ b/src/viam/resource/registry.py @@ -33,7 +33,7 @@ class ResourceCreatorRegistration: """A function that can create a resource given a mapping of dependencies (``ResourceName`` to ``ResourceBase`` """ - validator: "Validator" = lambda x: [] # noqa + validator: "Validator" = lambda x: [] # noqa: E731 """A function that can validate a resource and return implicit dependencies. If called without a validator function, default to a function returning an empty Sequence From 92bfad821eff9d8d725278a81e518555bf3defba Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Wed, 3 Jan 2024 17:22:26 -0500 Subject: [PATCH 15/20] fix lock --- poetry.lock | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/poetry.lock b/poetry.lock index b2f4fc2a7..1fbde2f66 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "alabaster" @@ -3009,6 +3009,32 @@ files = [ {file = "rpds_py-0.12.0.tar.gz", hash = "sha256:7036316cc26b93e401cedd781a579be606dad174829e6ad9e9c5a0da6e036f80"}, ] +[[package]] +name = "ruff" +version = "0.1.11" +description = "An extremely fast Python linter and code formatter, written in Rust." +optional = false +python-versions = ">=3.7" +files = [ + {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a7f772696b4cdc0a3b2e527fc3c7ccc41cdcb98f5c80fdd4f2b8c50eb1458196"}, + {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:934832f6ed9b34a7d5feea58972635c2039c7a3b434fe5ba2ce015064cb6e955"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea0d3e950e394c4b332bcdd112aa566010a9f9c95814844a7468325290aabfd9"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9bd4025b9c5b429a48280785a2b71d479798a69f5c2919e7d274c5f4b32c3607"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1ad00662305dcb1e987f5ec214d31f7d6a062cae3e74c1cbccef15afd96611d"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4b077ce83f47dd6bea1991af08b140e8b8339f0ba8cb9b7a484c30ebab18a23f"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4a88efecec23c37b11076fe676e15c6cdb1271a38f2b415e381e87fe4517f18"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b25093dad3b055667730a9b491129c42d45e11cdb7043b702e97125bcec48a1"}, + {file = "ruff-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231d8fb11b2cc7c0366a326a66dafc6ad449d7fcdbc268497ee47e1334f66f77"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:09c415716884950080921dd6237767e52e227e397e2008e2bed410117679975b"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0f58948c6d212a6b8d41cd59e349751018797ce1727f961c2fa755ad6208ba45"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:190a566c8f766c37074d99640cd9ca3da11d8deae2deae7c9505e68a4a30f740"}, + {file = "ruff-0.1.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6464289bd67b2344d2a5d9158d5eb81025258f169e69a46b741b396ffb0cda95"}, + {file = "ruff-0.1.11-py3-none-win32.whl", hash = "sha256:9b8f397902f92bc2e70fb6bebfa2139008dc72ae5177e66c383fa5426cb0bf2c"}, + {file = "ruff-0.1.11-py3-none-win_amd64.whl", hash = "sha256:eb85ee287b11f901037a6683b2374bb0ec82928c5cbc984f575d0437979c521a"}, + {file = "ruff-0.1.11-py3-none-win_arm64.whl", hash = "sha256:97ce4d752f964ba559c7023a86e5f8e97f026d511e48013987623915431c7ea9"}, + {file = "ruff-0.1.11.tar.gz", hash = "sha256:f9d4d88cb6eeb4dfe20f9f0519bd2eaba8119bde87c3d5065c541dbae2b5a2cb"}, +] + [[package]] name = "send2trash" version = "1.8.2" @@ -3819,4 +3845,4 @@ mlmodel = ["numpy"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<3.13" -content-hash = "aae6142a4db0f0f4600008d95a18468969632aca22fdc3da4b4b0addf6d3ccd6" +content-hash = "c6768f94fed4f3f42d638f9e22f41c4abde0b4c113c525e73b58cbe4ad6c173d" From b14fd6dcca943dfcfcfddc2d2c2af54a7f52dbce Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Tue, 27 Feb 2024 11:07:35 -0500 Subject: [PATCH 16/20] merge 'main' --- .github/workflows/test.yml | 7 +- .github/workflows/update_protos.yml | 26 +- .vscode/settings.json | 69 +- Makefile | 6 + docs/examples/_server.py | 4 +- docs/examples/example.ipynb | 2 +- examples/server/v1/services.py | 5 - poetry.lock | 2305 +++++++++-------- pyproject.toml | 41 +- src/viam/__init__.py | 22 +- src/viam/app/_logs.py | 10 +- src/viam/app/app_client.py | 31 +- src/viam/app/billing_client.py | 13 +- src/viam/app/data_client.py | 122 +- src/viam/components/arm/arm.py | 2 +- src/viam/components/arm/client.py | 6 + src/viam/components/arm/service.py | 2 +- .../components/audio_input/audio_input.py | 4 +- src/viam/components/audio_input/client.py | 7 +- src/viam/components/audio_input/service.py | 4 +- src/viam/components/base/base.py | 4 +- src/viam/components/base/client.py | 21 +- src/viam/components/base/service.py | 2 +- src/viam/components/board/board.py | 28 +- src/viam/components/board/client.py | 98 +- src/viam/components/board/service.py | 2 +- src/viam/components/camera/camera.py | 47 +- src/viam/components/camera/client.py | 56 +- src/viam/components/camera/service.py | 8 +- src/viam/components/component_base.py | 8 + src/viam/components/encoder/client.py | 11 +- src/viam/components/encoder/encoder.py | 27 +- src/viam/components/encoder/service.py | 2 +- src/viam/components/gantry/client.py | 41 +- src/viam/components/gantry/gantry.py | 58 +- src/viam/components/gantry/service.py | 2 +- src/viam/components/generic/client.py | 8 +- src/viam/components/generic/generic.py | 4 +- src/viam/components/gripper/client.py | 32 +- src/viam/components/gripper/gripper.py | 33 +- src/viam/components/gripper/service.py | 2 +- src/viam/components/input/client.py | 40 +- src/viam/components/input/input.py | 87 +- src/viam/components/input/service.py | 2 +- src/viam/components/motor/client.py | 16 +- src/viam/components/motor/motor.py | 4 +- src/viam/components/motor/service.py | 2 +- src/viam/components/movement_sensor/client.py | 86 +- .../movement_sensor/movement_sensor.py | 20 +- .../components/movement_sensor/service.py | 5 +- src/viam/components/pose_tracker/client.py | 9 +- .../components/pose_tracker/pose_tracker.py | 4 +- src/viam/components/pose_tracker/service.py | 2 +- src/viam/components/power_sensor/client.py | 40 +- .../components/power_sensor/power_sensor.py | 4 +- src/viam/components/power_sensor/service.py | 2 +- src/viam/components/sensor/client.py | 14 +- src/viam/components/sensor/sensor.py | 6 +- src/viam/components/sensor/service.py | 2 +- src/viam/components/servo/client.py | 33 +- src/viam/components/servo/service.py | 2 +- src/viam/components/servo/servo.py | 4 +- src/viam/gen/app/agent/v1/agent_grpc.py | 1 + src/viam/gen/app/agent/v1/agent_pb2.py | 73 +- src/viam/gen/app/agent/v1/agent_pb2.pyi | 24 +- src/viam/gen/app/data/v1/data_pb2.py | 176 +- src/viam/gen/app/data/v1/data_pb2.pyi | 7 +- src/viam/gen/app/packages/v1/packages_pb2.py | 8 +- src/viam/gen/app/packages/v1/packages_pb2.pyi | 2 - src/viam/gen/app/v1/app_grpc.py | 1 + src/viam/gen/app/v1/app_pb2.py | 691 ++--- src/viam/gen/app/v1/app_pb2.pyi | 84 +- src/viam/gen/app/v1/billing_grpc.py | 27 +- src/viam/gen/app/v1/billing_pb2.py | 80 +- src/viam/gen/app/v1/billing_pb2.pyi | 247 -- src/viam/gen/app/v1/robot_grpc.py | 2 +- src/viam/gen/app/v1/robot_pb2.py | 171 +- src/viam/gen/app/v1/robot_pb2.pyi | 13 +- src/viam/gen/common/v1/common_pb2.py | 10 +- src/viam/gen/common/v1/common_pb2.pyi | 39 + .../movementsensor/v1/movementsensor_pb2.py | 22 +- .../movementsensor/v1/movementsensor_pb2.pyi | 43 +- src/viam/gen/provisioning/__init__.py | 0 src/viam/gen/provisioning/v1/__init__.py | 0 .../gen/provisioning/v1/provisioning_grpc.py | 36 + .../gen/provisioning/v1/provisioning_pb2.py | 36 + .../gen/provisioning/v1/provisioning_pb2.pyi | 192 ++ src/viam/gen/robot/v1/robot_grpc.py | 14 +- src/viam/gen/robot/v1/robot_pb2.py | 22 +- src/viam/gen/robot/v1/robot_pb2.pyi | 51 +- src/viam/gen/service/generic/__init__.py | 0 src/viam/gen/service/generic/v1/__init__.py | 0 .../gen/service/generic/v1/generic_grpc.py | 23 + .../gen/service/generic/v1/generic_pb2.py | 18 + .../gen/service/generic/v1/generic_pb2.pyi | 6 + src/viam/gen/service/motion/v1/motion_grpc.py | 7 +- src/viam/gen/service/motion/v1/motion_pb2.py | 120 +- src/viam/gen/service/motion/v1/motion_pb2.pyi | 65 +- .../service/navigation/v1/navigation_pb2.pyi | 2 +- .../gen/service/sensors/v1/sensors_pb2.py | 64 +- .../gen/service/sensors/v1/sensors_pb2.pyi | 1 + src/viam/gen/service/slam/v1/slam_grpc.py | 8 +- src/viam/gen/service/slam/v1/slam_pb2.py | 49 +- src/viam/gen/service/slam/v1/slam_pb2.pyi | 34 - src/viam/logging.py | 4 +- src/viam/media/media.py | 12 +- src/viam/media/viam_rgba_plugin.py | 12 +- src/viam/media/video.py | 2 +- src/viam/operations.py | 5 +- src/viam/proto/app/__init__.py | 2 - src/viam/proto/app/billing.py | 22 - src/viam/proto/common/__init__.py | 2 + .../component/movementsensor/__init__.py | 2 - src/viam/proto/provisioning/__init__.py | 34 + src/viam/proto/robot/__init__.py | 8 + src/viam/proto/service/generic/__init__.py | 10 + src/viam/proto/service/motion/__init__.py | 4 - src/viam/proto/service/slam/__init__.py | 4 - src/viam/resource/base.py | 20 +- src/viam/resource/rpc_service_base.py | 7 +- src/viam/resource/types.py | 23 +- src/viam/robot/client.py | 8 +- src/viam/robot/service.py | 10 + src/viam/services/generic/__init__.py | 18 + src/viam/services/generic/client.py | 55 + src/viam/services/generic/generic.py | 58 + src/viam/services/generic/service.py | 29 + src/viam/services/mlmodel/mlmodel.py | 4 +- src/viam/services/motion/client.py | 90 +- src/viam/services/navigation/client.py | 2 +- src/viam/services/navigation/navigation.py | 4 +- src/viam/services/sensors/client.py | 6 +- src/viam/services/service_base.py | 8 + src/viam/services/service_client_base.py | 2 +- src/viam/services/slam/client.py | 18 +- src/viam/services/slam/service.py | 13 +- src/viam/services/slam/slam.py | 13 +- src/viam/services/vision/client.py | 20 +- src/viam/services/vision/vision.py | 31 +- src/viam/utils.py | 3 + tests/mocks/components.py | 7 +- tests/mocks/robot.py | 10 + tests/mocks/services.py | 134 +- tests/test_app_client.py | 6 +- tests/test_camera.py | 24 +- tests/test_data_client.py | 18 + tests/test_dataset.py | 59 + ...t_generic.py => test_generic_component.py} | 10 +- tests/test_generic_service.py | 57 + tests/test_module.py | 107 +- tests/test_motion_service.py | 28 +- tests/test_motor.py | 4 +- tests/test_movement_sensor.py | 28 +- tests/test_slam.py | 34 +- tox.ini | 10 +- 155 files changed, 4269 insertions(+), 2867 deletions(-) create mode 100644 src/viam/gen/provisioning/__init__.py create mode 100644 src/viam/gen/provisioning/v1/__init__.py create mode 100644 src/viam/gen/provisioning/v1/provisioning_grpc.py create mode 100644 src/viam/gen/provisioning/v1/provisioning_pb2.py create mode 100644 src/viam/gen/provisioning/v1/provisioning_pb2.pyi create mode 100644 src/viam/gen/service/generic/__init__.py create mode 100644 src/viam/gen/service/generic/v1/__init__.py create mode 100644 src/viam/gen/service/generic/v1/generic_grpc.py create mode 100644 src/viam/gen/service/generic/v1/generic_pb2.py create mode 100644 src/viam/gen/service/generic/v1/generic_pb2.pyi create mode 100644 src/viam/proto/provisioning/__init__.py create mode 100644 src/viam/proto/service/generic/__init__.py create mode 100644 src/viam/services/generic/__init__.py create mode 100644 src/viam/services/generic/client.py create mode 100644 src/viam/services/generic/generic.py create mode 100644 src/viam/services/generic/service.py create mode 100644 tests/test_dataset.py rename tests/{test_generic.py => test_generic_component.py} (91%) create mode 100644 tests/test_generic_service.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 329cf142b..41f58fcbb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,14 +9,14 @@ on: push: branches: [main] pull_request_target: - branches: [main, 'rc-*'] + branches: [main, "rc-*"] jobs: test: if: github.repository_owner == 'viamrobotics' runs-on: buildjet-2vcpu-ubuntu-2204 container: - image: python:${{ matrix.python-version }} + image: public.ecr.aws/docker/library/python:${{ matrix.python-version }} strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] @@ -44,6 +44,9 @@ jobs: run: poetry run pip install -r requirements-test.txt if: ${{ matrix.requirements-version == 'min' }} + - name: Type Check + run: make typecheck + - name: Lint run: make lint diff --git a/.github/workflows/update_protos.yml b/.github/workflows/update_protos.yml index 1f7bac55a..184108566 100644 --- a/.github/workflows/update_protos.yml +++ b/.github/workflows/update_protos.yml @@ -9,11 +9,9 @@ on: jobs: update-protos: if: github.repository_owner == 'viamrobotics' - runs-on: [self-hosted, x64] - container: - image: ghcr.io/viamrobotics/canon:amd64 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: bufbuild/buf-setup-action@v1.28.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} @@ -39,13 +37,13 @@ jobs: run: make format - name: Add + Commit + Open PR - uses: peter-evans/create-pull-request@v5.0.2 - with: - commit-message: "[WORKFLOW] Updating protos from ${{ github.event.client_payload.repo_name }}, commit: ${{ github.event.client_payload.sha }}" - branch: "workflow/update-protos" - delete-branch: true - base: main - title: Automated Protos Update - body: This is an auto-generated PR to update proto definitions. Check the commits to see which repos and commits are responsible for the changes - assignees: njooma - reviewers: njooma + shell: bash + run: | + git checkout -b workflow/update-protos || git checkout workflow/update-protos + git add --all + git -c author.name=viambot -c author.email=viambot@users.noreply.github.com -c committer.name=GitHub -c committer.email=noreply@github.com commit -m "[WORKFLOW] Updating protos from ${{ github.event.client_payload.repo_name }}, commit: ${{ github.event.client_payload.sha }}" + git -c pull.ff=only pull origin workflow/update-protos || true # do not fail if the branch doesn't exist + git push -f origin workflow/update-protos + gh pr view workflow/update-protos && gh pr reopen workflow/update-protos || gh pr create -B main -H workflow/update-protos -t "Automated Protos Update" -b "This is an auto-generated PR to update proto definitions. Check the commits to see which repos and commits are responsible for the changes" -a njooma -r njooma + env: + GH_TOKEN: ${{ github.token }} diff --git a/.vscode/settings.json b/.vscode/settings.json index 78b6cdfd6..1034e8336 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,37 +1,36 @@ { - "[python]": { - "editor.defaultFormatter": "ms-python.black-formatter", - "editor.formatOnSave": true, - }, - "python.linting.flake8Enabled": true, - "editor.formatOnSave": true, - "python.analysis.typeCheckingMode": "basic", - "python.linting.ignorePatterns": [ - "**/site-packages/**/*.py", - ".vscode/*.py", - "gen/**/*", - "viam/proto/**/*" - ], - "files.trimTrailingWhitespace": true, - "files.insertFinalNewline": true, - "editor.rulers": [ - { - "column": 140, - "color": "#777777" - } - ], - "python.formatting.provider": "black", - "cSpell.words": [ - "frombytes", - "grpclib", - "klass", - "pointcloud", - "segmenters", - "TFLITE", - "tobytes", - "viam" - ], - "isort.args": [ - "-l 140 --profile black" - ], + "[python]": { + "editor.defaultFormatter": "ms-python.black-formatter", + "editor.formatOnSave": true + }, + "python.linting.flake8Enabled": true, + "editor.formatOnSave": true, + "python.analysis.typeCheckingMode": "basic", + "python.linting.ignorePatterns": [ + "**/site-packages/**/*.py", + ".vscode/*.py", + "gen/**/*", + "viam/proto/**/*" + ], + "files.trimTrailingWhitespace": true, + "files.insertFinalNewline": true, + "editor.rulers": [ + { + "column": 140, + "color": "#777777" + } + ], + "python.formatting.provider": "black", + "cSpell.words": [ + "frombytes", + "grpclib", + "klass", + "pointcloud", + "RSDK", + "segmenters", + "TFLITE", + "tobytes", + "viam" + ], + "isort.args": ["-l 140 --profile black"] } diff --git a/Makefile b/Makefile index fedd5e4d6..dc2d1b8ac 100644 --- a/Makefile +++ b/Makefile @@ -14,6 +14,12 @@ _format: format: poetry run $(MAKE) _format +_typecheck: + pyright + +typecheck: + poetry run $(MAKE) _typecheck + _buf: clean rm -rf src/viam/gen buf generate buf.build/viamrobotics/api diff --git a/docs/examples/_server.py b/docs/examples/_server.py index 2232bd1a3..ea782e960 100644 --- a/docs/examples/_server.py +++ b/docs/examples/_server.py @@ -110,9 +110,6 @@ Location, LocationAuthRequest, LocationAuthResponse, -) -from viam.proto.app import LogEntry as LogEntryPB -from viam.proto.app import ( MarkPartAsMainRequest, MarkPartAsMainResponse, MarkPartForRestartRequest, @@ -208,6 +205,7 @@ StreamingDataCaptureUploadRequest, StreamingDataCaptureUploadResponse, ) +from viam.proto.common import LogEntry as LogEntryPB from viam.utils import datetime_to_timestamp, dict_to_struct, value_to_primitive diff --git a/docs/examples/example.ipynb b/docs/examples/example.ipynb index c94726455..73998a711 100644 --- a/docs/examples/example.ipynb +++ b/docs/examples/example.ipynb @@ -165,7 +165,7 @@ "robot = await connect_with_channel()\n", "camera = Camera.from_robot(robot, \"camera0\")\n", "image = await camera.get_image(CameraMimeType.JPEG)\n", - "image.image.save(\"foo.png\")\n", + "image.save(\"foo.png\")\n", "\n", "# Don't forget to close the robot when you're done!\n", "await robot.close()" diff --git a/examples/server/v1/services.py b/examples/server/v1/services.py index e451cc4ce..511f8b10a 100644 --- a/examples/server/v1/services.py +++ b/examples/server/v1/services.py @@ -1,4 +1,3 @@ -from datetime import datetime from numpy.typing import NDArray from typing import Dict, List, Optional, Tuple from tests.mocks.services import MockMLModel, MockSLAM @@ -27,7 +26,6 @@ def __init__(self, name: str): self.point_cloud_chunks = MockSLAM.POINT_CLOUD_PCD_CHUNKS self.cloud_slam = MockSLAM.CLOUD_SLAM self.mapping_mode = MockSLAM.MAPPING_MODE - self.time = MockSLAM.LAST_UPDATE super().__init__(name) async def get_internal_state(self, **kwargs) -> List[bytes]: @@ -39,8 +37,5 @@ async def get_point_cloud_map(self, **kwargs) -> List[bytes]: async def get_position(self, **kwargs) -> Pose: return self.position - async def get_latest_map_info(self, **kwargs) -> datetime: - return self.time - async def get_properties(self, **kwargs) -> Tuple[bool, MappingMode.ValueType]: return (self.cloud_slam, self.mapping_mode) diff --git a/poetry.lock b/poetry.lock index 1fbde2f66..e5a574bd6 100644 --- a/poetry.lock +++ b/poetry.lock @@ -24,34 +24,35 @@ files = [ [[package]] name = "anyio" -version = "4.0.0" +version = "4.2.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = false python-versions = ">=3.8" files = [ - {file = "anyio-4.0.0-py3-none-any.whl", hash = "sha256:cfdb2b588b9fc25ede96d8db56ed50848b0b649dca3dd1df0b11f683bb9e0b5f"}, - {file = "anyio-4.0.0.tar.gz", hash = "sha256:f7ed51751b2c2add651e5747c891b47e26d2a21be5d32d9311dfe9692f3e5d7a"}, + {file = "anyio-4.2.0-py3-none-any.whl", hash = "sha256:745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee"}, + {file = "anyio-4.2.0.tar.gz", hash = "sha256:e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f"}, ] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] -doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] -trio = ["trio (>=0.22)"] +doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] +test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "uvloop (>=0.17)"] +trio = ["trio (>=0.23)"] [[package]] name = "appnope" -version = "0.1.3" +version = "0.1.4" description = "Disable App Nap on macOS >= 10.9" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "appnope-0.1.3-py2.py3-none-any.whl", hash = "sha256:265a455292d0bd8a72453494fa24df5a11eb18373a60c7c0430889f22548605e"}, - {file = "appnope-0.1.3.tar.gz", hash = "sha256:02bd91c4de869fbb1e1c50aafc4098827a7a54ab2f39d9dcba6c9547ed920e24"}, + {file = "appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c"}, + {file = "appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee"}, ] [[package]] @@ -132,22 +133,17 @@ test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock [[package]] name = "astroid" -version = "2.15.6" +version = "3.0.3" description = "An abstract syntax tree for Python with inference support." optional = false -python-versions = ">=3.7.2" +python-versions = ">=3.8.0" files = [ - {file = "astroid-2.15.6-py3-none-any.whl", hash = "sha256:389656ca57b6108f939cf5d2f9a2a825a3be50ba9d589670f393236e0a03b91c"}, - {file = "astroid-2.15.6.tar.gz", hash = "sha256:903f024859b7c7687d7a7f3a3f73b17301f8e42dfd9cc9df9d4418172d3e2dbd"}, + {file = "astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17"}, + {file = "astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93"}, ] [package.dependencies] -lazy-object-proxy = ">=1.4.0" typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} -wrapt = [ - {version = ">=1.11,<2", markers = "python_version < \"3.11\""}, - {version = ">=1.14,<2", markers = "python_version >= \"3.11\""}, -] [[package]] name = "asttokens" @@ -198,21 +194,22 @@ typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +dev = ["attrs[tests]", "pre-commit"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "autopep8" @@ -231,18 +228,17 @@ tomli = {version = "*", markers = "python_version < \"3.11\""} [[package]] name = "babel" -version = "2.13.1" +version = "2.14.0" description = "Internationalization utilities" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, - {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] [package.dependencies] pytz = {version = ">=2015.7", markers = "python_version < \"3.9\""} -setuptools = {version = "*", markers = "python_version >= \"3.12\""} [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] @@ -260,51 +256,54 @@ files = [ [[package]] name = "beautifulsoup4" -version = "4.12.2" +version = "4.12.3" description = "Screen-scraping library" optional = false python-versions = ">=3.6.0" files = [ - {file = "beautifulsoup4-4.12.2-py3-none-any.whl", hash = "sha256:bd2520ca0d9d7d12694a53d44ac482d181b4ec1888909b035a3dbf40d0f57d4a"}, - {file = "beautifulsoup4-4.12.2.tar.gz", hash = "sha256:492bbc69dca35d12daac71c4db1bfff0c876c00ef4a2ffacce226d4638eb72da"}, + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [package.dependencies] soupsieve = ">1.2" [package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] [[package]] name = "black" -version = "23.12.0" +version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:67f19562d367468ab59bd6c36a72b2c84bc2f16b59788690e02bbcb140a77175"}, - {file = "black-23.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:bbd75d9f28a7283b7426160ca21c5bd640ca7cd8ef6630b4754b6df9e2da8462"}, - {file = "black-23.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:593596f699ca2dcbbbdfa59fcda7d8ad6604370c10228223cd6cf6ce1ce7ed7e"}, - {file = "black-23.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:12d5f10cce8dc27202e9a252acd1c9a426c83f95496c959406c96b785a92bb7d"}, - {file = "black-23.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e73c5e3d37e5a3513d16b33305713237a234396ae56769b839d7c40759b8a41c"}, - {file = "black-23.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ba09cae1657c4f8a8c9ff6cfd4a6baaf915bb4ef7d03acffe6a2f6585fa1bd01"}, - {file = "black-23.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace64c1a349c162d6da3cef91e3b0e78c4fc596ffde9413efa0525456148873d"}, - {file = "black-23.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:72db37a2266b16d256b3ea88b9affcdd5c41a74db551ec3dd4609a59c17d25bf"}, - {file = "black-23.12.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:fdf6f23c83078a6c8da2442f4d4eeb19c28ac2a6416da7671b72f0295c4a697b"}, - {file = "black-23.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:39dda060b9b395a6b7bf9c5db28ac87b3c3f48d4fdff470fa8a94ab8271da47e"}, - {file = "black-23.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7231670266ca5191a76cb838185d9be59cfa4f5dd401b7c1c70b993c58f6b1b5"}, - {file = "black-23.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:193946e634e80bfb3aec41830f5d7431f8dd5b20d11d89be14b84a97c6b8bc75"}, - {file = "black-23.12.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bcf91b01ddd91a2fed9a8006d7baa94ccefe7e518556470cf40213bd3d44bbbc"}, - {file = "black-23.12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:996650a89fe5892714ea4ea87bc45e41a59a1e01675c42c433a35b490e5aa3f0"}, - {file = "black-23.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdbff34c487239a63d86db0c9385b27cdd68b1bfa4e706aa74bb94a435403672"}, - {file = "black-23.12.0-cp38-cp38-win_amd64.whl", hash = "sha256:97af22278043a6a1272daca10a6f4d36c04dfa77e61cbaaf4482e08f3640e9f0"}, - {file = "black-23.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ead25c273adfad1095a8ad32afdb8304933efba56e3c1d31b0fee4143a1e424a"}, - {file = "black-23.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c71048345bdbced456cddf1622832276d98a710196b842407840ae8055ade6ee"}, - {file = "black-23.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:81a832b6e00eef2c13b3239d514ea3b7d5cc3eaa03d0474eedcbbda59441ba5d"}, - {file = "black-23.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:6a82a711d13e61840fb11a6dfecc7287f2424f1ca34765e70c909a35ffa7fb95"}, - {file = "black-23.12.0-py3-none-any.whl", hash = "sha256:a7c07db8200b5315dc07e331dda4d889a56f6bf4db6a9c2a526fa3166a81614f"}, - {file = "black-23.12.0.tar.gz", hash = "sha256:330a327b422aca0634ecd115985c1c7fd7bdb5b5a2ef8aa9888a82e2ebe9437a"}, + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, ] [package.dependencies] @@ -355,13 +354,13 @@ files = [ [[package]] name = "certifi" -version = "2023.7.22" +version = "2024.2.2" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2023.7.22-py3-none-any.whl", hash = "sha256:92d6037539857d8206b8f6ae472e8b77db8058fec5937a1ef3f54304089edbb9"}, - {file = "certifi-2023.7.22.tar.gz", hash = "sha256:539cc1d13202e33ca466e88b2807e29f4c13049d6d87031a3c110744495cb082"}, + {file = "certifi-2024.2.2-py3-none-any.whl", hash = "sha256:dc383c07b76109f368f6106eee2b593b04a011ea4d55f652c6ca24a754d1cdd1"}, + {file = "certifi-2024.2.2.tar.gz", hash = "sha256:0569859f95fc761b18b45ef421b1290a0f65f147e92a1e5eb3e635f9a5e4e66f"}, ] [[package]] @@ -565,13 +564,13 @@ files = [ [[package]] name = "comm" -version = "0.2.0" +version = "0.2.1" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = false python-versions = ">=3.8" files = [ - {file = "comm-0.2.0-py3-none-any.whl", hash = "sha256:2da8d9ebb8dd7bfc247adaff99f24dce705638a8042b85cb995066793e391001"}, - {file = "comm-0.2.0.tar.gz", hash = "sha256:a517ea2ca28931c7007a7a99c562a0fa5883cfb48963140cf642c41c948498be"}, + {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, + {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, ] [package.dependencies] @@ -582,63 +581,63 @@ test = ["pytest"] [[package]] name = "coverage" -version = "7.3.2" +version = "7.4.1" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.8" files = [ - {file = "coverage-7.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d872145f3a3231a5f20fd48500274d7df222e291d90baa2026cc5152b7ce86bf"}, - {file = "coverage-7.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:310b3bb9c91ea66d59c53fa4989f57d2436e08f18fb2f421a1b0b6b8cc7fffda"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f47d39359e2c3779c5331fc740cf4bce6d9d680a7b4b4ead97056a0ae07cb49a"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa72dbaf2c2068404b9870d93436e6d23addd8bbe9295f49cbca83f6e278179c"}, - {file = "coverage-7.3.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:beaa5c1b4777f03fc63dfd2a6bd820f73f036bfb10e925fce067b00a340d0f3f"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:dbc1b46b92186cc8074fee9d9fbb97a9dd06c6cbbef391c2f59d80eabdf0faa6"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:315a989e861031334d7bee1f9113c8770472db2ac484e5b8c3173428360a9148"}, - {file = "coverage-7.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:d1bc430677773397f64a5c88cb522ea43175ff16f8bfcc89d467d974cb2274f9"}, - {file = "coverage-7.3.2-cp310-cp310-win32.whl", hash = "sha256:a889ae02f43aa45032afe364c8ae84ad3c54828c2faa44f3bfcafecb5c96b02f"}, - {file = "coverage-7.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c0ba320de3fb8c6ec16e0be17ee1d3d69adcda99406c43c0409cb5c41788a611"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac8c802fa29843a72d32ec56d0ca792ad15a302b28ca6203389afe21f8fa062c"}, - {file = "coverage-7.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:89a937174104339e3a3ffcf9f446c00e3a806c28b1841c63edb2b369310fd074"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e267e9e2b574a176ddb983399dec325a80dbe161f1a32715c780b5d14b5f583a"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2443cbda35df0d35dcfb9bf8f3c02c57c1d6111169e3c85fc1fcc05e0c9f39a3"}, - {file = "coverage-7.3.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4175e10cc8dda0265653e8714b3174430b07c1dca8957f4966cbd6c2b1b8065a"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0cbf38419fb1a347aaf63481c00f0bdc86889d9fbf3f25109cf96c26b403fda1"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:5c913b556a116b8d5f6ef834038ba983834d887d82187c8f73dec21049abd65c"}, - {file = "coverage-7.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1981f785239e4e39e6444c63a98da3a1db8e971cb9ceb50a945ba6296b43f312"}, - {file = "coverage-7.3.2-cp311-cp311-win32.whl", hash = "sha256:43668cabd5ca8258f5954f27a3aaf78757e6acf13c17604d89648ecc0cc66640"}, - {file = "coverage-7.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10c39c0452bf6e694511c901426d6b5ac005acc0f78ff265dbe36bf81f808a2"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4cbae1051ab791debecc4a5dcc4a1ff45fc27b91b9aee165c8a27514dd160836"}, - {file = "coverage-7.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12d15ab5833a997716d76f2ac1e4b4d536814fc213c85ca72756c19e5a6b3d63"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c7bba973ebee5e56fe9251300c00f1579652587a9f4a5ed8404b15a0471f216"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe494faa90ce6381770746077243231e0b83ff3f17069d748f645617cefe19d4"}, - {file = "coverage-7.3.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6e9589bd04d0461a417562649522575d8752904d35c12907d8c9dfeba588faf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d51ac2a26f71da1b57f2dc81d0e108b6ab177e7d30e774db90675467c847bbdf"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:99b89d9f76070237975b315b3d5f4d6956ae354a4c92ac2388a5695516e47c84"}, - {file = "coverage-7.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fa28e909776dc69efb6ed975a63691bc8172b64ff357e663a1bb06ff3c9b589a"}, - {file = "coverage-7.3.2-cp312-cp312-win32.whl", hash = "sha256:289fe43bf45a575e3ab10b26d7b6f2ddb9ee2dba447499f5401cfb5ecb8196bb"}, - {file = "coverage-7.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dbc3ed60e8659bc59b6b304b43ff9c3ed858da2839c78b804973f613d3e92ed"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f94b734214ea6a36fe16e96a70d941af80ff3bfd716c141300d95ebc85339738"}, - {file = "coverage-7.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af3d828d2c1cbae52d34bdbb22fcd94d1ce715d95f1a012354a75e5913f1bda2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630b13e3036e13c7adc480ca42fa7afc2a5d938081d28e20903cf7fd687872e2"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c9eacf273e885b02a0273bb3a2170f30e2d53a6d53b72dbe02d6701b5296101c"}, - {file = "coverage-7.3.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d8f17966e861ff97305e0801134e69db33b143bbfb36436efb9cfff6ec7b2fd9"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b4275802d16882cf9c8b3d057a0839acb07ee9379fa2749eca54efbce1535b82"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:72c0cfa5250f483181e677ebc97133ea1ab3eb68645e494775deb6a7f6f83901"}, - {file = "coverage-7.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cb536f0dcd14149425996821a168f6e269d7dcd2c273a8bff8201e79f5104e76"}, - {file = "coverage-7.3.2-cp38-cp38-win32.whl", hash = "sha256:307adb8bd3abe389a471e649038a71b4eb13bfd6b7dd9a129fa856f5c695cf92"}, - {file = "coverage-7.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:88ed2c30a49ea81ea3b7f172e0269c182a44c236eb394718f976239892c0a27a"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b631c92dfe601adf8f5ebc7fc13ced6bb6e9609b19d9a8cd59fa47c4186ad1ce"}, - {file = "coverage-7.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d3d9df4051c4a7d13036524b66ecf7a7537d14c18a384043f30a303b146164e9"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f7363d3b6a1119ef05015959ca24a9afc0ea8a02c687fe7e2d557705375c01f"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2f11cc3c967a09d3695d2a6f03fb3e6236622b93be7a4b5dc09166a861be6d25"}, - {file = "coverage-7.3.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:149de1d2401ae4655c436a3dced6dd153f4c3309f599c3d4bd97ab172eaf02d9"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:3a4006916aa6fee7cd38db3bfc95aa9c54ebb4ffbfc47c677c8bba949ceba0a6"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9028a3871280110d6e1aa2df1afd5ef003bab5fb1ef421d6dc748ae1c8ef2ebc"}, - {file = "coverage-7.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f805d62aec8eb92bab5b61c0f07329275b6f41c97d80e847b03eb894f38d083"}, - {file = "coverage-7.3.2-cp39-cp39-win32.whl", hash = "sha256:d1c88ec1a7ff4ebca0219f5b1ef863451d828cccf889c173e1253aa84b1e07ce"}, - {file = "coverage-7.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b4767da59464bb593c07afceaddea61b154136300881844768037fd5e859353f"}, - {file = "coverage-7.3.2-pp38.pp39.pp310-none-any.whl", hash = "sha256:ae97af89f0fbf373400970c0a21eef5aa941ffeed90aee43650b81f7d7f47637"}, - {file = "coverage-7.3.2.tar.gz", hash = "sha256:be32ad29341b0170e795ca590e1c07e81fc061cb5b10c74ce7203491484404ef"}, + {file = "coverage-7.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:077d366e724f24fc02dbfe9d946534357fda71af9764ff99d73c3c596001bbd7"}, + {file = "coverage-7.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0193657651f5399d433c92f8ae264aff31fc1d066deee4b831549526433f3f61"}, + {file = "coverage-7.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d17bbc946f52ca67adf72a5ee783cd7cd3477f8f8796f59b4974a9b59cacc9ee"}, + {file = "coverage-7.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3277f5fa7483c927fe3a7b017b39351610265308f5267ac6d4c2b64cc1d8d25"}, + {file = "coverage-7.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dceb61d40cbfcf45f51e59933c784a50846dc03211054bd76b421a713dcdf19"}, + {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6008adeca04a445ea6ef31b2cbaf1d01d02986047606f7da266629afee982630"}, + {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:c61f66d93d712f6e03369b6a7769233bfda880b12f417eefdd4f16d1deb2fc4c"}, + {file = "coverage-7.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b9bb62fac84d5f2ff523304e59e5c439955fb3b7f44e3d7b2085184db74d733b"}, + {file = "coverage-7.4.1-cp310-cp310-win32.whl", hash = "sha256:f86f368e1c7ce897bf2457b9eb61169a44e2ef797099fb5728482b8d69f3f016"}, + {file = "coverage-7.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:869b5046d41abfea3e381dd143407b0d29b8282a904a19cb908fa24d090cc018"}, + {file = "coverage-7.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b8ffb498a83d7e0305968289441914154fb0ef5d8b3157df02a90c6695978295"}, + {file = "coverage-7.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3cacfaefe6089d477264001f90f55b7881ba615953414999c46cc9713ff93c8c"}, + {file = "coverage-7.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6850e6e36e332d5511a48a251790ddc545e16e8beaf046c03985c69ccb2676"}, + {file = "coverage-7.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:18e961aa13b6d47f758cc5879383d27b5b3f3dcd9ce8cdbfdc2571fe86feb4dd"}, + {file = "coverage-7.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfd1e1b9f0898817babf840b77ce9fe655ecbe8b1b327983df485b30df8cc011"}, + {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:6b00e21f86598b6330f0019b40fb397e705135040dbedc2ca9a93c7441178e74"}, + {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:536d609c6963c50055bab766d9951b6c394759190d03311f3e9fcf194ca909e1"}, + {file = "coverage-7.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7ac8f8eb153724f84885a1374999b7e45734bf93a87d8df1e7ce2146860edef6"}, + {file = "coverage-7.4.1-cp311-cp311-win32.whl", hash = "sha256:f3771b23bb3675a06f5d885c3630b1d01ea6cac9e84a01aaf5508706dba546c5"}, + {file = "coverage-7.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:9d2f9d4cc2a53b38cabc2d6d80f7f9b7e3da26b2f53d48f05876fef7956b6968"}, + {file = "coverage-7.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f68ef3660677e6624c8cace943e4765545f8191313a07288a53d3da188bd8581"}, + {file = "coverage-7.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:23b27b8a698e749b61809fb637eb98ebf0e505710ec46a8aa6f1be7dc0dc43a6"}, + {file = "coverage-7.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e3424c554391dc9ef4a92ad28665756566a28fecf47308f91841f6c49288e66"}, + {file = "coverage-7.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e0860a348bf7004c812c8368d1fc7f77fe8e4c095d661a579196a9533778e156"}, + {file = "coverage-7.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe558371c1bdf3b8fa03e097c523fb9645b8730399c14fe7721ee9c9e2a545d3"}, + {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3468cc8720402af37b6c6e7e2a9cdb9f6c16c728638a2ebc768ba1ef6f26c3a1"}, + {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:02f2edb575d62172aa28fe00efe821ae31f25dc3d589055b3fb64d51e52e4ab1"}, + {file = "coverage-7.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ca6e61dc52f601d1d224526360cdeab0d0712ec104a2ce6cc5ccef6ed9a233bc"}, + {file = "coverage-7.4.1-cp312-cp312-win32.whl", hash = "sha256:ca7b26a5e456a843b9b6683eada193fc1f65c761b3a473941efe5a291f604c74"}, + {file = "coverage-7.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:85ccc5fa54c2ed64bd91ed3b4a627b9cce04646a659512a051fa82a92c04a448"}, + {file = "coverage-7.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8bdb0285a0202888d19ec6b6d23d5990410decb932b709f2b0dfe216d031d218"}, + {file = "coverage-7.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:918440dea04521f499721c039863ef95433314b1db00ff826a02580c1f503e45"}, + {file = "coverage-7.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:379d4c7abad5afbe9d88cc31ea8ca262296480a86af945b08214eb1a556a3e4d"}, + {file = "coverage-7.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b094116f0b6155e36a304ff912f89bbb5067157aff5f94060ff20bbabdc8da06"}, + {file = "coverage-7.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2f5968608b1fe2a1d00d01ad1017ee27efd99b3437e08b83ded9b7af3f6f766"}, + {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:10e88e7f41e6197ea0429ae18f21ff521d4f4490aa33048f6c6f94c6045a6a75"}, + {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a4a3907011d39dbc3e37bdc5df0a8c93853c369039b59efa33a7b6669de04c60"}, + {file = "coverage-7.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6d224f0c4c9c98290a6990259073f496fcec1b5cc613eecbd22786d398ded3ad"}, + {file = "coverage-7.4.1-cp38-cp38-win32.whl", hash = "sha256:23f5881362dcb0e1a92b84b3c2809bdc90db892332daab81ad8f642d8ed55042"}, + {file = "coverage-7.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:a07f61fc452c43cd5328b392e52555f7d1952400a1ad09086c4a8addccbd138d"}, + {file = "coverage-7.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8e738a492b6221f8dcf281b67129510835461132b03024830ac0e554311a5c54"}, + {file = "coverage-7.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:46342fed0fff72efcda77040b14728049200cbba1279e0bf1188f1f2078c1d70"}, + {file = "coverage-7.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9641e21670c68c7e57d2053ddf6c443e4f0a6e18e547e86af3fad0795414a628"}, + {file = "coverage-7.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aeb2c2688ed93b027eb0d26aa188ada34acb22dceea256d76390eea135083950"}, + {file = "coverage-7.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d12c923757de24e4e2110cf8832d83a886a4cf215c6e61ed506006872b43a6d1"}, + {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0491275c3b9971cdbd28a4595c2cb5838f08036bca31765bad5e17edf900b2c7"}, + {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8dfc5e195bbef80aabd81596ef52a1277ee7143fe419efc3c4d8ba2754671756"}, + {file = "coverage-7.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:1a78b656a4d12b0490ca72651fe4d9f5e07e3c6461063a9b6265ee45eb2bdd35"}, + {file = "coverage-7.4.1-cp39-cp39-win32.whl", hash = "sha256:f90515974b39f4dea2f27c0959688621b46d96d5a626cf9c53dbc653a895c05c"}, + {file = "coverage-7.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:64e723ca82a84053dd7bfcc986bdb34af8d9da83c521c19d6b472bc6880e191a"}, + {file = "coverage-7.4.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:32a8d985462e37cfdab611a6f95b09d7c091d07668fdc26e47a725ee575fe166"}, + {file = "coverage-7.4.1.tar.gz", hash = "sha256:1ed4b95480952b1a26d863e546fa5094564aa0065e1e5f0d4d0041f293251d04"}, ] [package.extras] @@ -646,29 +645,33 @@ toml = ["tomli"] [[package]] name = "debugpy" -version = "1.8.0" +version = "1.8.1" description = "An implementation of the Debug Adapter Protocol for Python" optional = false python-versions = ">=3.8" files = [ - {file = "debugpy-1.8.0-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:7fb95ca78f7ac43393cd0e0f2b6deda438ec7c5e47fa5d38553340897d2fbdfb"}, - {file = "debugpy-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ef9ab7df0b9a42ed9c878afd3eaaff471fce3fa73df96022e1f5c9f8f8c87ada"}, - {file = "debugpy-1.8.0-cp310-cp310-win32.whl", hash = "sha256:a8b7a2fd27cd9f3553ac112f356ad4ca93338feadd8910277aff71ab24d8775f"}, - {file = "debugpy-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:5d9de202f5d42e62f932507ee8b21e30d49aae7e46d5b1dd5c908db1d7068637"}, - {file = "debugpy-1.8.0-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:ef54404365fae8d45cf450d0544ee40cefbcb9cb85ea7afe89a963c27028261e"}, - {file = "debugpy-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60009b132c91951354f54363f8ebdf7457aeb150e84abba5ae251b8e9f29a8a6"}, - {file = "debugpy-1.8.0-cp311-cp311-win32.whl", hash = "sha256:8cd0197141eb9e8a4566794550cfdcdb8b3db0818bdf8c49a8e8f8053e56e38b"}, - {file = "debugpy-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:a64093656c4c64dc6a438e11d59369875d200bd5abb8f9b26c1f5f723622e153"}, - {file = "debugpy-1.8.0-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:b05a6b503ed520ad58c8dc682749113d2fd9f41ffd45daec16e558ca884008cd"}, - {file = "debugpy-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c6fb41c98ec51dd010d7ed650accfd07a87fe5e93eca9d5f584d0578f28f35f"}, - {file = "debugpy-1.8.0-cp38-cp38-win32.whl", hash = "sha256:46ab6780159eeabb43c1495d9c84cf85d62975e48b6ec21ee10c95767c0590aa"}, - {file = "debugpy-1.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:bdc5ef99d14b9c0fcb35351b4fbfc06ac0ee576aeab6b2511702e5a648a2e595"}, - {file = "debugpy-1.8.0-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:61eab4a4c8b6125d41a34bad4e5fe3d2cc145caecd63c3fe953be4cc53e65bf8"}, - {file = "debugpy-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:125b9a637e013f9faac0a3d6a82bd17c8b5d2c875fb6b7e2772c5aba6d082332"}, - {file = "debugpy-1.8.0-cp39-cp39-win32.whl", hash = "sha256:57161629133113c97b387382045649a2b985a348f0c9366e22217c87b68b73c6"}, - {file = "debugpy-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:e3412f9faa9ade82aa64a50b602544efcba848c91384e9f93497a458767e6926"}, - {file = "debugpy-1.8.0-py2.py3-none-any.whl", hash = "sha256:9c9b0ac1ce2a42888199df1a1906e45e6f3c9555497643a85e0bf2406e3ffbc4"}, - {file = "debugpy-1.8.0.zip", hash = "sha256:12af2c55b419521e33d5fb21bd022df0b5eb267c3e178f1d374a63a2a6bdccd0"}, + {file = "debugpy-1.8.1-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:3bda0f1e943d386cc7a0e71bfa59f4137909e2ed947fb3946c506e113000f741"}, + {file = "debugpy-1.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dda73bf69ea479c8577a0448f8c707691152e6c4de7f0c4dec5a4bc11dee516e"}, + {file = "debugpy-1.8.1-cp310-cp310-win32.whl", hash = "sha256:3a79c6f62adef994b2dbe9fc2cc9cc3864a23575b6e387339ab739873bea53d0"}, + {file = "debugpy-1.8.1-cp310-cp310-win_amd64.whl", hash = "sha256:7eb7bd2b56ea3bedb009616d9e2f64aab8fc7000d481faec3cd26c98a964bcdd"}, + {file = "debugpy-1.8.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:016a9fcfc2c6b57f939673c874310d8581d51a0fe0858e7fac4e240c5eb743cb"}, + {file = "debugpy-1.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd97ed11a4c7f6d042d320ce03d83b20c3fb40da892f994bc041bbc415d7a099"}, + {file = "debugpy-1.8.1-cp311-cp311-win32.whl", hash = "sha256:0de56aba8249c28a300bdb0672a9b94785074eb82eb672db66c8144fff673146"}, + {file = "debugpy-1.8.1-cp311-cp311-win_amd64.whl", hash = "sha256:1a9fe0829c2b854757b4fd0a338d93bc17249a3bf69ecf765c61d4c522bb92a8"}, + {file = "debugpy-1.8.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:3ebb70ba1a6524d19fa7bb122f44b74170c447d5746a503e36adc244a20ac539"}, + {file = "debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2e658a9630f27534e63922ebf655a6ab60c370f4d2fc5c02a5b19baf4410ace"}, + {file = "debugpy-1.8.1-cp312-cp312-win32.whl", hash = "sha256:caad2846e21188797a1f17fc09c31b84c7c3c23baf2516fed5b40b378515bbf0"}, + {file = "debugpy-1.8.1-cp312-cp312-win_amd64.whl", hash = "sha256:edcc9f58ec0fd121a25bc950d4578df47428d72e1a0d66c07403b04eb93bcf98"}, + {file = "debugpy-1.8.1-cp38-cp38-macosx_11_0_x86_64.whl", hash = "sha256:7a3afa222f6fd3d9dfecd52729bc2e12c93e22a7491405a0ecbf9e1d32d45b39"}, + {file = "debugpy-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d915a18f0597ef685e88bb35e5d7ab968964b7befefe1aaea1eb5b2640b586c7"}, + {file = "debugpy-1.8.1-cp38-cp38-win32.whl", hash = "sha256:92116039b5500633cc8d44ecc187abe2dfa9b90f7a82bbf81d079fcdd506bae9"}, + {file = "debugpy-1.8.1-cp38-cp38-win_amd64.whl", hash = "sha256:e38beb7992b5afd9d5244e96ad5fa9135e94993b0c551ceebf3fe1a5d9beb234"}, + {file = "debugpy-1.8.1-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:bfb20cb57486c8e4793d41996652e5a6a885b4d9175dd369045dad59eaacea42"}, + {file = "debugpy-1.8.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efd3fdd3f67a7e576dd869c184c5dd71d9aaa36ded271939da352880c012e703"}, + {file = "debugpy-1.8.1-cp39-cp39-win32.whl", hash = "sha256:58911e8521ca0c785ac7a0539f1e77e0ce2df753f786188f382229278b4cdf23"}, + {file = "debugpy-1.8.1-cp39-cp39-win_amd64.whl", hash = "sha256:6df9aa9599eb05ca179fb0b810282255202a66835c6efb1d112d21ecb830ddd3"}, + {file = "debugpy-1.8.1-py2.py3-none-any.whl", hash = "sha256:28acbe2241222b87e255260c76741e1fbf04fdc3b6d094fcf57b6c6f75ce1242"}, + {file = "debugpy-1.8.1.zip", hash = "sha256:f696d6be15be87aef621917585f9bb94b1dc9e8aced570db1b8a6fc14e8f9b42"}, ] [[package]] @@ -695,35 +698,46 @@ files = [ [[package]] name = "distlib" -version = "0.3.7" +version = "0.3.8" description = "Distribution utilities" optional = false python-versions = "*" files = [ - {file = "distlib-0.3.7-py2.py3-none-any.whl", hash = "sha256:2e24928bc811348f0feb63014e97aaae3037f2cf48712d51ae61df7fd6075057"}, - {file = "distlib-0.3.7.tar.gz", hash = "sha256:9dafe54b34a028eafd95039d5e5d4851a13734540f1331060d31c9916e7147a8"}, + {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, + {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, ] [[package]] name = "docutils" -version = "0.18.1" +version = "0.19" description = "Docutils -- Python Documentation Utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.7" +files = [ + {file = "docutils-0.19-py3-none-any.whl", hash = "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc"}, + {file = "docutils-0.19.tar.gz", hash = "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6"}, +] + +[[package]] +name = "docutils" +version = "0.20.1" +description = "Docutils -- Python Documentation Utilities" +optional = false +python-versions = ">=3.7" files = [ - {file = "docutils-0.18.1-py2.py3-none-any.whl", hash = "sha256:23010f129180089fbcd3bc08cfefccb3b890b0050e1ca00c867036e9d161b98c"}, - {file = "docutils-0.18.1.tar.gz", hash = "sha256:679987caf361a7539d76e584cbeddc311e3aee937877c87346f31debc63e9d06"}, + {file = "docutils-0.20.1-py3-none-any.whl", hash = "sha256:96f387a2c5562db4476f09f13bbab2192e764cac08ebbf3a34a95d9b1e4a59d6"}, + {file = "docutils-0.20.1.tar.gz", hash = "sha256:f08a4e276c3a1583a86dce3e34aba3fe04d02bba2dd51ed16106244e8a923e3b"}, ] [[package]] name = "exceptiongroup" -version = "1.1.3" +version = "1.2.0" description = "Backport of PEP 654 (exception groups)" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.3-py3-none-any.whl", hash = "sha256:343280667a4585d195ca1cf9cef84a4e178c4b6cf2274caef9859782b567d5e3"}, - {file = "exceptiongroup-1.1.3.tar.gz", hash = "sha256:097acd85d473d75af5bb98e41b61ff7fe35efe6675e4f9370ec6ec5126d160e9"}, + {file = "exceptiongroup-1.2.0-py3-none-any.whl", hash = "sha256:4bfd3996ac73b41e9b9628b04e079f193850720ea5945fc96a08633c66912f14"}, + {file = "exceptiongroup-1.2.0.tar.gz", hash = "sha256:91f5c769735f051a4290d52edd0858999b57e5876e9f85937691bd4c9fa3ed68"}, ] [package.extras] @@ -745,13 +759,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "fastjsonschema" -version = "2.19.0" +version = "2.19.1" description = "Fastest Python implementation of JSON schema" optional = false python-versions = "*" files = [ - {file = "fastjsonschema-2.19.0-py3-none-any.whl", hash = "sha256:b9fd1a2dd6971dbc7fee280a95bd199ae0dd9ce22beb91cc75e9c1c528a5170e"}, - {file = "fastjsonschema-2.19.0.tar.gz", hash = "sha256:e25df6647e1bc4a26070b700897b07b542ec898dd4f1f6ea013e7f6a88417225"}, + {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, + {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"}, ] [package.extras] @@ -802,13 +816,13 @@ files = [ [[package]] name = "googleapis-common-protos" -version = "1.61.0" +version = "1.62.0" description = "Common protobufs used in Google APIs" optional = false python-versions = ">=3.7" files = [ - {file = "googleapis-common-protos-1.61.0.tar.gz", hash = "sha256:8a64866a97f6304a7179873a465d6eee97b7a24ec6cfd78e0f575e96b821240b"}, - {file = "googleapis_common_protos-1.61.0-py2.py3-none-any.whl", hash = "sha256:22f1915393bb3245343f6efe87f6fe868532efc12aa26b391b15132e1279f1c0"}, + {file = "googleapis-common-protos-1.62.0.tar.gz", hash = "sha256:83f0ece9f94e5672cced82f592d2a5edf527a96ed1794f0bab36d5735c996277"}, + {file = "googleapis_common_protos-1.62.0-py2.py3-none-any.whl", hash = "sha256:4750113612205514f9f6aa4cb00d523a94f3e8c06c5ad2fee466387dc4875f07"}, ] [package.dependencies] @@ -819,72 +833,73 @@ grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] [[package]] name = "greenlet" -version = "3.0.1" +version = "3.0.3" description = "Lightweight in-process concurrent programming" optional = false python-versions = ">=3.7" files = [ - {file = "greenlet-3.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f89e21afe925fcfa655965ca8ea10f24773a1791400989ff32f467badfe4a064"}, - {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28e89e232c7593d33cac35425b58950789962011cc274aa43ef8865f2e11f46d"}, - {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8ba29306c5de7717b5761b9ea74f9c72b9e2b834e24aa984da99cbfc70157fd"}, - {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19bbdf1cce0346ef7341705d71e2ecf6f41a35c311137f29b8a2dc2341374565"}, - {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599daf06ea59bfedbec564b1692b0166a0045f32b6f0933b0dd4df59a854caf2"}, - {file = "greenlet-3.0.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b641161c302efbb860ae6b081f406839a8b7d5573f20a455539823802c655f63"}, - {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d57e20ba591727da0c230ab2c3f200ac9d6d333860d85348816e1dca4cc4792e"}, - {file = "greenlet-3.0.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5805e71e5b570d490938d55552f5a9e10f477c19400c38bf1d5190d760691846"}, - {file = "greenlet-3.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:52e93b28db27ae7d208748f45d2db8a7b6a380e0d703f099c949d0f0d80b70e9"}, - {file = "greenlet-3.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f7bfb769f7efa0eefcd039dd19d843a4fbfbac52f1878b1da2ed5793ec9b1a65"}, - {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:91e6c7db42638dc45cf2e13c73be16bf83179f7859b07cfc139518941320be96"}, - {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1757936efea16e3f03db20efd0cd50a1c86b06734f9f7338a90c4ba85ec2ad5a"}, - {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:19075157a10055759066854a973b3d1325d964d498a805bb68a1f9af4aaef8ec"}, - {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9d21aaa84557d64209af04ff48e0ad5e28c5cca67ce43444e939579d085da72"}, - {file = "greenlet-3.0.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2847e5d7beedb8d614186962c3d774d40d3374d580d2cbdab7f184580a39d234"}, - {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:97e7ac860d64e2dcba5c5944cfc8fa9ea185cd84061c623536154d5a89237884"}, - {file = "greenlet-3.0.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b2c02d2ad98116e914d4f3155ffc905fd0c025d901ead3f6ed07385e19122c94"}, - {file = "greenlet-3.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:22f79120a24aeeae2b4471c711dcf4f8c736a2bb2fabad2a67ac9a55ea72523c"}, - {file = "greenlet-3.0.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:100f78a29707ca1525ea47388cec8a049405147719f47ebf3895e7509c6446aa"}, - {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60d5772e8195f4e9ebf74046a9121bbb90090f6550f81d8956a05387ba139353"}, - {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:daa7197b43c707462f06d2c693ffdbb5991cbb8b80b5b984007de431493a319c"}, - {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea6b8aa9e08eea388c5f7a276fabb1d4b6b9d6e4ceb12cc477c3d352001768a9"}, - {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d11ebbd679e927593978aa44c10fc2092bc454b7d13fdc958d3e9d508aba7d0"}, - {file = "greenlet-3.0.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dbd4c177afb8a8d9ba348d925b0b67246147af806f0b104af4d24f144d461cd5"}, - {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20107edf7c2c3644c67c12205dc60b1bb11d26b2610b276f97d666110d1b511d"}, - {file = "greenlet-3.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8bef097455dea90ffe855286926ae02d8faa335ed8e4067326257cb571fc1445"}, - {file = "greenlet-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:b2d3337dcfaa99698aa2377c81c9ca72fcd89c07e7eb62ece3f23a3fe89b2ce4"}, - {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:80ac992f25d10aaebe1ee15df45ca0d7571d0f70b645c08ec68733fb7a020206"}, - {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:337322096d92808f76ad26061a8f5fccb22b0809bea39212cd6c406f6a7060d2"}, - {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9934adbd0f6e476f0ecff3c94626529f344f57b38c9a541f87098710b18af0a"}, - {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc4d815b794fd8868c4d67602692c21bf5293a75e4b607bb92a11e821e2b859a"}, - {file = "greenlet-3.0.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:41bdeeb552d814bcd7fb52172b304898a35818107cc8778b5101423c9017b3de"}, - {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:6e6061bf1e9565c29002e3c601cf68569c450be7fc3f7336671af7ddb4657166"}, - {file = "greenlet-3.0.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:fa24255ae3c0ab67e613556375a4341af04a084bd58764731972bcbc8baeba36"}, - {file = "greenlet-3.0.1-cp37-cp37m-win32.whl", hash = "sha256:b489c36d1327868d207002391f662a1d163bdc8daf10ab2e5f6e41b9b96de3b1"}, - {file = "greenlet-3.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:f33f3258aae89da191c6ebaa3bc517c6c4cbc9b9f689e5d8452f7aedbb913fa8"}, - {file = "greenlet-3.0.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:d2905ce1df400360463c772b55d8e2518d0e488a87cdea13dd2c71dcb2a1fa16"}, - {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a02d259510b3630f330c86557331a3b0e0c79dac3d166e449a39363beaae174"}, - {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55d62807f1c5a1682075c62436702aaba941daa316e9161e4b6ccebbbf38bda3"}, - {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3fcc780ae8edbb1d050d920ab44790201f027d59fdbd21362340a85c79066a74"}, - {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eddd98afc726f8aee1948858aed9e6feeb1758889dfd869072d4465973f6bfd"}, - {file = "greenlet-3.0.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:eabe7090db68c981fca689299c2d116400b553f4b713266b130cfc9e2aa9c5a9"}, - {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f2f6d303f3dee132b322a14cd8765287b8f86cdc10d2cb6a6fae234ea488888e"}, - {file = "greenlet-3.0.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d923ff276f1c1f9680d32832f8d6c040fe9306cbfb5d161b0911e9634be9ef0a"}, - {file = "greenlet-3.0.1-cp38-cp38-win32.whl", hash = "sha256:0b6f9f8ca7093fd4433472fd99b5650f8a26dcd8ba410e14094c1e44cd3ceddd"}, - {file = "greenlet-3.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:990066bff27c4fcf3b69382b86f4c99b3652bab2a7e685d968cd4d0cfc6f67c6"}, - {file = "greenlet-3.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ce85c43ae54845272f6f9cd8320d034d7a946e9773c693b27d620edec825e376"}, - {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89ee2e967bd7ff85d84a2de09df10e021c9b38c7d91dead95b406ed6350c6997"}, - {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87c8ceb0cf8a5a51b8008b643844b7f4a8264a2c13fcbcd8a8316161725383fe"}, - {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d6a8c9d4f8692917a3dc7eb25a6fb337bff86909febe2f793ec1928cd97bedfc"}, - {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fbc5b8f3dfe24784cee8ce0be3da2d8a79e46a276593db6868382d9c50d97b1"}, - {file = "greenlet-3.0.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85d2b77e7c9382f004b41d9c72c85537fac834fb141b0296942d52bf03fe4a3d"}, - {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:696d8e7d82398e810f2b3622b24e87906763b6ebfd90e361e88eb85b0e554dc8"}, - {file = "greenlet-3.0.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:329c5a2e5a0ee942f2992c5e3ff40be03e75f745f48847f118a3cfece7a28546"}, - {file = "greenlet-3.0.1-cp39-cp39-win32.whl", hash = "sha256:cf868e08690cb89360eebc73ba4be7fb461cfbc6168dd88e2fbbe6f31812cd57"}, - {file = "greenlet-3.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:ac4a39d1abae48184d420aa8e5e63efd1b75c8444dd95daa3e03f6c6310e9619"}, - {file = "greenlet-3.0.1.tar.gz", hash = "sha256:816bd9488a94cba78d93e1abb58000e8266fa9cc2aa9ccdd6eb0696acb24005b"}, -] - -[package.extras] -docs = ["Sphinx"] + {file = "greenlet-3.0.3-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:9da2bd29ed9e4f15955dd1595ad7bc9320308a3b766ef7f837e23ad4b4aac31a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d353cadd6083fdb056bb46ed07e4340b0869c305c8ca54ef9da3421acbdf6881"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dca1e2f3ca00b84a396bc1bce13dd21f680f035314d2379c4160c98153b2059b"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ed7fb269f15dc662787f4119ec300ad0702fa1b19d2135a37c2c4de6fadfd4a"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd4f49ae60e10adbc94b45c0b5e6a179acc1736cf7a90160b404076ee283cf83"}, + {file = "greenlet-3.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73a411ef564e0e097dbe7e866bb2dda0f027e072b04da387282b02c308807405"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7f362975f2d179f9e26928c5b517524e89dd48530a0202570d55ad6ca5d8a56f"}, + {file = "greenlet-3.0.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:649dde7de1a5eceb258f9cb00bdf50e978c9db1b996964cd80703614c86495eb"}, + {file = "greenlet-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:68834da854554926fbedd38c76e60c4a2e3198c6fbed520b106a8986445caaf9"}, + {file = "greenlet-3.0.3-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:b1b5667cced97081bf57b8fa1d6bfca67814b0afd38208d52538316e9422fc61"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52f59dd9c96ad2fc0d5724107444f76eb20aaccb675bf825df6435acb7703559"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:afaff6cf5200befd5cec055b07d1c0a5a06c040fe5ad148abcd11ba6ab9b114e"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe754d231288e1e64323cfad462fcee8f0288654c10bdf4f603a39ed923bef33"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2797aa5aedac23af156bbb5a6aa2cd3427ada2972c828244eb7d1b9255846379"}, + {file = "greenlet-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7f009caad047246ed379e1c4dbcb8b020f0a390667ea74d2387be2998f58a22"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c5e1536de2aad7bf62e27baf79225d0d64360d4168cf2e6becb91baf1ed074f3"}, + {file = "greenlet-3.0.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:894393ce10ceac937e56ec00bb71c4c2f8209ad516e96033e4b3b1de270e200d"}, + {file = "greenlet-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:1ea188d4f49089fc6fb283845ab18a2518d279c7cd9da1065d7a84e991748728"}, + {file = "greenlet-3.0.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:70fb482fdf2c707765ab5f0b6655e9cfcf3780d8d87355a063547b41177599be"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4d1ac74f5c0c0524e4a24335350edad7e5f03b9532da7ea4d3c54d527784f2e"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149e94a2dd82d19838fe4b2259f1b6b9957d5ba1b25640d2380bea9c5df37676"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:15d79dd26056573940fcb8c7413d84118086f2ec1a8acdfa854631084393efcc"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b7db1ebff4ba09aaaeae6aa491daeb226c8150fc20e836ad00041bcb11230"}, + {file = "greenlet-3.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fcd2469d6a2cf298f198f0487e0a5b1a47a42ca0fa4dfd1b6862c999f018ebbf"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1f672519db1796ca0d8753f9e78ec02355e862d0998193038c7073045899f305"}, + {file = "greenlet-3.0.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2516a9957eed41dd8f1ec0c604f1cdc86758b587d964668b5b196a9db5bfcde6"}, + {file = "greenlet-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:bba5387a6975598857d86de9eac14210a49d554a77eb8261cc68b7d082f78ce2"}, + {file = "greenlet-3.0.3-cp37-cp37m-macosx_11_0_universal2.whl", hash = "sha256:5b51e85cb5ceda94e79d019ed36b35386e8c37d22f07d6a751cb659b180d5274"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:daf3cb43b7cf2ba96d614252ce1684c1bccee6b2183a01328c98d36fcd7d5cb0"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99bf650dc5d69546e076f413a87481ee1d2d09aaaaaca058c9251b6d8c14783f"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2dd6e660effd852586b6a8478a1d244b8dc90ab5b1321751d2ea15deb49ed414"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3391d1e16e2a5a1507d83e4a8b100f4ee626e8eca43cf2cadb543de69827c4c"}, + {file = "greenlet-3.0.3-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e1f145462f1fa6e4a4ae3c0f782e580ce44d57c8f2c7aae1b6fa88c0b2efdb41"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1a7191e42732df52cb5f39d3527217e7ab73cae2cb3694d241e18f53d84ea9a7"}, + {file = "greenlet-3.0.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0448abc479fab28b00cb472d278828b3ccca164531daab4e970a0458786055d6"}, + {file = "greenlet-3.0.3-cp37-cp37m-win32.whl", hash = "sha256:b542be2440edc2d48547b5923c408cbe0fc94afb9f18741faa6ae970dbcb9b6d"}, + {file = "greenlet-3.0.3-cp37-cp37m-win_amd64.whl", hash = "sha256:01bc7ea167cf943b4c802068e178bbf70ae2e8c080467070d01bfa02f337ee67"}, + {file = "greenlet-3.0.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:1996cb9306c8595335bb157d133daf5cf9f693ef413e7673cb07e3e5871379ca"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ddc0f794e6ad661e321caa8d2f0a55ce01213c74722587256fb6566049a8b04"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c9db1c18f0eaad2f804728c67d6c610778456e3e1cc4ab4bbd5eeb8e6053c6fc"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7170375bcc99f1a2fbd9c306f5be8764eaf3ac6b5cb968862cad4c7057756506"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b66c9c1e7ccabad3a7d037b2bcb740122a7b17a53734b7d72a344ce39882a1b"}, + {file = "greenlet-3.0.3-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:098d86f528c855ead3479afe84b49242e174ed262456c342d70fc7f972bc13c4"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:81bb9c6d52e8321f09c3d165b2a78c680506d9af285bfccbad9fb7ad5a5da3e5"}, + {file = "greenlet-3.0.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fd096eb7ffef17c456cfa587523c5f92321ae02427ff955bebe9e3c63bc9f0da"}, + {file = "greenlet-3.0.3-cp38-cp38-win32.whl", hash = "sha256:d46677c85c5ba00a9cb6f7a00b2bfa6f812192d2c9f7d9c4f6a55b60216712f3"}, + {file = "greenlet-3.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:419b386f84949bf0e7c73e6032e3457b82a787c1ab4a0e43732898a761cc9dbf"}, + {file = "greenlet-3.0.3-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:da70d4d51c8b306bb7a031d5cff6cc25ad253affe89b70352af5f1cb68e74b53"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086152f8fbc5955df88382e8a75984e2bb1c892ad2e3c80a2508954e52295257"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d73a9fe764d77f87f8ec26a0c85144d6a951a6c438dfe50487df5595c6373eac"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b7dcbe92cc99f08c8dd11f930de4d99ef756c3591a5377d1d9cd7dd5e896da71"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1551a8195c0d4a68fac7a4325efac0d541b48def35feb49d803674ac32582f61"}, + {file = "greenlet-3.0.3-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:64d7675ad83578e3fc149b617a444fab8efdafc9385471f868eb5ff83e446b8b"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b37eef18ea55f2ffd8f00ff8fe7c8d3818abd3e25fb73fae2ca3b672e333a7a6"}, + {file = "greenlet-3.0.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:77457465d89b8263bca14759d7c1684df840b6811b2499838cc5b040a8b5b113"}, + {file = "greenlet-3.0.3-cp39-cp39-win32.whl", hash = "sha256:57e8974f23e47dac22b83436bdcf23080ade568ce77df33159e019d161ce1d1e"}, + {file = "greenlet-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:c5ee858cfe08f34712f548c3c363e807e7186f03ad7a5039ebadb29e8c6be067"}, + {file = "greenlet-3.0.3.tar.gz", hash = "sha256:43374442353259554ce33599da8b692d5aa96f8976d567d4badf263371fbe491"}, +] + +[package.extras] +docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] [[package]] @@ -906,12 +921,12 @@ protobuf = ["protobuf (>=3.20.0)"] [[package]] name = "grpclib" -version = "0.4.7rc1" +version = "0.4.7" description = "Pure-Python gRPC implementation for asyncio" optional = false python-versions = ">=3.7" files = [ - {file = "grpclib-0.4.7rc1.tar.gz", hash = "sha256:5b0134832fab17add82cc03f0dd5fdfbc6e51f53b0f76dc8adc6c1c3f100d0a4"}, + {file = "grpclib-0.4.7.tar.gz", hash = "sha256:2988ef57c02b22b7a2e8e961792c41ccf97efc2ace91ae7a5b0de03c363823c3"}, ] [package.dependencies] @@ -960,13 +975,13 @@ files = [ [[package]] name = "idna" -version = "3.4" +version = "3.6" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.5" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.6-py3-none-any.whl", hash = "sha256:c05567e9c24a6b9faaa835c4821bad0590fbb9d5779e7caa6e1cc4978e7eb24f"}, + {file = "idna-3.6.tar.gz", hash = "sha256:9ecdbbd083b06798ae1e86adcbfe8ab1479cf864e4ee30fe4e46a003d12491ca"}, ] [[package]] @@ -982,20 +997,20 @@ files = [ [[package]] name = "importlib-metadata" -version = "6.8.0" +version = "7.0.1" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-6.8.0-py3-none-any.whl", hash = "sha256:3ebb78df84a805d7698245025b975d9d67053cd94c79245ba4b3eb694abe68bb"}, - {file = "importlib_metadata-6.8.0.tar.gz", hash = "sha256:dbace7892d8c0c4ac1ad096662232f831d4e64f4c4545bd53016a3e9d4654743"}, + {file = "importlib_metadata-7.0.1-py3-none-any.whl", hash = "sha256:4805911c3a4ec7c3966410053e9ec6a1fecd629117df5adee56dfc9432a1081e"}, + {file = "importlib_metadata-7.0.1.tar.gz", hash = "sha256:f238736bb06590ae52ac1fab06a3a9ef1d8dce2b7a35b5ab329371d6c8f5d2cc"}, ] [package.dependencies] zipp = ">=0.5" [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-lint"] perf = ["ipython"] testing = ["flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)", "pytest-ruff"] @@ -1030,13 +1045,13 @@ files = [ [[package]] name = "ipykernel" -version = "6.26.0" +version = "6.29.2" description = "IPython Kernel for Jupyter" optional = false python-versions = ">=3.8" files = [ - {file = "ipykernel-6.26.0-py3-none-any.whl", hash = "sha256:3ba3dc97424b87b31bb46586b5167b3161b32d7820b9201a9e698c71e271602c"}, - {file = "ipykernel-6.26.0.tar.gz", hash = "sha256:553856658eb8430bbe9653ea041a41bff63e9606fc4628873fc92a6cf3abd404"}, + {file = "ipykernel-6.29.2-py3-none-any.whl", hash = "sha256:50384f5c577a260a1d53f1f59a828c7266d321c9b7d00d345693783f66616055"}, + {file = "ipykernel-6.29.2.tar.gz", hash = "sha256:3bade28004e3ff624ed57974948116670604ac5f676d12339693f3142176d3f0"}, ] [package.dependencies] @@ -1050,7 +1065,7 @@ matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" psutil = "*" -pyzmq = ">=20" +pyzmq = ">=24" tornado = ">=6.1" traitlets = ">=5.4.0" @@ -1059,7 +1074,7 @@ cov = ["coverage[toml]", "curio", "matplotlib", "pytest-cov", "trio"] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling", "trio"] pyqt5 = ["pyqt5"] pyside6 = ["pyside6"] -test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio", "pytest-cov", "pytest-timeout"] +test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (==0.23.4)", "pytest-cov", "pytest-timeout"] [[package]] name = "ipython" @@ -1102,21 +1117,21 @@ test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pa [[package]] name = "ipywidgets" -version = "8.1.1" +version = "8.1.2" description = "Jupyter interactive widgets" optional = false python-versions = ">=3.7" files = [ - {file = "ipywidgets-8.1.1-py3-none-any.whl", hash = "sha256:2b88d728656aea3bbfd05d32c747cfd0078f9d7e159cf982433b58ad717eed7f"}, - {file = "ipywidgets-8.1.1.tar.gz", hash = "sha256:40211efb556adec6fa450ccc2a77d59ca44a060f4f9f136833df59c9f538e6e8"}, + {file = "ipywidgets-8.1.2-py3-none-any.whl", hash = "sha256:bbe43850d79fb5e906b14801d6c01402857996864d1e5b6fa62dd2ee35559f60"}, + {file = "ipywidgets-8.1.2.tar.gz", hash = "sha256:d0b9b41e49bae926a866e613a39b0f0097745d2b9f1f3dd406641b4a57ec42c9"}, ] [package.dependencies] comm = ">=0.1.3" ipython = ">=6.1.0" -jupyterlab-widgets = ">=3.0.9,<3.1.0" +jupyterlab-widgets = ">=3.0.10,<3.1.0" traitlets = ">=4.3.1" -widgetsnbextension = ">=4.0.9,<4.1.0" +widgetsnbextension = ">=4.0.10,<4.1.0" [package.extras] test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"] @@ -1137,20 +1152,17 @@ arrow = ">=0.15.0" [[package]] name = "isort" -version = "5.12.0" +version = "5.13.2" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.8.0" files = [ - {file = "isort-5.12.0-py3-none-any.whl", hash = "sha256:f84c2818376e66cf843d497486ea8fed8700b340f308f076c6fb1229dff318b6"}, - {file = "isort-5.12.0.tar.gz", hash = "sha256:8bef7dde241278824a6d83f44a544709b065191b95b6e50894bdc722fcba0504"}, + {file = "isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"}, + {file = "isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109"}, ] [package.extras] -colors = ["colorama (>=0.4.3)"] -pipfile-deprecated-finder = ["pip-shims (>=0.5.2)", "pipreqs", "requirementslib"] -plugins = ["setuptools"] -requirements-deprecated-finder = ["pip-api", "pipreqs"] +colors = ["colorama (>=0.4.6)"] [[package]] name = "jedi" @@ -1173,13 +1185,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] @@ -1215,13 +1227,13 @@ files = [ [[package]] name = "jsonschema" -version = "4.19.2" +version = "4.21.1" description = "An implementation of JSON Schema validation for Python" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema-4.19.2-py3-none-any.whl", hash = "sha256:eee9e502c788e89cb166d4d37f43084e3b64ab405c795c03d343a4dbc2c810fc"}, - {file = "jsonschema-4.19.2.tar.gz", hash = "sha256:c9ff4d7447eed9592c23a12ccee508baf0dd0d59650615e847feb6cdca74f392"}, + {file = "jsonschema-4.21.1-py3-none-any.whl", hash = "sha256:7996507afae316306f9e2290407761157c6f78002dcf7419acb99822143d1c6f"}, + {file = "jsonschema-4.21.1.tar.gz", hash = "sha256:85727c00279f5fa6bedbe6238d2aa6403bedd8b4864ab11207d07df3cc1b2ee5"}, ] [package.dependencies] @@ -1246,13 +1258,13 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.11.1" +version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.11.1-py3-none-any.whl", hash = "sha256:f596778ab612b3fd29f72ea0d990393d0540a5aab18bf0407a46632eab540779"}, - {file = "jsonschema_specifications-2023.11.1.tar.gz", hash = "sha256:c9b234904ffe02f079bf91b14d79987faa685fd4b39c377a0996954c0090b9ca"}, + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, ] [package.dependencies] @@ -1306,6 +1318,33 @@ code-style = ["pre-commit (>=2.12,<4.0)"] rtd = ["ipykernel", "jupytext", "myst-nb", "nbdime", "sphinx-book-theme", "sphinx-copybutton"] testing = ["coverage", "ipykernel", "jupytext", "matplotlib", "nbdime", "nbformat (>=5.1)", "numpy", "pandas", "pytest (>=6,<8)", "pytest-cov", "pytest-regressions", "sympy"] +[[package]] +name = "jupyter-cache" +version = "1.0.0" +description = "A defined interface for working with a cache of jupyter notebooks." +optional = false +python-versions = ">=3.9" +files = [ + {file = "jupyter_cache-1.0.0-py3-none-any.whl", hash = "sha256:594b1c4e29b488b36547e12477645f489dbdc62cc939b2408df5679f79245078"}, + {file = "jupyter_cache-1.0.0.tar.gz", hash = "sha256:d0fa7d7533cd5798198d8889318269a8c1382ed3b22f622c09a9356521f48687"}, +] + +[package.dependencies] +attrs = "*" +click = "*" +importlib-metadata = "*" +nbclient = ">=0.2" +nbformat = "*" +pyyaml = "*" +sqlalchemy = ">=1.3.12,<3" +tabulate = "*" + +[package.extras] +cli = ["click-log"] +code-style = ["pre-commit (>=2.12)"] +rtd = ["ipykernel", "jupytext", "myst-nb", "nbdime", "sphinx-book-theme", "sphinx-copybutton"] +testing = ["coverage", "ipykernel", "jupytext", "matplotlib", "nbdime", "nbformat (>=5.1)", "numpy", "pandas", "pytest (>=6,<8)", "pytest-cov", "pytest-regressions", "sympy"] + [[package]] name = "jupyter-client" version = "8.6.0" @@ -1355,13 +1394,13 @@ test = ["flaky", "pexpect", "pytest"] [[package]] name = "jupyter-core" -version = "5.5.0" +version = "5.7.1" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.5.0-py3-none-any.whl", hash = "sha256:e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805"}, - {file = "jupyter_core-5.5.0.tar.gz", hash = "sha256:880b86053bf298a8724994f95e99b99130659022a4f7f45f563084b6223861d3"}, + {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, + {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, ] [package.dependencies] @@ -1400,13 +1439,13 @@ test = ["click", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "p [[package]] name = "jupyter-lsp" -version = "2.2.0" +version = "2.2.2" description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server" optional = false python-versions = ">=3.8" files = [ - {file = "jupyter-lsp-2.2.0.tar.gz", hash = "sha256:8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1"}, - {file = "jupyter_lsp-2.2.0-py3-none-any.whl", hash = "sha256:9e06b8b4f7dd50300b70dd1a78c0c3b0c3d8fa68e0f2d8a5d1fbab62072aca3f"}, + {file = "jupyter-lsp-2.2.2.tar.gz", hash = "sha256:256d24620542ae4bba04a50fc1f6ffe208093a07d8e697fea0a8d1b8ca1b7e5b"}, + {file = "jupyter_lsp-2.2.2-py3-none-any.whl", hash = "sha256:3b95229e4168355a8c91928057c1621ac3510ba98b2a925e82ebd77f078b1aa5"}, ] [package.dependencies] @@ -1415,13 +1454,13 @@ jupyter-server = ">=1.1.2" [[package]] name = "jupyter-server" -version = "2.10.1" +version = "2.12.5" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_server-2.10.1-py3-none-any.whl", hash = "sha256:20519e355d951fc5e1b6ac5952854fe7620d0cfb56588fa4efe362a758977ed3"}, - {file = "jupyter_server-2.10.1.tar.gz", hash = "sha256:e6da2657a954a7879eed28cc08e0817b01ffd81d7eab8634660397b55f926472"}, + {file = "jupyter_server-2.12.5-py3-none-any.whl", hash = "sha256:184a0f82809a8522777cfb6b760ab6f4b1bb398664c5860a27cec696cb884923"}, + {file = "jupyter_server-2.12.5.tar.gz", hash = "sha256:0edb626c94baa22809be1323f9770cf1c00a952b17097592e40d03e6a3951689"}, ] [package.dependencies] @@ -1451,13 +1490,13 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-sc [[package]] name = "jupyter-server-terminals" -version = "0.4.4" +version = "0.5.2" description = "A Jupyter Server Extension Providing Terminals." optional = false python-versions = ">=3.8" files = [ - {file = "jupyter_server_terminals-0.4.4-py3-none-any.whl", hash = "sha256:75779164661cec02a8758a5311e18bb8eb70c4e86c6b699403100f1585a12a36"}, - {file = "jupyter_server_terminals-0.4.4.tar.gz", hash = "sha256:57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d"}, + {file = "jupyter_server_terminals-0.5.2-py3-none-any.whl", hash = "sha256:1b80c12765da979513c42c90215481bbc39bd8ae7c0350b4f85bc3eb58d0fa80"}, + {file = "jupyter_server_terminals-0.5.2.tar.gz", hash = "sha256:396b5ccc0881e550bf0ee7012c6ef1b53edbde69e67cab1d56e89711b46052e8"}, ] [package.dependencies] @@ -1465,18 +1504,18 @@ pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} terminado = ">=0.8.3" [package.extras] -docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] -test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] [[package]] name = "jupyterlab" -version = "4.0.8" +version = "4.0.12" description = "JupyterLab computational environment" optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.0.8-py3-none-any.whl", hash = "sha256:2ff5aa2a51eb21df241d6011c236e88bd1ff9a5dbb75bebc54472f9c18bfffa4"}, - {file = "jupyterlab-4.0.8.tar.gz", hash = "sha256:c4fe93f977bcc987bd395d7fae5ab02e0c042bf4e0f7c95196f3e2e578c2fb3a"}, + {file = "jupyterlab-4.0.12-py3-none-any.whl", hash = "sha256:53f132480e5f6564f4e20d1b5ed4e8b7945952a2decd5bdfa43760b1b536c99d"}, + {file = "jupyterlab-4.0.12.tar.gz", hash = "sha256:965d92efa82a538ed70ccb3968d9aabba788840da882e13d7b061780cdedc3b7"}, ] [package.dependencies] @@ -1496,31 +1535,31 @@ tornado = ">=6.2.0" traitlets = "*" [package.extras] -dev = ["black[jupyter] (==23.10.1)", "build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.0.292)"] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.1.6)"] docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-tornasync", "sphinx (>=1.8,<7.2.0)", "sphinx-copybutton"] docs-screenshots = ["altair (==5.0.1)", "ipython (==8.14.0)", "ipywidgets (==8.0.6)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post0)", "matplotlib (==3.7.1)", "nbconvert (>=7.0.0)", "pandas (==2.0.2)", "scipy (==1.10.1)", "vega-datasets (==0.9.0)"] test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] [[package]] name = "jupyterlab-pygments" -version = "0.2.2" +version = "0.3.0" description = "Pygments theme using JupyterLab CSS variables" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jupyterlab_pygments-0.2.2-py2.py3-none-any.whl", hash = "sha256:2405800db07c9f770863bcf8049a529c3dd4d3e28536638bd7c1c01d2748309f"}, - {file = "jupyterlab_pygments-0.2.2.tar.gz", hash = "sha256:7405d7fde60819d905a9fa8ce89e4cd830e318cdad22a0030f7a901da705585d"}, + {file = "jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780"}, + {file = "jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d"}, ] [[package]] name = "jupyterlab-server" -version = "2.25.1" +version = "2.25.2" description = "A set of server components for JupyterLab and JupyterLab like applications." optional = false python-versions = ">=3.8" files = [ - {file = "jupyterlab_server-2.25.1-py3-none-any.whl", hash = "sha256:dce9714d91fb3e53d2b37d0e0619fa26ed223c8e7b8c81cca112926de19b53a4"}, - {file = "jupyterlab_server-2.25.1.tar.gz", hash = "sha256:6491283b0000698eae1a38c48507930560dfcf7461aea0015368698aab34dd9c"}, + {file = "jupyterlab_server-2.25.2-py3-none-any.whl", hash = "sha256:5b1798c9cc6a44f65c757de9f97fc06fc3d42535afbf47d2ace5e964ab447aaf"}, + {file = "jupyterlab_server-2.25.2.tar.gz", hash = "sha256:bd0ec7a99ebcedc8bcff939ef86e52c378e44c2707e053fcd81d046ce979ee63"}, ] [package.dependencies] @@ -1540,69 +1579,48 @@ test = ["hatch", "ipykernel", "openapi-core (>=0.18.0,<0.19.0)", "openapi-spec-v [[package]] name = "jupyterlab-widgets" -version = "3.0.9" +version = "3.0.10" description = "Jupyter interactive widgets for JupyterLab" optional = false python-versions = ">=3.7" files = [ - {file = "jupyterlab_widgets-3.0.9-py3-none-any.whl", hash = "sha256:3cf5bdf5b897bf3bccf1c11873aa4afd776d7430200f765e0686bd352487b58d"}, - {file = "jupyterlab_widgets-3.0.9.tar.gz", hash = "sha256:6005a4e974c7beee84060fdfba341a3218495046de8ae3ec64888e5fe19fdb4c"}, + {file = "jupyterlab_widgets-3.0.10-py3-none-any.whl", hash = "sha256:dd61f3ae7a5a7f80299e14585ce6cf3d6925a96c9103c978eda293197730cb64"}, + {file = "jupyterlab_widgets-3.0.10.tar.gz", hash = "sha256:04f2ac04976727e4f9d0fa91cdc2f1ab860f965e504c29dbd6a65c882c9d04c0"}, ] [[package]] -name = "lazy-object-proxy" -version = "1.9.0" -description = "A fast and thorough lazy object proxy." +name = "markdown-it-py" +version = "2.2.0" +description = "Python port of markdown-it. Markdown parsing, done right!" optional = false python-versions = ">=3.7" files = [ - {file = "lazy-object-proxy-1.9.0.tar.gz", hash = "sha256:659fb5809fa4629b8a1ac5106f669cfc7bef26fbb389dda53b3e010d1ac4ebae"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b40387277b0ed2d0602b8293b94d7257e17d1479e257b4de114ea11a8cb7f2d7"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8c6cfb338b133fbdbc5cfaa10fe3c6aeea827db80c978dbd13bc9dd8526b7d4"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:721532711daa7db0d8b779b0bb0318fa87af1c10d7fe5e52ef30f8eff254d0cd"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66a3de4a3ec06cd8af3f61b8e1ec67614fbb7c995d02fa224813cb7afefee701"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1aa3de4088c89a1b69f8ec0dcc169aa725b0ff017899ac568fe44ddc1396df46"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win32.whl", hash = "sha256:f0705c376533ed2a9e5e97aacdbfe04cecd71e0aa84c7c0595d02ef93b6e4455"}, - {file = "lazy_object_proxy-1.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea806fd4c37bf7e7ad82537b0757999264d5f70c45468447bb2b91afdbe73a6e"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:946d27deaff6cf8452ed0dba83ba38839a87f4f7a9732e8f9fd4107b21e6ff07"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79a31b086e7e68b24b99b23d57723ef7e2c6d81ed21007b6281ebcd1688acb0a"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f699ac1c768270c9e384e4cbd268d6e67aebcfae6cd623b4d7c3bfde5a35db59"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bfb38f9ffb53b942f2b5954e0f610f1e721ccebe9cce9025a38c8ccf4a5183a4"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:189bbd5d41ae7a498397287c408617fe5c48633e7755287b21d741f7db2706a9"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win32.whl", hash = "sha256:81fc4d08b062b535d95c9ea70dbe8a335c45c04029878e62d744bdced5141586"}, - {file = "lazy_object_proxy-1.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:f2457189d8257dd41ae9b434ba33298aec198e30adf2dcdaaa3a28b9994f6adb"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:d9e25ef10a39e8afe59a5c348a4dbf29b4868ab76269f81ce1674494e2565a6e"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cbf9b082426036e19c6924a9ce90c740a9861e2bdc27a4834fd0a910742ac1e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5fa4a61ce2438267163891961cfd5e32ec97a2c444e5b842d574251ade27d2"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:8fa02eaab317b1e9e03f69aab1f91e120e7899b392c4fc19807a8278a07a97e8"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e7c21c95cae3c05c14aafffe2865bbd5e377cfc1348c4f7751d9dc9a48ca4bda"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win32.whl", hash = "sha256:f12ad7126ae0c98d601a7ee504c1122bcef553d1d5e0c3bfa77b16b3968d2734"}, - {file = "lazy_object_proxy-1.9.0-cp37-cp37m-win_amd64.whl", hash = "sha256:edd20c5a55acb67c7ed471fa2b5fb66cb17f61430b7a6b9c3b4a1e40293b1671"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0daa332786cf3bb49e10dc6a17a52f6a8f9601b4cf5c295a4f85854d61de63"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9cd077f3d04a58e83d04b20e334f678c2b0ff9879b9375ed107d5d07ff160171"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:660c94ea760b3ce47d1855a30984c78327500493d396eac4dfd8bd82041b22be"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:212774e4dfa851e74d393a2370871e174d7ff0ebc980907723bb67d25c8a7c30"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0117049dd1d5635bbff65444496c90e0baa48ea405125c088e93d9cf4525b11"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win32.whl", hash = "sha256:0a891e4e41b54fd5b8313b96399f8b0e173bbbfc03c7631f01efbe29bb0bcf82"}, - {file = "lazy_object_proxy-1.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:9990d8e71b9f6488e91ad25f322898c136b008d87bf852ff65391b004da5e17b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9e7551208b2aded9c1447453ee366f1c4070602b3d932ace044715d89666899b"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f83ac4d83ef0ab017683d715ed356e30dd48a93746309c8f3517e1287523ef4"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7322c3d6f1766d4ef1e51a465f47955f1e8123caee67dd641e67d539a534d006"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18b78ec83edbbeb69efdc0e9c1cb41a3b1b1ed11ddd8ded602464c3fc6020494"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:09763491ce220c0299688940f8dc2c5d05fd1f45af1e42e636b2e8b2303e4382"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win32.whl", hash = "sha256:9090d8e53235aa280fc9239a86ae3ea8ac58eff66a705fa6aa2ec4968b95c821"}, - {file = "lazy_object_proxy-1.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:db1c1722726f47e10e0b5fdbf15ac3b8adb58c091d12b3ab713965795036985f"}, + {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, + {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, ] +[package.dependencies] +mdurl = ">=0.1,<1.0" + +[package.extras] +benchmarking = ["psutil", "pytest", "pytest-benchmark"] +code-style = ["pre-commit (>=3.0,<4.0)"] +compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] +linkify = ["linkify-it-py (>=1,<3)"] +plugins = ["mdit-py-plugins"] +profiling = ["gprof2dot"] +rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "markdown-it-py" -version = "2.2.0" +version = "3.0.0" description = "Python port of markdown-it. Markdown parsing, done right!" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "markdown-it-py-2.2.0.tar.gz", hash = "sha256:7c9a5e412688bc771c67432cbfebcdd686c93ce6484913dccf06cb5a0bea35a1"}, - {file = "markdown_it_py-2.2.0-py3-none-any.whl", hash = "sha256:5a35f8d1870171d9acc47b99612dc146129b631baf04970128b568f190d0cc30"}, + {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, + {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, ] [package.dependencies] @@ -1615,66 +1633,76 @@ compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0 linkify = ["linkify-it-py (>=1,<3)"] plugins = ["mdit-py-plugins"] profiling = ["gprof2dot"] -rtd = ["attrs", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] +rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] [[package]] name = "markupsafe" -version = "2.1.3" +version = "2.1.5" description = "Safely add untrusted strings to HTML/XML markup." optional = false python-versions = ">=3.7" files = [ - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cd0f502fe016460680cd20aaa5a76d241d6f35a1c3350c474bac1273803893fa"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e09031c87a1e51556fdcb46e5bd4f59dfb743061cf93c4d6831bf894f125eb57"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:68e78619a61ecf91e76aa3e6e8e33fc4894a2bebe93410754bd28fce0a8a4f9f"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:65c1a9bcdadc6c28eecee2c119465aebff8f7a584dd719facdd9e825ec61ab52"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:525808b8019e36eb524b8c68acdd63a37e75714eac50e988180b169d64480a00"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:962f82a3086483f5e5f64dbad880d31038b698494799b097bc59c2edf392fce6"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:aa7bd130efab1c280bed0f45501b7c8795f9fdbeb02e965371bbef3523627779"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c9c804664ebe8f83a211cace637506669e7890fec1b4195b505c214e50dd4eb7"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win32.whl", hash = "sha256:10bbfe99883db80bdbaff2dcf681dfc6533a614f700da1287707e8a5d78a8431"}, - {file = "MarkupSafe-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:1577735524cdad32f9f694208aa75e422adba74f1baee7551620e43a3141f559"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ad9e82fb8f09ade1c3e1b996a6337afac2b8b9e365f926f5a61aacc71adc5b3c"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3c0fae6c3be832a0a0473ac912810b2877c8cb9d76ca48de1ed31e1c68386575"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b076b6226fb84157e3f7c971a47ff3a679d837cf338547532ab866c57930dbee"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfce63a9e7834b12b87c64d6b155fdd9b3b96191b6bd334bf37db7ff1fe457f2"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:338ae27d6b8745585f87218a3f23f1512dbf52c26c28e322dbe54bcede54ccb9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e4dd52d80b8c83fdce44e12478ad2e85c64ea965e75d66dbeafb0a3e77308fcc"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:df0be2b576a7abbf737b1575f048c23fb1d769f267ec4358296f31c2479db8f9"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5bbe06f8eeafd38e5d0a4894ffec89378b6c6a625ff57e3028921f8ff59318ac"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win32.whl", hash = "sha256:dd15ff04ffd7e05ffcb7fe79f1b98041b8ea30ae9234aed2a9168b5797c3effb"}, - {file = "MarkupSafe-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:134da1eca9ec0ae528110ccc9e48041e0828d79f24121a1a146161103c76e686"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:8e254ae696c88d98da6555f5ace2279cf7cd5b3f52be2b5cf97feafe883b58d2"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb0932dc158471523c9637e807d9bfb93e06a95cbf010f1a38b98623b929ef2b"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9402b03f1a1b4dc4c19845e5c749e3ab82d5078d16a2a4c2cd2df62d57bb0707"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca379055a47383d02a5400cb0d110cef0a776fc644cda797db0c5696cfd7e18e"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b7ff0f54cb4ff66dd38bebd335a38e2c22c41a8ee45aa608efc890ac3e3931bc"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:c011a4149cfbcf9f03994ec2edffcb8b1dc2d2aede7ca243746df97a5d41ce48"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:56d9f2ecac662ca1611d183feb03a3fa4406469dafe241673d521dd5ae92a155"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win32.whl", hash = "sha256:8758846a7e80910096950b67071243da3e5a20ed2546e6392603c096778d48e0"}, - {file = "MarkupSafe-2.1.3-cp37-cp37m-win_amd64.whl", hash = "sha256:787003c0ddb00500e49a10f2844fac87aa6ce977b90b0feaaf9de23c22508b24"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:2ef12179d3a291be237280175b542c07a36e7f60718296278d8593d21ca937d4"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2c1b19b3aaacc6e57b7e25710ff571c24d6c3613a45e905b1fde04d691b98ee0"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8afafd99945ead6e075b973fefa56379c5b5c53fd8937dad92c662da5d8fd5ee"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c41976a29d078bb235fea9b2ecd3da465df42a562910f9022f1a03107bd02be"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d080e0a5eb2529460b30190fcfcc4199bd7f827663f858a226a81bc27beaa97e"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:69c0f17e9f5a7afdf2cc9fb2d1ce6aabdb3bafb7f38017c0b77862bcec2bbad8"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:504b320cd4b7eff6f968eddf81127112db685e81f7e36e75f9f84f0df46041c3"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:42de32b22b6b804f42c5d98be4f7e5e977ecdd9ee9b660fda1a3edf03b11792d"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win32.whl", hash = "sha256:ceb01949af7121f9fc39f7d27f91be8546f3fb112c608bc4029aef0bab86a2a5"}, - {file = "MarkupSafe-2.1.3-cp38-cp38-win_amd64.whl", hash = "sha256:1b40069d487e7edb2676d3fbdb2b0829ffa2cd63a2ec26c4938b2d34391b4ecc"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:8023faf4e01efadfa183e863fefde0046de576c6f14659e8782065bcece22198"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6b2b56950d93e41f33b4223ead100ea0fe11f8e6ee5f641eb753ce4b77a7042b"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9dcdfd0eaf283af041973bff14a2e143b8bd64e069f4c383416ecd79a81aab58"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fb21170423db021895e1ea1e1f3ab3adb85d1c2333cbc2310f2a26bc77272e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:282c2cb35b5b673bbcadb33a585408104df04f14b2d9b01d4c345a3b92861c2c"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ab4a0df41e7c16a1392727727e7998a467472d0ad65f3ad5e6e765015df08636"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7ef3cb2ebbf91e330e3bb937efada0edd9003683db6b57bb108c4001f37a02ea"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0a4e4a1aff6c7ac4cd55792abf96c915634c2b97e3cc1c7129578aa68ebd754e"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win32.whl", hash = "sha256:fec21693218efe39aa7f8599346e90c705afa52c5b31ae019b2e57e8f6542bb2"}, - {file = "MarkupSafe-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:3fd4abcb888d15a94f32b75d8fd18ee162ca0c064f35b11134be77050296d6ba"}, - {file = "MarkupSafe-2.1.3.tar.gz", hash = "sha256:af598ed32d6ae86f1b747b82783958b1a4ab8f617b06fe68795c7f026abbdcad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, + {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, + {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, + {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, + {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, + {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, + {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, + {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, ] [[package]] @@ -1721,6 +1749,25 @@ code-style = ["pre-commit"] rtd = ["attrs", "myst-parser (>=0.16.1,<0.17.0)", "sphinx-book-theme (>=0.1.0,<0.2.0)"] testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] +[[package]] +name = "mdit-py-plugins" +version = "0.4.0" +description = "Collection of plugins for markdown-it-py" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mdit_py_plugins-0.4.0-py3-none-any.whl", hash = "sha256:b51b3bb70691f57f974e257e367107857a93b36f322a9e6d44ca5bf28ec2def9"}, + {file = "mdit_py_plugins-0.4.0.tar.gz", hash = "sha256:d8ab27e9aed6c38aa716819fedfde15ca275715955f8a185a8e1cf90fb1d2c1b"}, +] + +[package.dependencies] +markdown-it-py = ">=1.0.0,<4.0.0" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["myst-parser", "sphinx-book-theme"] +testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] + [[package]] name = "mdurl" version = "0.1.2" @@ -1745,85 +1792,101 @@ files = [ [[package]] name = "multidict" -version = "6.0.4" +version = "6.0.5" description = "multidict implementation" optional = false python-versions = ">=3.7" files = [ - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0b1a97283e0c85772d613878028fec909f003993e1007eafa715b24b377cb9b8"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:eeb6dcc05e911516ae3d1f207d4b0520d07f54484c49dfc294d6e7d63b734171"}, - {file = "multidict-6.0.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d6d635d5209b82a3492508cf5b365f3446afb65ae7ebd755e70e18f287b0adf7"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c048099e4c9e9d615545e2001d3d8a4380bd403e1a0578734e0d31703d1b0c0b"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ea20853c6dbbb53ed34cb4d080382169b6f4554d394015f1bef35e881bf83547"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16d232d4e5396c2efbbf4f6d4df89bfa905eb0d4dc5b3549d872ab898451f569"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:36c63aaa167f6c6b04ef2c85704e93af16c11d20de1d133e39de6a0e84582a93"}, - {file = "multidict-6.0.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64bdf1086b6043bf519869678f5f2757f473dee970d7abf6da91ec00acb9cb98"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:43644e38f42e3af682690876cff722d301ac585c5b9e1eacc013b7a3f7b696a0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7582a1d1030e15422262de9f58711774e02fa80df0d1578995c76214f6954988"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:ddff9c4e225a63a5afab9dd15590432c22e8057e1a9a13d28ed128ecf047bbdc"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ee2a1ece51b9b9e7752e742cfb661d2a29e7bcdba2d27e66e28a99f1890e4fa0"}, - {file = "multidict-6.0.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a2e4369eb3d47d2034032a26c7a80fcb21a2cb22e1173d761a162f11e562caa5"}, - {file = "multidict-6.0.4-cp310-cp310-win32.whl", hash = "sha256:574b7eae1ab267e5f8285f0fe881f17efe4b98c39a40858247720935b893bba8"}, - {file = "multidict-6.0.4-cp310-cp310-win_amd64.whl", hash = "sha256:4dcbb0906e38440fa3e325df2359ac6cb043df8e58c965bb45f4e406ecb162cc"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0dfad7a5a1e39c53ed00d2dd0c2e36aed4650936dc18fd9a1826a5ae1cad6f03"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:64da238a09d6039e3bd39bb3aee9c21a5e34f28bfa5aa22518581f910ff94af3"}, - {file = "multidict-6.0.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ff959bee35038c4624250473988b24f846cbeb2c6639de3602c073f10410ceba"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:01a3a55bd90018c9c080fbb0b9f4891db37d148a0a18722b42f94694f8b6d4c9"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c5cb09abb18c1ea940fb99360ea0396f34d46566f157122c92dfa069d3e0e982"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:666daae833559deb2d609afa4490b85830ab0dfca811a98b70a205621a6109fe"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11bdf3f5e1518b24530b8241529d2050014c884cf18b6fc69c0c2b30ca248710"}, - {file = "multidict-6.0.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d18748f2d30f94f498e852c67d61261c643b349b9d2a581131725595c45ec6c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:458f37be2d9e4c95e2d8866a851663cbc76e865b78395090786f6cd9b3bbf4f4"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b1a2eeedcead3a41694130495593a559a668f382eee0727352b9a41e1c45759a"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:7d6ae9d593ef8641544d6263c7fa6408cc90370c8cb2bbb65f8d43e5b0351d9c"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:5979b5632c3e3534e42ca6ff856bb24b2e3071b37861c2c727ce220d80eee9ed"}, - {file = "multidict-6.0.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:dcfe792765fab89c365123c81046ad4103fcabbc4f56d1c1997e6715e8015461"}, - {file = "multidict-6.0.4-cp311-cp311-win32.whl", hash = "sha256:3601a3cece3819534b11d4efc1eb76047488fddd0c85a3948099d5da4d504636"}, - {file = "multidict-6.0.4-cp311-cp311-win_amd64.whl", hash = "sha256:81a4f0b34bd92df3da93315c6a59034df95866014ac08535fc819f043bfd51f0"}, - {file = "multidict-6.0.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:67040058f37a2a51ed8ea8f6b0e6ee5bd78ca67f169ce6122f3e2ec80dfe9b78"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:853888594621e6604c978ce2a0444a1e6e70c8d253ab65ba11657659dcc9100f"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:39ff62e7d0f26c248b15e364517a72932a611a9b75f35b45be078d81bdb86603"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af048912e045a2dc732847d33821a9d84ba553f5c5f028adbd364dd4765092ac"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e8b901e607795ec06c9e42530788c45ac21ef3aaa11dbd0c69de543bfb79a9"}, - {file = "multidict-6.0.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62501642008a8b9871ddfccbf83e4222cf8ac0d5aeedf73da36153ef2ec222d2"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:99b76c052e9f1bc0721f7541e5e8c05db3941eb9ebe7b8553c625ef88d6eefde"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:509eac6cf09c794aa27bcacfd4d62c885cce62bef7b2c3e8b2e49d365b5003fe"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:21a12c4eb6ddc9952c415f24eef97e3e55ba3af61f67c7bc388dcdec1404a067"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:5cad9430ab3e2e4fa4a2ef4450f548768400a2ac635841bc2a56a2052cdbeb87"}, - {file = "multidict-6.0.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ab55edc2e84460694295f401215f4a58597f8f7c9466faec545093045476327d"}, - {file = "multidict-6.0.4-cp37-cp37m-win32.whl", hash = "sha256:5a4dcf02b908c3b8b17a45fb0f15b695bf117a67b76b7ad18b73cf8e92608775"}, - {file = "multidict-6.0.4-cp37-cp37m-win_amd64.whl", hash = "sha256:6ed5f161328b7df384d71b07317f4d8656434e34591f20552c7bcef27b0ab88e"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:5fc1b16f586f049820c5c5b17bb4ee7583092fa0d1c4e28b5239181ff9532e0c"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1502e24330eb681bdaa3eb70d6358e818e8e8f908a22a1851dfd4e15bc2f8161"}, - {file = "multidict-6.0.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b692f419760c0e65d060959df05f2a531945af31fda0c8a3b3195d4efd06de11"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45e1ecb0379bfaab5eef059f50115b54571acfbe422a14f668fc8c27ba410e7e"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddd3915998d93fbcd2566ddf9cf62cdb35c9e093075f862935573d265cf8f65d"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:59d43b61c59d82f2effb39a93c48b845efe23a3852d201ed2d24ba830d0b4cf2"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc8e1d0c705233c5dd0c5e6460fbad7827d5d36f310a0fadfd45cc3029762258"}, - {file = "multidict-6.0.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6aa0418fcc838522256761b3415822626f866758ee0bc6632c9486b179d0b52"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6748717bb10339c4760c1e63da040f5f29f5ed6e59d76daee30305894069a660"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:4d1a3d7ef5e96b1c9e92f973e43aa5e5b96c659c9bc3124acbbd81b0b9c8a951"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4372381634485bec7e46718edc71528024fcdc6f835baefe517b34a33c731d60"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:fc35cb4676846ef752816d5be2193a1e8367b4c1397b74a565a9d0389c433a1d"}, - {file = "multidict-6.0.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:4b9d9e4e2b37daddb5c23ea33a3417901fa7c7b3dee2d855f63ee67a0b21e5b1"}, - {file = "multidict-6.0.4-cp38-cp38-win32.whl", hash = "sha256:e41b7e2b59679edfa309e8db64fdf22399eec4b0b24694e1b2104fb789207779"}, - {file = "multidict-6.0.4-cp38-cp38-win_amd64.whl", hash = "sha256:d6c254ba6e45d8e72739281ebc46ea5eb5f101234f3ce171f0e9f5cc86991480"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:16ab77bbeb596e14212e7bab8429f24c1579234a3a462105cda4a66904998664"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc779e9e6f7fda81b3f9aa58e3a6091d49ad528b11ed19f6621408806204ad35"}, - {file = "multidict-6.0.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4ceef517eca3e03c1cceb22030a3e39cb399ac86bff4e426d4fc6ae49052cc60"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281af09f488903fde97923c7744bb001a9b23b039a909460d0f14edc7bf59706"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52f2dffc8acaba9a2f27174c41c9e57f60b907bb9f096b36b1a1f3be71c6284d"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b41156839806aecb3641f3208c0dafd3ac7775b9c4c422d82ee2a45c34ba81ca"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5e3fc56f88cc98ef8139255cf8cd63eb2c586531e43310ff859d6bb3a6b51f1"}, - {file = "multidict-6.0.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8316a77808c501004802f9beebde51c9f857054a0c871bd6da8280e718444449"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f70b98cd94886b49d91170ef23ec5c0e8ebb6f242d734ed7ed677b24d50c82cf"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bf6774e60d67a9efe02b3616fee22441d86fab4c6d335f9d2051d19d90a40063"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:e69924bfcdda39b722ef4d9aa762b2dd38e4632b3641b1d9a57ca9cd18f2f83a"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:6b181d8c23da913d4ff585afd1155a0e1194c0b50c54fcfe286f70cdaf2b7176"}, - {file = "multidict-6.0.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:52509b5be062d9eafc8170e53026fbc54cf3b32759a23d07fd935fb04fc22d95"}, - {file = "multidict-6.0.4-cp39-cp39-win32.whl", hash = "sha256:27c523fbfbdfd19c6867af7346332b62b586eed663887392cff78d614f9ec313"}, - {file = "multidict-6.0.4-cp39-cp39-win_amd64.whl", hash = "sha256:33029f5734336aa0d4c0384525da0387ef89148dc7191aae00ca5fb23d7aafc2"}, - {file = "multidict-6.0.4.tar.gz", hash = "sha256:3666906492efb76453c0e7b97f2cf459b0682e7402c0489a95484965dbc1da49"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, + {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, + {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, + {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, + {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, + {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, + {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, + {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, + {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, + {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, + {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, + {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, + {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, + {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, + {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, + {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, + {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, + {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, + {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, + {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, + {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, + {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, + {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, + {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, + {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, + {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, + {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, + {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, + {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, + {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, + {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, + {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, + {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, ] [[package]] @@ -1880,6 +1943,34 @@ code-style = ["pre-commit"] rtd = ["alabaster", "altair", "bokeh", "coconut (>=1.4.3,<2.3.0)", "ipykernel (>=5.5,<6.0)", "ipywidgets", "jupytext (>=1.11.2,<1.12.0)", "matplotlib", "numpy", "pandas", "plotly", "sphinx-book-theme (>=0.3.0,<0.4.0)", "sphinx-copybutton", "sphinx-design (>=0.4.0,<0.5.0)", "sphinxcontrib-bibtex", "sympy"] testing = ["beautifulsoup4", "coverage (>=6.4,<8.0)", "ipykernel (>=5.5,<6.0)", "ipython (!=8.1.0,<8.5)", "ipywidgets (>=8)", "jupytext (>=1.11.2,<1.12.0)", "matplotlib (>=3.5.3,<3.6)", "nbdime", "numpy", "pandas", "pytest (>=7.1,<8.0)", "pytest-cov (>=3,<5)", "pytest-param-files (>=0.3.3,<0.4.0)", "pytest-regressions", "sympy (>=1.10.1)"] +[[package]] +name = "myst-nb" +version = "1.0.0" +description = "A Jupyter Notebook Sphinx reader built on top of the MyST markdown parser." +optional = false +python-versions = ">=3.9" +files = [ + {file = "myst_nb-1.0.0-py3-none-any.whl", hash = "sha256:ee8febc6dd7d9e32bede0c66a9b962b2e2fdab697428ee9fbfd4919d82380911"}, + {file = "myst_nb-1.0.0.tar.gz", hash = "sha256:9077e42a1c6b441ea55078506f83555dda5d6c816ef4930841d71d239e3e0c5e"}, +] + +[package.dependencies] +importlib_metadata = "*" +ipykernel = "*" +ipython = "*" +jupyter-cache = ">=0.5" +myst-parser = ">=1.0.0" +nbclient = "*" +nbformat = ">=5.0" +pyyaml = "*" +sphinx = ">=5" +typing-extensions = "*" + +[package.extras] +code-style = ["pre-commit"] +rtd = ["alabaster", "altair", "bokeh", "coconut (>=1.4.3,<3.1.0)", "ipykernel (>=5.5,<7.0)", "ipywidgets", "jupytext (>=1.11.2,<1.16.0)", "matplotlib", "numpy", "pandas", "plotly", "sphinx-book-theme (>=0.3)", "sphinx-copybutton", "sphinx-design (>=0.4.0,<0.5.0)", "sphinxcontrib-bibtex", "sympy"] +testing = ["beautifulsoup4", "coverage (>=6.4,<8.0)", "ipykernel (>=5.5,<7.0)", "ipython (!=8.1.0,<8.17)", "ipywidgets (>=8)", "jupytext (>=1.11.2,<1.16.0)", "matplotlib (==3.7.*)", "nbdime", "numpy", "pandas", "pytest (>=7.1,<8.0)", "pytest-cov (>=3,<5)", "pytest-param-files (>=0.3.3,<0.4.0)", "pytest-regressions", "sympy (>=1.10.1)"] + [[package]] name = "myst-parser" version = "0.18.1" @@ -1906,6 +1997,32 @@ linkify = ["linkify-it-py (>=1.0,<2.0)"] rtd = ["ipython", "sphinx-book-theme", "sphinx-design", "sphinxcontrib.mermaid (>=0.7.1,<0.8.0)", "sphinxext-opengraph (>=0.6.3,<0.7.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=6,<7)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx (<5.2)", "sphinx-pytest"] +[[package]] +name = "myst-parser" +version = "2.0.0" +description = "An extended [CommonMark](https://spec.commonmark.org/) compliant parser," +optional = false +python-versions = ">=3.8" +files = [ + {file = "myst_parser-2.0.0-py3-none-any.whl", hash = "sha256:7c36344ae39c8e740dad7fdabf5aa6fc4897a813083c6cc9990044eb93656b14"}, + {file = "myst_parser-2.0.0.tar.gz", hash = "sha256:ea929a67a6a0b1683cdbe19b8d2e724cd7643f8aa3e7bb18dd65beac3483bead"}, +] + +[package.dependencies] +docutils = ">=0.16,<0.21" +jinja2 = "*" +markdown-it-py = ">=3.0,<4.0" +mdit-py-plugins = ">=0.4,<1.0" +pyyaml = "*" +sphinx = ">=6,<8" + +[package.extras] +code-style = ["pre-commit (>=3.0,<4.0)"] +linkify = ["linkify-it-py (>=2.0,<3.0)"] +rtd = ["ipython", "pydata-sphinx-theme (==v0.13.0rc4)", "sphinx-autodoc2 (>=0.4.2,<0.5.0)", "sphinx-book-theme (==1.0.0rc2)", "sphinx-copybutton", "sphinx-design2", "sphinx-pyscript", "sphinx-tippy (>=0.3.1)", "sphinx-togglebutton", "sphinxext-opengraph (>=0.8.2,<0.9.0)", "sphinxext-rediraffe (>=0.2.7,<0.3.0)"] +testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=7,<8)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx-pytest"] +testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,<0.4.0)"] + [[package]] name = "nbclient" version = "0.6.8" @@ -1929,13 +2046,13 @@ test = ["black", "check-manifest", "flake8", "ipykernel", "ipython", "ipywidgets [[package]] name = "nbconvert" -version = "7.11.0" +version = "7.16.0" description = "Converting Jupyter Notebooks" optional = false python-versions = ">=3.8" files = [ - {file = "nbconvert-7.11.0-py3-none-any.whl", hash = "sha256:d1d417b7f34a4e38887f8da5bdfd12372adf3b80f995d57556cb0972c68909fe"}, - {file = "nbconvert-7.11.0.tar.gz", hash = "sha256:abedc01cf543177ffde0bfc2a69726d5a478f6af10a332fc1bf29fcb4f0cf000"}, + {file = "nbconvert-7.16.0-py3-none-any.whl", hash = "sha256:ad3dc865ea6e2768d31b7eb6c7ab3be014927216a5ece3ef276748dd809054c7"}, + {file = "nbconvert-7.16.0.tar.gz", hash = "sha256:813e6553796362489ae572e39ba1bff978536192fb518e10826b0e8cadf03ec8"}, ] [package.dependencies] @@ -1962,7 +2079,7 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp qtpdf = ["nbconvert[qtpng]"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pytest"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"] webpdf = ["playwright"] [[package]] @@ -1988,13 +2105,13 @@ test = ["pep440", "pre-commit", "pytest", "testpath"] [[package]] name = "nbmake" -version = "1.4.6" +version = "1.5.0" description = "Pytest plugin for testing notebooks" optional = false -python-versions = ">=3.7.0,<4.0.0" +python-versions = ">=3.8.0,<4.0.0" files = [ - {file = "nbmake-1.4.6-py3-none-any.whl", hash = "sha256:233603c9186c659cb42524de36b556197c352ede1f9daeaa1b1141dfad226218"}, - {file = "nbmake-1.4.6.tar.gz", hash = "sha256:874c5b9d99922f88bf0c92a3b869e75bff154edba2538efef0a1d7ad2263f5fb"}, + {file = "nbmake-1.5.0-py3-none-any.whl", hash = "sha256:3dbe95a2e85019fd7ba6280ef19e0117a3190a9ea12c2fdf828250edbadf18ce"}, + {file = "nbmake-1.5.0.tar.gz", hash = "sha256:fae58f5882a35e250f3a776bfc5ad5022f9df187eea3bf7f986bf56c476e4383"}, ] [package.dependencies] @@ -2006,29 +2123,43 @@ pytest = ">=6.1.0" [[package]] name = "nest-asyncio" -version = "1.5.8" +version = "1.6.0" description = "Patch asyncio to allow nested event loops" optional = false python-versions = ">=3.5" files = [ - {file = "nest_asyncio-1.5.8-py3-none-any.whl", hash = "sha256:accda7a339a70599cb08f9dd09a67e0c2ef8d8d6f4c07f96ab203f2ae254e48d"}, - {file = "nest_asyncio-1.5.8.tar.gz", hash = "sha256:25aa2ca0d2a5b5531956b9e273b45cf664cae2b145101d73b86b199978d48fdb"}, + {file = "nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c"}, + {file = "nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe"}, ] +[[package]] +name = "nodeenv" +version = "1.8.0" +description = "Node.js virtual environment builder" +optional = false +python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*" +files = [ + {file = "nodeenv-1.8.0-py2.py3-none-any.whl", hash = "sha256:df865724bb3c3adc86b3876fa209771517b0cfe596beff01a92700e0e8be4cec"}, + {file = "nodeenv-1.8.0.tar.gz", hash = "sha256:d51e0c37e64fbf47d017feac3145cdbb58836d7eee8c6f6d3b6880c5456227d2"}, +] + +[package.dependencies] +setuptools = "*" + [[package]] name = "notebook" -version = "7.0.6" +version = "7.0.8" description = "Jupyter Notebook - A web-based notebook environment for interactive computing" optional = false python-versions = ">=3.8" files = [ - {file = "notebook-7.0.6-py3-none-any.whl", hash = "sha256:0fe8f67102fea3744fedf652e4c15339390902ca70c5a31c4f547fa23da697cc"}, - {file = "notebook-7.0.6.tar.gz", hash = "sha256:ec6113b06529019f7f287819af06c97a2baf7a95ac21a8f6e32192898e9f9a58"}, + {file = "notebook-7.0.8-py3-none-any.whl", hash = "sha256:7f421b3fd46a17d91830e724b94e8e9ae922af152ebfd48b1e13ae4a07d8193c"}, + {file = "notebook-7.0.8.tar.gz", hash = "sha256:3957ecd956056b0014677afc76d3bb44c2d2f29649f87b24d13606ff1d18938f"}, ] [package.dependencies] jupyter-server = ">=2.4.0,<3" -jupyterlab = ">=4.0.2,<5" +jupyterlab = ">=4.0.2,<4.1" jupyterlab-server = ">=2.22.1,<3" notebook-shim = ">=0.2,<0.3" tornado = ">=6.2.0" @@ -2094,58 +2225,58 @@ files = [ [[package]] name = "numpy" -version = "1.26.2" +version = "1.26.4" description = "Fundamental package for array computing in Python" optional = false python-versions = ">=3.9" files = [ - {file = "numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f"}, - {file = "numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440"}, - {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75"}, - {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00"}, - {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe"}, - {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523"}, - {file = "numpy-1.26.2-cp310-cp310-win32.whl", hash = "sha256:22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9"}, - {file = "numpy-1.26.2-cp310-cp310-win_amd64.whl", hash = "sha256:26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919"}, - {file = "numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841"}, - {file = "numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1"}, - {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a"}, - {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b"}, - {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7"}, - {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8"}, - {file = "numpy-1.26.2-cp311-cp311-win32.whl", hash = "sha256:a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186"}, - {file = "numpy-1.26.2-cp311-cp311-win_amd64.whl", hash = "sha256:2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d"}, - {file = "numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0"}, - {file = "numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75"}, - {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7"}, - {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6"}, - {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6"}, - {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec"}, - {file = "numpy-1.26.2-cp312-cp312-win32.whl", hash = "sha256:4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167"}, - {file = "numpy-1.26.2-cp312-cp312-win_amd64.whl", hash = "sha256:b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e"}, - {file = "numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef"}, - {file = "numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2"}, - {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3"}, - {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818"}, - {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210"}, - {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36"}, - {file = "numpy-1.26.2-cp39-cp39-win32.whl", hash = "sha256:bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80"}, - {file = "numpy-1.26.2-cp39-cp39-win_amd64.whl", hash = "sha256:2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841"}, - {file = "numpy-1.26.2.tar.gz", hash = "sha256:f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0"}, + {file = "numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4"}, + {file = "numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a"}, + {file = "numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2"}, + {file = "numpy-1.26.4-cp310-cp310-win32.whl", hash = "sha256:bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07"}, + {file = "numpy-1.26.4-cp310-cp310-win_amd64.whl", hash = "sha256:b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71"}, + {file = "numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e"}, + {file = "numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a"}, + {file = "numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a"}, + {file = "numpy-1.26.4-cp311-cp311-win32.whl", hash = "sha256:1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20"}, + {file = "numpy-1.26.4-cp311-cp311-win_amd64.whl", hash = "sha256:cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, + {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, + {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, + {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, + {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, + {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c"}, + {file = "numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764"}, + {file = "numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd"}, + {file = "numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c"}, + {file = "numpy-1.26.4-cp39-cp39-win32.whl", hash = "sha256:a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6"}, + {file = "numpy-1.26.4-cp39-cp39-win_amd64.whl", hash = "sha256:3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c"}, + {file = "numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0"}, + {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, ] [[package]] name = "overrides" -version = "7.4.0" +version = "7.7.0" description = "A decorator to automatically detect mismatch when overriding a method." optional = false python-versions = ">=3.6" files = [ - {file = "overrides-7.4.0-py3-none-any.whl", hash = "sha256:3ad24583f86d6d7a49049695efe9933e67ba62f0c7625d53c59fa832ce4b8b7d"}, - {file = "overrides-7.4.0.tar.gz", hash = "sha256:9502a3cca51f4fac40b5feca985b6703a5c1f6ad815588a7ca9e285b9dca6757"}, + {file = "overrides-7.7.0-py3-none-any.whl", hash = "sha256:c7ed9d062f78b8e4c1a7b70bd8796b35ead4d9f510227ef9c5dc7626c60d7e49"}, + {file = "overrides-7.7.0.tar.gz", hash = "sha256:55158fa3d93b98cc75299b1e67078ad9003ca27945c76162c1c0766d6f91820a"}, ] [[package]] @@ -2161,13 +2292,13 @@ files = [ [[package]] name = "pandocfilters" -version = "1.5.0" +version = "1.5.1" description = "Utilities for writing pandoc filters in python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "pandocfilters-1.5.0-py2.py3-none-any.whl", hash = "sha256:33aae3f25fd1a026079f5d27bdd52496f0e0803b3469282162bafdcbdf6ef14f"}, - {file = "pandocfilters-1.5.0.tar.gz", hash = "sha256:0b679503337d233b4339a817bfc8c50064e2eff681314376a47cb582305a7a38"}, + {file = "pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc"}, + {file = "pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e"}, ] [[package]] @@ -2187,24 +2318,24 @@ testing = ["docopt", "pytest (<6.0.0)"] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "pexpect" -version = "4.8.0" +version = "4.9.0" description = "Pexpect allows easy control of interactive console applications." optional = false python-versions = "*" files = [ - {file = "pexpect-4.8.0-py2.py3-none-any.whl", hash = "sha256:0b48a55dcb3c05f3329815901ea4fc1537514d6ba867a152b581d69ae3710937"}, - {file = "pexpect-4.8.0.tar.gz", hash = "sha256:fc65a43959d153d0114afe13997d439c22823a27cefceb5ff35c2178c6784c0c"}, + {file = "pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523"}, + {file = "pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f"}, ] [package.dependencies] @@ -2223,70 +2354,88 @@ files = [ [[package]] name = "pillow" -version = "10.1.0" +version = "10.2.0" description = "Python Imaging Library (Fork)" optional = false python-versions = ">=3.8" files = [ - {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, - {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, - {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, - {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, - {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, - {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, - {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, - {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "pkgutil-resolve-name" @@ -2301,28 +2450,28 @@ files = [ [[package]] name = "platformdirs" -version = "3.11.0" +version = "4.2.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-3.11.0-py3-none-any.whl", hash = "sha256:e9d171d00af68be50e9202731309c4e658fd8bc76f55c11c7dd760d023bda68e"}, - {file = "platformdirs-3.11.0.tar.gz", hash = "sha256:cf8ee52a3afdb965072dcc652433e0c7e3e40cf5ea1477cd4b3b1d2eb75495b3"}, + {file = "platformdirs-4.2.0-py3-none-any.whl", hash = "sha256:0614df2a2f37e1a662acbd8e2b25b92ccf8632929bc6d43467e17fe89c75e068"}, + {file = "platformdirs-4.2.0.tar.gz", hash = "sha256:ef0cc731df711022c174543cb70a9b5bd22e5a9337c8624ef2c2ceb8ddad8768"}, ] [package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.1)", "sphinx-autodoc-typehints (>=1.24)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)"] +docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] [[package]] name = "pluggy" -version = "1.3.0" +version = "1.4.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.8" files = [ - {file = "pluggy-1.3.0-py3-none-any.whl", hash = "sha256:d89c696a773f8bd377d18e5ecda92b7a3793cbe66c87060a6fb58c7b6e1061f7"}, - {file = "pluggy-1.3.0.tar.gz", hash = "sha256:cf61ae8f126ac6f7c451172cf30e3e43d3ca77615509771b3a984a0730651e12"}, + {file = "pluggy-1.4.0-py3-none-any.whl", hash = "sha256:7db9f7b503d67d1c5b95f59773ebb58a8c1c288129a88665838012cfb07b8981"}, + {file = "pluggy-1.4.0.tar.gz", hash = "sha256:8c85c2876142a764e5b7548e7d9a0e0ddb46f5185161049a79b7e974454223be"}, ] [package.extras] @@ -2331,13 +2480,13 @@ testing = ["pytest", "pytest-benchmark"] [[package]] name = "prometheus-client" -version = "0.18.0" +version = "0.19.0" description = "Python client for the Prometheus monitoring system." optional = false python-versions = ">=3.8" files = [ - {file = "prometheus_client-0.18.0-py3-none-any.whl", hash = "sha256:8de3ae2755f890826f4b6479e5571d4f74ac17a81345fe69a6778fdb92579184"}, - {file = "prometheus_client-0.18.0.tar.gz", hash = "sha256:35f7a8c22139e2bb7ca5a698e92d38145bc8dc74c1c0bf56f25cca886a764e17"}, + {file = "prometheus_client-0.19.0-py3-none-any.whl", hash = "sha256:c88b1e6ecf6b41cd8fb5731c7ae919bf66df6ec6fafa555cd6c0e16ca169ae92"}, + {file = "prometheus_client-0.19.0.tar.gz", hash = "sha256:4585b0d1223148c27a225b10dbec5ae9bc4c81a99a3fa80774fa6209935324e1"}, ] [package.extras] @@ -2345,13 +2494,13 @@ twisted = ["twisted"] [[package]] name = "prompt-toolkit" -version = "3.0.41" +version = "3.0.43" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.41-py3-none-any.whl", hash = "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2"}, - {file = "prompt_toolkit-3.0.41.tar.gz", hash = "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"}, + {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, + {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, ] [package.dependencies] @@ -2359,22 +2508,22 @@ wcwidth = "*" [[package]] name = "protobuf" -version = "4.25.0" +version = "4.25.2" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.0-cp310-abi3-win32.whl", hash = "sha256:5c1203ac9f50e4853b0a0bfffd32c67118ef552a33942982eeab543f5c634395"}, - {file = "protobuf-4.25.0-cp310-abi3-win_amd64.whl", hash = "sha256:c40ff8f00aa737938c5378d461637d15c442a12275a81019cc2fef06d81c9419"}, - {file = "protobuf-4.25.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:cf21faba64cd2c9a3ed92b7a67f226296b10159dbb8fbc5e854fc90657d908e4"}, - {file = "protobuf-4.25.0-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:32ac2100b0e23412413d948c03060184d34a7c50b3e5d7524ee96ac2b10acf51"}, - {file = "protobuf-4.25.0-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:683dc44c61f2620b32ce4927de2108f3ebe8ccf2fd716e1e684e5a50da154054"}, - {file = "protobuf-4.25.0-cp38-cp38-win32.whl", hash = "sha256:1a3ba712877e6d37013cdc3476040ea1e313a6c2e1580836a94f76b3c176d575"}, - {file = "protobuf-4.25.0-cp38-cp38-win_amd64.whl", hash = "sha256:b2cf8b5d381f9378afe84618288b239e75665fe58d0f3fd5db400959274296e9"}, - {file = "protobuf-4.25.0-cp39-cp39-win32.whl", hash = "sha256:63714e79b761a37048c9701a37438aa29945cd2417a97076048232c1df07b701"}, - {file = "protobuf-4.25.0-cp39-cp39-win_amd64.whl", hash = "sha256:d94a33db8b7ddbd0af7c467475fb9fde0c705fb315a8433c0e2020942b863a1f"}, - {file = "protobuf-4.25.0-py3-none-any.whl", hash = "sha256:1a53d6f64b00eecf53b65ff4a8c23dc95df1fa1e97bb06b8122e5a64f49fc90a"}, - {file = "protobuf-4.25.0.tar.gz", hash = "sha256:68f7caf0d4f012fd194a301420cf6aa258366144d814f358c5b32558228afa7c"}, + {file = "protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6"}, + {file = "protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9"}, + {file = "protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020"}, + {file = "protobuf-4.25.2-cp38-cp38-win32.whl", hash = "sha256:33a1aeef4b1927431d1be780e87b641e322b88d654203a9e9d93f218ee359e61"}, + {file = "protobuf-4.25.2-cp38-cp38-win_amd64.whl", hash = "sha256:47f3de503fe7c1245f6f03bea7e8d3ec11c6c4a2ea9ef910e3221c8a15516d62"}, + {file = "protobuf-4.25.2-cp39-cp39-win32.whl", hash = "sha256:5e5c933b4c30a988b52e0b7c02641760a5ba046edc5e43d3b94a74c9fc57c1b3"}, + {file = "protobuf-4.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:d66a769b8d687df9024f2985d5137a337f957a0916cf5464d1513eee96a63ff0"}, + {file = "protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830"}, + {file = "protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e"}, ] [[package]] @@ -2398,27 +2547,27 @@ grpcio-tools = ["grpcio-tools (>=1.42.0,<2)"] [[package]] name = "psutil" -version = "5.9.6" +version = "5.9.8" description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, - {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, - {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, - {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, - {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, - {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, - {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, - {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, - {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, - {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, + {file = "psutil-5.9.8-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:26bd09967ae00920df88e0352a91cff1a78f8d69b3ecabbfe733610c0af486c8"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:05806de88103b25903dff19bb6692bd2e714ccf9e668d050d144012055cbca73"}, + {file = "psutil-5.9.8-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:611052c4bc70432ec770d5d54f64206aa7203a101ec273a0cd82418c86503bb7"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:50187900d73c1381ba1454cf40308c2bf6f34268518b3f36a9b663ca87e65e36"}, + {file = "psutil-5.9.8-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:02615ed8c5ea222323408ceba16c60e99c3f91639b07da6373fb7e6539abc56d"}, + {file = "psutil-5.9.8-cp27-none-win32.whl", hash = "sha256:36f435891adb138ed3c9e58c6af3e2e6ca9ac2f365efe1f9cfef2794e6c93b4e"}, + {file = "psutil-5.9.8-cp27-none-win_amd64.whl", hash = "sha256:bd1184ceb3f87651a67b2708d4c3338e9b10c5df903f2e3776b62303b26cb631"}, + {file = "psutil-5.9.8-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aee678c8720623dc456fa20659af736241f575d79429a0e5e9cf88ae0605cc81"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cb6403ce6d8e047495a701dc7c5bd788add903f8986d523e3e20b98b733e421"}, + {file = "psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d06016f7f8625a1825ba3732081d77c94589dca78b7a3fc072194851e88461a4"}, + {file = "psutil-5.9.8-cp36-cp36m-win32.whl", hash = "sha256:7d79560ad97af658a0f6adfef8b834b53f64746d45b403f225b85c5c2c140eee"}, + {file = "psutil-5.9.8-cp36-cp36m-win_amd64.whl", hash = "sha256:27cc40c3493bb10de1be4b3f07cae4c010ce715290a5be22b98493509c6299e2"}, + {file = "psutil-5.9.8-cp37-abi3-win32.whl", hash = "sha256:bc56c2a1b0d15aa3eaa5a60c9f3f8e3e565303b465dbf57a1b730e7a2b9844e0"}, + {file = "psutil-5.9.8-cp37-abi3-win_amd64.whl", hash = "sha256:8db4c1b57507eef143a15a6884ca10f7c73876cdf5d51e713151c1236a0e68cf"}, + {file = "psutil-5.9.8-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:d16bbddf0693323b8c6123dd804100241da461e41d6e332fb0ba6058f630f8c8"}, + {file = "psutil-5.9.8.tar.gz", hash = "sha256:6be126e3225486dff286a8fb9a06246a5253f4c7c53b475ea5f5ac934e64194c"}, ] [package.extras] @@ -2484,17 +2633,18 @@ files = [ [[package]] name = "pygments" -version = "2.16.1" +version = "2.17.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.7" files = [ - {file = "Pygments-2.16.1-py3-none-any.whl", hash = "sha256:13fc09fa63bc8d8671a6d247e1eb303c4b343eaee81d861f3404db2935653692"}, - {file = "Pygments-2.16.1.tar.gz", hash = "sha256:1daff0494820c69bc8941e407aa20f577374ee88364ee10a98fdbe0aece96e29"}, + {file = "pygments-2.17.2-py3-none-any.whl", hash = "sha256:b27c2826c47d0f3219f29554824c30c5e8945175d888647acd804ddd04af846c"}, + {file = "pygments-2.17.2.tar.gz", hash = "sha256:da46cec9fd2de5be3a8a784f434e4c4ab670b4ff54d605c4c2717e9d49c4c367"}, ] [package.extras] plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyproject-api" @@ -2515,15 +2665,33 @@ tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} docs = ["furo (>=2023.8.19)", "sphinx (<7.2)", "sphinx-autodoc-typehints (>=1.24)"] testing = ["covdefaults (>=2.3)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "setuptools (>=68.1.2)", "wheel (>=0.41.2)"] +[[package]] +name = "pyright" +version = "1.1.350" +description = "Command line wrapper for pyright" +optional = false +python-versions = ">=3.7" +files = [ + {file = "pyright-1.1.350-py3-none-any.whl", hash = "sha256:f1dde6bcefd3c90aedbe9dd1c573e4c1ddbca8c74bf4fa664dd3b1a599ac9a66"}, + {file = "pyright-1.1.350.tar.gz", hash = "sha256:a8ba676de3a3737ea4d8590604da548d4498cc5ee9ee00b1a403c6db987916c6"}, +] + +[package.dependencies] +nodeenv = ">=1.6.0" + +[package.extras] +all = ["twine (>=3.4.1)"] +dev = ["twine (>=3.4.1)"] + [[package]] name = "pytest" -version = "7.4.3" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, - {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] @@ -2539,31 +2707,31 @@ testing = ["argcomplete", "attrs (>=19.2.0)", "hypothesis (>=3.56)", "mock", "no [[package]] name = "pytest-asyncio" -version = "0.21.1" +version = "0.23.5" description = "Pytest support for asyncio" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-asyncio-0.21.1.tar.gz", hash = "sha256:40a7eae6dded22c7b604986855ea48400ab15b069ae38116e8c01238e9eeb64d"}, - {file = "pytest_asyncio-0.21.1-py3-none-any.whl", hash = "sha256:8666c1c8ac02631d7c51ba282e0c69a8a452b211ffedf2599099845da5c5c37b"}, + {file = "pytest-asyncio-0.23.5.tar.gz", hash = "sha256:3a048872a9c4ba14c3e90cc1aa20cbc2def7d01c7c8db3777ec281ba9c057675"}, + {file = "pytest_asyncio-0.23.5-py3-none-any.whl", hash = "sha256:4e7093259ba018d58ede7d5315131d21923a60f8a6e9ee266ce1589685c89eac"}, ] [package.dependencies] -pytest = ">=7.0.0" +pytest = ">=7.0.0,<9" [package.extras] docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] -testing = ["coverage (>=6.2)", "flaky (>=3.5.0)", "hypothesis (>=5.7.1)", "mypy (>=0.931)", "pytest-trio (>=0.7.0)"] +testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "pytest-watcher" -version = "0.3.4" +version = "0.3.5" description = "Automatically rerun your tests on file modifications" optional = false python-versions = ">=3.7.0,<4.0.0" files = [ - {file = "pytest_watcher-0.3.4-py3-none-any.whl", hash = "sha256:edd2bd9c8a1fb14d48c9f4947234065eb9b4c1acedc0bf213b1f12501dfcffd3"}, - {file = "pytest_watcher-0.3.4.tar.gz", hash = "sha256:d39491ba15b589221bb9a78ef4bed3d5d1503aed08209b1a138aeb95b9117a18"}, + {file = "pytest_watcher-0.3.5-py3-none-any.whl", hash = "sha256:af00ca52c7be22dc34c0fd3d7ffef99057207a73b05dc5161fe3b2fe91f58130"}, + {file = "pytest_watcher-0.3.5.tar.gz", hash = "sha256:8896152460ba2b1a8200c12117c6611008ec96c8b2d811f0a05ab8a82b043ff8"}, ] [package.dependencies] @@ -2597,13 +2765,13 @@ files = [ [[package]] name = "pytz" -version = "2023.3.post1" +version = "2024.1" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2023.3.post1-py2.py3-none-any.whl", hash = "sha256:ce42d816b81b68506614c11e8937d3aa9e41007ceb50bfdcb0749b921bf646c7"}, - {file = "pytz-2023.3.post1.tar.gz", hash = "sha256:7b4fddbeb94a1eba4b557da24f19fdf9db575192544270a9101d8509f9f43d7b"}, + {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, + {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, ] [[package]] @@ -2695,104 +2863,104 @@ files = [ [[package]] name = "pyzmq" -version = "25.1.1" +version = "25.1.2" description = "Python bindings for 0MQ" optional = false python-versions = ">=3.6" files = [ - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"}, - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"}, - {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"}, - {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"}, - {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"}, - {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"}, - {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"}, - {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"}, - {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"}, - {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"}, - {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"}, - {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"}, - {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"}, + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"}, + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"}, + {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"}, + {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"}, + {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"}, + {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"}, + {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"}, + {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"}, + {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"}, + {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"}, + {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"}, + {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"}, + {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"}, + {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"}, ] [package.dependencies] @@ -2800,13 +2968,13 @@ cffi = {version = "*", markers = "implementation_name == \"pypy\""} [[package]] name = "qtconsole" -version = "5.5.0" +version = "5.5.1" description = "Jupyter Qt console" optional = false python-versions = ">= 3.8" files = [ - {file = "qtconsole-5.5.0-py3-none-any.whl", hash = "sha256:6b6bcf8f834c6df1579a3e6623c8531b85d3e723997cee3a1156296df14716c8"}, - {file = "qtconsole-5.5.0.tar.gz", hash = "sha256:ea8b4a07d7dc915a1b1238fbfe2c9aea570640402557b64615e09a4bc60df47c"}, + {file = "qtconsole-5.5.1-py3-none-any.whl", hash = "sha256:8c75fa3e9b4ed884880ff7cea90a1b67451219279ec33deaee1d59e3df1a5d2b"}, + {file = "qtconsole-5.5.1.tar.gz", hash = "sha256:a0e806c6951db9490628e4df80caec9669b65149c7ba40f9bf033c025a5b56bc"}, ] [package.dependencies] @@ -2842,13 +3010,13 @@ test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] [[package]] name = "referencing" -version = "0.31.0" +version = "0.33.0" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.31.0-py3-none-any.whl", hash = "sha256:381b11e53dd93babb55696c71cf42aef2d36b8a150c49bf0bc301e36d536c882"}, - {file = "referencing-0.31.0.tar.gz", hash = "sha256:cc28f2c88fbe7b961a7817a0abc034c09a1e36358f82fedb4ffdf29a25398863"}, + {file = "referencing-0.33.0-py3-none-any.whl", hash = "sha256:39240f2ecc770258f28b642dd47fd74bc8b02484de54e1882b74b35ebd779bd5"}, + {file = "referencing-0.33.0.tar.gz", hash = "sha256:c775fedf74bc0f9189c2a3be1c12fd03e8c23f4d371dce795df44e06c5b412f7"}, ] [package.dependencies] @@ -2903,136 +3071,136 @@ files = [ [[package]] name = "rpds-py" -version = "0.12.0" +version = "0.17.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.12.0-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:c694bee70ece3b232df4678448fdda245fd3b1bb4ba481fb6cd20e13bb784c46"}, - {file = "rpds_py-0.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:30e5ce9f501fb1f970e4a59098028cf20676dee64fc496d55c33e04bbbee097d"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d72a4315514e5a0b9837a086cb433b004eea630afb0cc129de76d77654a9606f"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eebaf8c76c39604d52852366249ab807fe6f7a3ffb0dd5484b9944917244cdbe"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a239303acb0315091d54c7ff36712dba24554993b9a93941cf301391d8a997ee"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ced40cdbb6dd47a032725a038896cceae9ce267d340f59508b23537f05455431"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c8c0226c71bd0ce9892eaf6afa77ae8f43a3d9313124a03df0b389c01f832de"}, - {file = "rpds_py-0.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b8e11715178f3608874508f08e990d3771e0b8c66c73eb4e183038d600a9b274"}, - {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5210a0018c7e09c75fa788648617ebba861ae242944111d3079034e14498223f"}, - {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:171d9a159f1b2f42a42a64a985e4ba46fc7268c78299272ceba970743a67ee50"}, - {file = "rpds_py-0.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:57ec6baec231bb19bb5fd5fc7bae21231860a1605174b11585660236627e390e"}, - {file = "rpds_py-0.12.0-cp310-none-win32.whl", hash = "sha256:7188ddc1a8887194f984fa4110d5a3d5b9b5cd35f6bafdff1b649049cbc0ce29"}, - {file = "rpds_py-0.12.0-cp310-none-win_amd64.whl", hash = "sha256:1e04581c6117ad9479b6cfae313e212fe0dfa226ac727755f0d539cd54792963"}, - {file = "rpds_py-0.12.0-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:0a38612d07a36138507d69646c470aedbfe2b75b43a4643f7bd8e51e52779624"}, - {file = "rpds_py-0.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f12d69d568f5647ec503b64932874dade5a20255736c89936bf690951a5e79f5"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f8a1d990dc198a6c68ec3d9a637ba1ce489b38cbfb65440a27901afbc5df575"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8c567c664fc2f44130a20edac73e0a867f8e012bf7370276f15c6adc3586c37c"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0e9e976e0dbed4f51c56db10831c9623d0fd67aac02853fe5476262e5a22acb7"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:efddca2d02254a52078c35cadad34762adbae3ff01c6b0c7787b59d038b63e0d"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9e7f29c00577aff6b318681e730a519b235af292732a149337f6aaa4d1c5e31"}, - {file = "rpds_py-0.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:389c0e38358fdc4e38e9995e7291269a3aead7acfcf8942010ee7bc5baee091c"}, - {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:33ab498f9ac30598b6406e2be1b45fd231195b83d948ebd4bd77f337cb6a2bff"}, - {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d56b1cd606ba4cedd64bb43479d56580e147c6ef3f5d1c5e64203a1adab784a2"}, - {file = "rpds_py-0.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1fa73ed22c40a1bec98d7c93b5659cd35abcfa5a0a95ce876b91adbda170537c"}, - {file = "rpds_py-0.12.0-cp311-none-win32.whl", hash = "sha256:dbc25baa6abb205766fb8606f8263b02c3503a55957fcb4576a6bb0a59d37d10"}, - {file = "rpds_py-0.12.0-cp311-none-win_amd64.whl", hash = "sha256:c6b52b7028b547866c2413f614ee306c2d4eafdd444b1ff656bf3295bf1484aa"}, - {file = "rpds_py-0.12.0-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:9620650c364c01ed5b497dcae7c3d4b948daeae6e1883ae185fef1c927b6b534"}, - {file = "rpds_py-0.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2124f9e645a94ab7c853bc0a3644e0ca8ffbe5bb2d72db49aef8f9ec1c285733"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:281c8b219d4f4b3581b918b816764098d04964915b2f272d1476654143801aa2"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:27ccc93c7457ef890b0dd31564d2a05e1aca330623c942b7e818e9e7c2669ee4"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1c562a9bb72244fa767d1c1ab55ca1d92dd5f7c4d77878fee5483a22ffac808"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e57919c32ee295a2fca458bb73e4b20b05c115627f96f95a10f9f5acbd61172d"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa35ad36440aaf1ac8332b4a4a433d4acd28f1613f0d480995f5cfd3580e90b7"}, - {file = "rpds_py-0.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e6aea5c0eb5b0faf52c7b5c4a47c8bb64437173be97227c819ffa31801fa4e34"}, - {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:81cf9d306c04df1b45971c13167dc3bad625808aa01281d55f3cf852dde0e206"}, - {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:08e6e7ff286254016b945e1ab632ee843e43d45e40683b66dd12b73791366dd1"}, - {file = "rpds_py-0.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4d0a675a7acbbc16179188d8c6d0afb8628604fc1241faf41007255957335a0b"}, - {file = "rpds_py-0.12.0-cp312-none-win32.whl", hash = "sha256:b2287c09482949e0ca0c0eb68b2aca6cf57f8af8c6dfd29dcd3bc45f17b57978"}, - {file = "rpds_py-0.12.0-cp312-none-win_amd64.whl", hash = "sha256:8015835494b21aa7abd3b43fdea0614ee35ef6b03db7ecba9beb58eadf01c24f"}, - {file = "rpds_py-0.12.0-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:6174d6ad6b58a6bcf67afbbf1723420a53d06c4b89f4c50763d6fa0a6ac9afd2"}, - {file = "rpds_py-0.12.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a689e1ded7137552bea36305a7a16ad2b40be511740b80748d3140614993db98"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45321224144c25a62052035ce96cbcf264667bcb0d81823b1bbc22c4addd194"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aa32205358a76bf578854bf31698a86dc8b2cb591fd1d79a833283f4a403f04b"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:91bd2b7cf0f4d252eec8b7046fa6a43cee17e8acdfc00eaa8b3dbf2f9a59d061"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3acadbab8b59f63b87b518e09c4c64b142e7286b9ca7a208107d6f9f4c393c5c"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:429349a510da82c85431f0f3e66212d83efe9fd2850f50f339341b6532c62fe4"}, - {file = "rpds_py-0.12.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05942656cb2cb4989cd50ced52df16be94d344eae5097e8583966a1d27da73a5"}, - {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:0c5441b7626c29dbd54a3f6f3713ec8e956b009f419ffdaaa3c80eaf98ddb523"}, - {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:b6b0e17d39d21698185097652c611f9cf30f7c56ccec189789920e3e7f1cee56"}, - {file = "rpds_py-0.12.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:3b7a64d43e2a1fa2dd46b678e00cabd9a49ebb123b339ce799204c44a593ae1c"}, - {file = "rpds_py-0.12.0-cp38-none-win32.whl", hash = "sha256:e5bbe011a2cea9060fef1bb3d668a2fd8432b8888e6d92e74c9c794d3c101595"}, - {file = "rpds_py-0.12.0-cp38-none-win_amd64.whl", hash = "sha256:bec29b801b4adbf388314c0d050e851d53762ab424af22657021ce4b6eb41543"}, - {file = "rpds_py-0.12.0-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:1096ca0bf2d3426cbe79d4ccc91dc5aaa73629b08ea2d8467375fad8447ce11a"}, - {file = "rpds_py-0.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48aa98987d54a46e13e6954880056c204700c65616af4395d1f0639eba11764b"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7979d90ee2190d000129598c2b0c82f13053dba432b94e45e68253b09bb1f0f6"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:88857060b690a57d2ea8569bca58758143c8faa4639fb17d745ce60ff84c867e"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4eb74d44776b0fb0782560ea84d986dffec8ddd94947f383eba2284b0f32e35e"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f62581d7e884dd01ee1707b7c21148f61f2febb7de092ae2f108743fcbef5985"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f5dcb658d597410bb7c967c1d24eaf9377b0d621358cbe9d2ff804e5dd12e81"}, - {file = "rpds_py-0.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9bf9acce44e967a5103fcd820fc7580c7b0ab8583eec4e2051aec560f7b31a63"}, - {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:240687b5be0f91fbde4936a329c9b7589d9259742766f74de575e1b2046575e4"}, - {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:25740fb56e8bd37692ed380e15ec734be44d7c71974d8993f452b4527814601e"}, - {file = "rpds_py-0.12.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a54917b7e9cd3a67e429a630e237a90b096e0ba18897bfb99ee8bd1068a5fea0"}, - {file = "rpds_py-0.12.0-cp39-none-win32.whl", hash = "sha256:b92aafcfab3d41580d54aca35a8057341f1cfc7c9af9e8bdfc652f83a20ced31"}, - {file = "rpds_py-0.12.0-cp39-none-win_amd64.whl", hash = "sha256:cd316dbcc74c76266ba94eb021b0cc090b97cca122f50bd7a845f587ff4bf03f"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0853da3d5e9bc6a07b2486054a410b7b03f34046c123c6561b535bb48cc509e1"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:cb41ad20064e18a900dd427d7cf41cfaec83bcd1184001f3d91a1f76b3fcea4e"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b710bf7e7ae61957d5c4026b486be593ed3ec3dca3e5be15e0f6d8cf5d0a4990"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a952ae3eb460c6712388ac2ec706d24b0e651b9396d90c9a9e0a69eb27737fdc"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0bedd91ae1dd142a4dc15970ed2c729ff6c73f33a40fa84ed0cdbf55de87c777"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:761531076df51309075133a6bc1db02d98ec7f66e22b064b1d513bc909f29743"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2baa6be130e8a00b6cbb9f18a33611ec150b4537f8563bddadb54c1b74b8193"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f05450fa1cd7c525c0b9d1a7916e595d3041ac0afbed2ff6926e5afb6a781b7f"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:81c4d1a3a564775c44732b94135d06e33417e829ff25226c164664f4a1046213"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e888be685fa42d8b8a3d3911d5604d14db87538aa7d0b29b1a7ea80d354c732d"}, - {file = "rpds_py-0.12.0-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6f8d7fe73d1816eeb5378409adc658f9525ecbfaf9e1ede1e2d67a338b0c7348"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:0831d3ecdea22e4559cc1793f22e77067c9d8c451d55ae6a75bf1d116a8e7f42"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:513ccbf7420c30e283c25c82d5a8f439d625a838d3ba69e79a110c260c46813f"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:301bd744a1adaa2f6a5e06c98f1ac2b6f8dc31a5c23b838f862d65e32fca0d4b"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8832a4f83d4782a8f5a7b831c47e8ffe164e43c2c148c8160ed9a6d630bc02a"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b2416ed743ec5debcf61e1242e012652a4348de14ecc7df3512da072b074440"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35585a8cb5917161f42c2104567bb83a1d96194095fc54a543113ed5df9fa436"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d389ff1e95b6e46ebedccf7fd1fadd10559add595ac6a7c2ea730268325f832c"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9b007c2444705a2dc4a525964fd4dd28c3320b19b3410da6517cab28716f27d3"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:188912b22b6c8225f4c4ffa020a2baa6ad8fabb3c141a12dbe6edbb34e7f1425"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:1b4cf9ab9a0ae0cb122685209806d3f1dcb63b9fccdf1424fb42a129dc8c2faa"}, - {file = "rpds_py-0.12.0-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2d34a5450a402b00d20aeb7632489ffa2556ca7b26f4a63c35f6fccae1977427"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:466030a42724780794dea71eb32db83cc51214d66ab3fb3156edd88b9c8f0d78"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:68172622a5a57deb079a2c78511c40f91193548e8ab342c31e8cb0764d362459"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54cdfcda59251b9c2f87a05d038c2ae02121219a04d4a1e6fc345794295bdc07"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6b75b912a0baa033350367a8a07a8b2d44fd5b90c890bfbd063a8a5f945f644b"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:47aeceb4363851d17f63069318ba5721ae695d9da55d599b4d6fb31508595278"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0525847f83f506aa1e28eb2057b696fe38217e12931c8b1b02198cfe6975e142"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efbe0b5e0fd078ed7b005faa0170da4f72666360f66f0bb2d7f73526ecfd99f9"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0fadfdda275c838cba5102c7f90a20f2abd7727bf8f4a2b654a5b617529c5c18"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:56dd500411d03c5e9927a1eb55621e906837a83b02350a9dc401247d0353717c"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:6915fc9fa6b3ec3569566832e1bb03bd801c12cea030200e68663b9a87974e76"}, - {file = "rpds_py-0.12.0-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:5f1519b080d8ce0a814f17ad9fb49fb3a1d4d7ce5891f5c85fc38631ca3a8dc4"}, - {file = "rpds_py-0.12.0.tar.gz", hash = "sha256:7036316cc26b93e401cedd781a579be606dad174829e6ad9e9c5a0da6e036f80"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4128980a14ed805e1b91a7ed551250282a8ddf8201a4e9f8f5b7e6225f54170d"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff1dcb8e8bc2261a088821b2595ef031c91d499a0c1b031c152d43fe0a6ecec8"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d65e6b4f1443048eb7e833c2accb4fa7ee67cc7d54f31b4f0555b474758bee55"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a71169d505af63bb4d20d23a8fbd4c6ce272e7bce6cc31f617152aa784436f29"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:436474f17733c7dca0fbf096d36ae65277e8645039df12a0fa52445ca494729d"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10162fe3f5f47c37ebf6d8ff5a2368508fe22007e3077bf25b9c7d803454d921"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:720215373a280f78a1814becb1312d4e4d1077b1202a56d2b0815e95ccb99ce9"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70fcc6c2906cfa5c6a552ba7ae2ce64b6c32f437d8f3f8eea49925b278a61453"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:91e5a8200e65aaac342a791272c564dffcf1281abd635d304d6c4e6b495f29dc"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:99f567dae93e10be2daaa896e07513dd4bf9c2ecf0576e0533ac36ba3b1d5394"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24e4900a6643f87058a27320f81336d527ccfe503984528edde4bb660c8c8d59"}, + {file = "rpds_py-0.17.1-cp310-none-win32.whl", hash = "sha256:0bfb09bf41fe7c51413f563373e5f537eaa653d7adc4830399d4e9bdc199959d"}, + {file = "rpds_py-0.17.1-cp310-none-win_amd64.whl", hash = "sha256:20de7b7179e2031a04042e85dc463a93a82bc177eeba5ddd13ff746325558aa6"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:65dcf105c1943cba45d19207ef51b8bc46d232a381e94dd38719d52d3980015b"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:01f58a7306b64e0a4fe042047dd2b7d411ee82e54240284bab63e325762c1147"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:071bc28c589b86bc6351a339114fb7a029f5cddbaca34103aa573eba7b482382"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae35e8e6801c5ab071b992cb2da958eee76340e6926ec693b5ff7d6381441745"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149c5cd24f729e3567b56e1795f74577aa3126c14c11e457bec1b1c90d212e38"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e796051f2070f47230c745d0a77a91088fbee2cc0502e9b796b9c6471983718c"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e820ee1004327609b28db8307acc27f5f2e9a0b185b2064c5f23e815f248f8"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1957a2ab607f9added64478a6982742eb29f109d89d065fa44e01691a20fc20a"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8587fd64c2a91c33cdc39d0cebdaf30e79491cc029a37fcd458ba863f8815383"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4dc889a9d8a34758d0fcc9ac86adb97bab3fb7f0c4d29794357eb147536483fd"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2953937f83820376b5979318840f3ee47477d94c17b940fe31d9458d79ae7eea"}, + {file = "rpds_py-0.17.1-cp311-none-win32.whl", hash = "sha256:1bfcad3109c1e5ba3cbe2f421614e70439f72897515a96c462ea657261b96518"}, + {file = "rpds_py-0.17.1-cp311-none-win_amd64.whl", hash = "sha256:99da0a4686ada4ed0f778120a0ea8d066de1a0a92ab0d13ae68492a437db78bf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1dc29db3900cb1bb40353772417800f29c3d078dbc8024fd64655a04ee3c4bdf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82ada4a8ed9e82e443fcef87e22a3eed3654dd3adf6e3b3a0deb70f03e86142a"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d36b2b59e8cc6e576f8f7b671e32f2ff43153f0ad6d0201250a7c07f25d570e"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3677fcca7fb728c86a78660c7fb1b07b69b281964673f486ae72860e13f512ad"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:516fb8c77805159e97a689e2f1c80655c7658f5af601c34ffdb916605598cda2"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df3b6f45ba4515632c5064e35ca7f31d51d13d1479673185ba8f9fefbbed58b9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a967dd6afda7715d911c25a6ba1517975acd8d1092b2f326718725461a3d33f9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dbbb95e6fc91ea3102505d111b327004d1c4ce98d56a4a02e82cd451f9f57140"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02866e060219514940342a1f84303a1ef7a1dad0ac311792fbbe19b521b489d2"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2528ff96d09f12e638695f3a2e0c609c7b84c6df7c5ae9bfeb9252b6fa686253"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bd345a13ce06e94c753dab52f8e71e5252aec1e4f8022d24d56decd31e1b9b23"}, + {file = "rpds_py-0.17.1-cp312-none-win32.whl", hash = "sha256:2a792b2e1d3038daa83fa474d559acfd6dc1e3650ee93b2662ddc17dbff20ad1"}, + {file = "rpds_py-0.17.1-cp312-none-win_amd64.whl", hash = "sha256:292f7344a3301802e7c25c53792fae7d1593cb0e50964e7bcdcc5cf533d634e3"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:8ffe53e1d8ef2520ebcf0c9fec15bb721da59e8ef283b6ff3079613b1e30513d"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4341bd7579611cf50e7b20bb8c2e23512a3dc79de987a1f411cb458ab670eb90"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4eb548daf4836e3b2c662033bfbfc551db58d30fd8fe660314f86bf8510b93"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b686f25377f9c006acbac63f61614416a6317133ab7fafe5de5f7dc8a06d42eb"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e21b76075c01d65d0f0f34302b5a7457d95721d5e0667aea65e5bb3ab415c25"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b86b21b348f7e5485fae740d845c65a880f5d1eda1e063bc59bef92d1f7d0c55"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f175e95a197f6a4059b50757a3dca33b32b61691bdbd22c29e8a8d21d3914cae"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1701fc54460ae2e5efc1dd6350eafd7a760f516df8dbe51d4a1c79d69472fbd4"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9051e3d2af8f55b42061603e29e744724cb5f65b128a491446cc029b3e2ea896"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7450dbd659fed6dd41d1a7d47ed767e893ba402af8ae664c157c255ec6067fde"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5a024fa96d541fd7edaa0e9d904601c6445e95a729a2900c5aec6555fe921ed6"}, + {file = "rpds_py-0.17.1-cp38-none-win32.whl", hash = "sha256:da1ead63368c04a9bded7904757dfcae01eba0e0f9bc41d3d7f57ebf1c04015a"}, + {file = "rpds_py-0.17.1-cp38-none-win_amd64.whl", hash = "sha256:841320e1841bb53fada91c9725e766bb25009cfd4144e92298db296fb6c894fb"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f6c43b6f97209e370124baf2bf40bb1e8edc25311a158867eb1c3a5d449ebc7a"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7d63ec01fe7c76c2dbb7e972fece45acbb8836e72682bde138e7e039906e2c"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81038ff87a4e04c22e1d81f947c6ac46f122e0c80460b9006e6517c4d842a6ec"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:810685321f4a304b2b55577c915bece4c4a06dfe38f6e62d9cc1d6ca8ee86b99"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25f071737dae674ca8937a73d0f43f5a52e92c2d178330b4c0bb6ab05586ffa6"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa5bfb13f1e89151ade0eb812f7b0d7a4d643406caaad65ce1cbabe0a66d695f"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfe07308b311a8293a0d5ef4e61411c5c20f682db6b5e73de6c7c8824272c256"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a000133a90eea274a6f28adc3084643263b1e7c1a5a66eb0a0a7a36aa757ed74"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d0e8a6434a3fbf77d11448c9c25b2f25244226cfbec1a5159947cac5b8c5fa4"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efa767c220d94aa4ac3a6dd3aeb986e9f229eaf5bce92d8b1b3018d06bed3772"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dbc56680ecf585a384fbd93cd42bc82668b77cb525343170a2d86dafaed2a84b"}, + {file = "rpds_py-0.17.1-cp39-none-win32.whl", hash = "sha256:270987bc22e7e5a962b1094953ae901395e8c1e1e83ad016c5cfcfff75a15a3f"}, + {file = "rpds_py-0.17.1-cp39-none-win_amd64.whl", hash = "sha256:2a7b2f2f56a16a6d62e55354dd329d929560442bd92e87397b7a9586a32e3e76"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a3264e3e858de4fc601741498215835ff324ff2482fd4e4af61b46512dd7fc83"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f2f3b28b40fddcb6c1f1f6c88c6f3769cd933fa493ceb79da45968a21dccc920"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9584f8f52010295a4a417221861df9bea4c72d9632562b6e59b3c7b87a1522b7"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c64602e8be701c6cfe42064b71c84ce62ce66ddc6422c15463fd8127db3d8066"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060f412230d5f19fc8c8b75f315931b408d8ebf56aec33ef4168d1b9e54200b1"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9412abdf0ba70faa6e2ee6c0cc62a8defb772e78860cef419865917d86c7342"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9737bdaa0ad33d34c0efc718741abaafce62fadae72c8b251df9b0c823c63b22"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9f0e4dc0f17dcea4ab9d13ac5c666b6b5337042b4d8f27e01b70fae41dd65c57"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1db228102ab9d1ff4c64148c96320d0be7044fa28bd865a9ce628ce98da5973d"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8bbd8e56f3ba25a7d0cf980fc42b34028848a53a0e36c9918550e0280b9d0b6"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:be22ae34d68544df293152b7e50895ba70d2a833ad9566932d750d3625918b82"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf046179d011e6114daf12a534d874958b039342b347348a78b7cdf0dd9d6041"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a746a6d49665058a5896000e8d9d2f1a6acba8a03b389c1e4c06e11e0b7f40d"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b8bf5b8db49d8fd40f54772a1dcf262e8be0ad2ab0206b5a2ec109c176c0a4"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7f4cb1f173385e8a39c29510dd11a78bf44e360fb75610594973f5ea141028b"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7fbd70cb8b54fe745301921b0816c08b6d917593429dfc437fd024b5ba713c58"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bdf1303df671179eaf2cb41e8515a07fc78d9d00f111eadbe3e14262f59c3d0"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad059a4bd14c45776600d223ec194e77db6c20255578bb5bcdd7c18fd169361"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3664d126d3388a887db44c2e293f87d500c4184ec43d5d14d2d2babdb4c64cad"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:698ea95a60c8b16b58be9d854c9f993c639f5c214cf9ba782eca53a8789d6b19"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:c3d2010656999b63e628a3c694f23020322b4178c450dc478558a2b6ef3cb9bb"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:938eab7323a736533f015e6069a7d53ef2dcc841e4e533b782c2bfb9fb12d84b"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e626b365293a2142a62b9a614e1f8e331b28f3ca57b9f05ebbf4cf2a0f0bdc5"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:380e0df2e9d5d5d339803cfc6d183a5442ad7ab3c63c2a0982e8c824566c5ccc"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b760a56e080a826c2e5af09002c1a037382ed21d03134eb6294812dda268c811"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5576ee2f3a309d2bb403ec292d5958ce03953b0e57a11d224c1f134feaf8c40f"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3c3461ebb4c4f1bbc70b15d20b565759f97a5aaf13af811fcefc892e9197ba"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:637b802f3f069a64436d432117a7e58fab414b4e27a7e81049817ae94de45d8d"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffee088ea9b593cc6160518ba9bd319b5475e5f3e578e4552d63818773c6f56a"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ac732390d529d8469b831949c78085b034bff67f584559340008d0f6041a049"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:93432e747fb07fa567ad9cc7aaadd6e29710e515aabf939dfbed8046041346c6"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7b7d9ca34542099b4e185b3c2a2b2eda2e318a7dbde0b0d83357a6d4421b5296"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:0387ce69ba06e43df54e43968090f3626e231e4bc9150e4c3246947567695f68"}, + {file = "rpds_py-0.17.1.tar.gz", hash = "sha256:0210b2668f24c078307260bf88bdac9d6f1093635df5123789bfee4d8d7fc8e7"}, ] [[package]] name = "ruff" -version = "0.1.11" +version = "0.2.2" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:a7f772696b4cdc0a3b2e527fc3c7ccc41cdcb98f5c80fdd4f2b8c50eb1458196"}, - {file = "ruff-0.1.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:934832f6ed9b34a7d5feea58972635c2039c7a3b434fe5ba2ce015064cb6e955"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea0d3e950e394c4b332bcdd112aa566010a9f9c95814844a7468325290aabfd9"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9bd4025b9c5b429a48280785a2b71d479798a69f5c2919e7d274c5f4b32c3607"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1ad00662305dcb1e987f5ec214d31f7d6a062cae3e74c1cbccef15afd96611d"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4b077ce83f47dd6bea1991af08b140e8b8339f0ba8cb9b7a484c30ebab18a23f"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c4a88efecec23c37b11076fe676e15c6cdb1271a38f2b415e381e87fe4517f18"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b25093dad3b055667730a9b491129c42d45e11cdb7043b702e97125bcec48a1"}, - {file = "ruff-0.1.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:231d8fb11b2cc7c0366a326a66dafc6ad449d7fcdbc268497ee47e1334f66f77"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:09c415716884950080921dd6237767e52e227e397e2008e2bed410117679975b"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0f58948c6d212a6b8d41cd59e349751018797ce1727f961c2fa755ad6208ba45"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:190a566c8f766c37074d99640cd9ca3da11d8deae2deae7c9505e68a4a30f740"}, - {file = "ruff-0.1.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6464289bd67b2344d2a5d9158d5eb81025258f169e69a46b741b396ffb0cda95"}, - {file = "ruff-0.1.11-py3-none-win32.whl", hash = "sha256:9b8f397902f92bc2e70fb6bebfa2139008dc72ae5177e66c383fa5426cb0bf2c"}, - {file = "ruff-0.1.11-py3-none-win_amd64.whl", hash = "sha256:eb85ee287b11f901037a6683b2374bb0ec82928c5cbc984f575d0437979c521a"}, - {file = "ruff-0.1.11-py3-none-win_arm64.whl", hash = "sha256:97ce4d752f964ba559c7023a86e5f8e97f026d511e48013987623915431c7ea9"}, - {file = "ruff-0.1.11.tar.gz", hash = "sha256:f9d4d88cb6eeb4dfe20f9f0519bd2eaba8119bde87c3d5065c541dbae2b5a2cb"}, + {file = "ruff-0.2.2-py3-none-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:0a9efb032855ffb3c21f6405751d5e147b0c6b631e3ca3f6b20f917572b97eb6"}, + {file = "ruff-0.2.2-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:d450b7fbff85913f866a5384d8912710936e2b96da74541c82c1b458472ddb39"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecd46e3106850a5c26aee114e562c329f9a1fbe9e4821b008c4404f64ff9ce73"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e22676a5b875bd72acd3d11d5fa9075d3a5f53b877fe7b4793e4673499318ba"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1695700d1e25a99d28f7a1636d85bafcc5030bba9d0578c0781ba1790dbcf51c"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:b0c232af3d0bd8f521806223723456ffebf8e323bd1e4e82b0befb20ba18388e"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f63d96494eeec2fc70d909393bcd76c69f35334cdbd9e20d089fb3f0640216ca"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6a61ea0ff048e06de273b2e45bd72629f470f5da8f71daf09fe481278b175001"}, + {file = "ruff-0.2.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5e1439c8f407e4f356470e54cdecdca1bd5439a0673792dbe34a2b0a551a2fe3"}, + {file = "ruff-0.2.2-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:940de32dc8853eba0f67f7198b3e79bc6ba95c2edbfdfac2144c8235114d6726"}, + {file = "ruff-0.2.2-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:0c126da55c38dd917621552ab430213bdb3273bb10ddb67bc4b761989210eb6e"}, + {file = "ruff-0.2.2-py3-none-musllinux_1_2_i686.whl", hash = "sha256:3b65494f7e4bed2e74110dac1f0d17dc8e1f42faaa784e7c58a98e335ec83d7e"}, + {file = "ruff-0.2.2-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1ec49be4fe6ddac0503833f3ed8930528e26d1e60ad35c2446da372d16651ce9"}, + {file = "ruff-0.2.2-py3-none-win32.whl", hash = "sha256:d920499b576f6c68295bc04e7b17b6544d9d05f196bb3aac4358792ef6f34325"}, + {file = "ruff-0.2.2-py3-none-win_amd64.whl", hash = "sha256:cc9a91ae137d687f43a44c900e5d95e9617cb37d4c989e462980ba27039d239d"}, + {file = "ruff-0.2.2-py3-none-win_arm64.whl", hash = "sha256:c9d15fc41e6054bfc7200478720570078f0b41c9ae4f010bcc16bd6f4d1aacdd"}, + {file = "ruff-0.2.2.tar.gz", hash = "sha256:e62ed7f36b3068a30ba39193a14274cd706bc486fad521276458022f7bccb31d"}, ] [[package]] @@ -3053,18 +3221,18 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "68.2.2" +version = "69.1.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-68.2.2-py3-none-any.whl", hash = "sha256:b454a35605876da60632df1a60f736524eb73cc47bbc9f3f1ef1b644de74fd2a"}, - {file = "setuptools-68.2.2.tar.gz", hash = "sha256:4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87"}, + {file = "setuptools-69.1.0-py3-none-any.whl", hash = "sha256:c054629b81b946d63a9c6e732bc8b2513a7c3ea645f11d0139a2191d735c60c6"}, + {file = "setuptools-69.1.0.tar.gz", hash = "sha256:850894c4195f09c4ed30dba56213bf7c3f21d86ed6bdaafb5df5972593bfc401"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] +docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (<7.2.5)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier"] +testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pytest (>=6)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-home (>=0.5)", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-ruff (>=0.2.1)", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] testing-integration = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "packaging (>=23.1)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] [[package]] @@ -3146,6 +3314,41 @@ docs = ["sphinxcontrib-websupport"] lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-bugbear", "flake8-comprehensions", "flake8-simplify", "isort", "mypy (>=0.981)", "sphinx-lint", "types-requests", "types-typed-ast"] test = ["cython", "html5lib", "pytest (>=4.6)", "typed_ast"] +[[package]] +name = "sphinx" +version = "7.1.2" +description = "Python documentation generator" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinx-7.1.2-py3-none-any.whl", hash = "sha256:d170a81825b2fcacb6dfd5a0d7f578a053e45d3f2b153fecc948c37344eb4cbe"}, + {file = "sphinx-7.1.2.tar.gz", hash = "sha256:780f4d32f1d7d1126576e0e5ecc19dc32ab76cd24e950228dcf7b1f6d3d9e22f"}, +] + +[package.dependencies] +alabaster = ">=0.7,<0.8" +babel = ">=2.9" +colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} +docutils = ">=0.18.1,<0.21" +imagesize = ">=1.3" +importlib-metadata = {version = ">=4.8", markers = "python_version < \"3.10\""} +Jinja2 = ">=3.0" +packaging = ">=21.0" +Pygments = ">=2.13" +requests = ">=2.25.0" +snowballstemmer = ">=2.0" +sphinxcontrib-applehelp = "*" +sphinxcontrib-devhelp = "*" +sphinxcontrib-htmlhelp = ">=2.0.0" +sphinxcontrib-jsmath = "*" +sphinxcontrib-qthelp = "*" +sphinxcontrib-serializinghtml = ">=1.1.5" + +[package.extras] +docs = ["sphinxcontrib-websupport"] +lint = ["docutils-stubs", "flake8 (>=3.5.0)", "flake8-simplify", "isort", "mypy (>=0.990)", "ruff", "sphinx-lint", "types-requests"] +test = ["cython", "filelock", "html5lib", "pytest (>=4.6)"] + [[package]] name = "sphinx-autoapi" version = "2.1.1" @@ -3169,20 +3372,44 @@ docs = ["furo", "sphinx", "sphinx-design"] dotnet = ["sphinxcontrib-dotnetdomain"] go = ["sphinxcontrib-golangdomain"] +[[package]] +name = "sphinx-autoapi" +version = "3.0.0" +description = "Sphinx API documentation generator" +optional = false +python-versions = ">=3.8" +files = [ + {file = "sphinx-autoapi-3.0.0.tar.gz", hash = "sha256:09ebd674a32b44467222b0fb8a917b97c89523f20dbf05b52cb8a3f0e15714de"}, + {file = "sphinx_autoapi-3.0.0-py2.py3-none-any.whl", hash = "sha256:ea207793cba1feff7b2ded0e29364f2995a4d157303a98603cee0ce94cea2688"}, +] + +[package.dependencies] +anyascii = "*" +astroid = [ + {version = ">=2.7", markers = "python_version < \"3.12\""}, + {version = ">=3.0.0a1", markers = "python_version >= \"3.12\""}, +] +Jinja2 = "*" +PyYAML = "*" +sphinx = ">=6.1.0" + +[package.extras] +docs = ["furo", "sphinx", "sphinx-design"] + [[package]] name = "sphinx-rtd-theme" -version = "1.3.0" +version = "2.0.0" description = "Read the Docs theme for Sphinx" optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" +python-versions = ">=3.6" files = [ - {file = "sphinx_rtd_theme-1.3.0-py2.py3-none-any.whl", hash = "sha256:46ddef89cc2416a81ecfbeaceab1881948c014b1b6e4450b815311a89fb977b0"}, - {file = "sphinx_rtd_theme-1.3.0.tar.gz", hash = "sha256:590b030c7abb9cf038ec053b95e5380b5c70d61591eb0b552063fbe7c41f0931"}, + {file = "sphinx_rtd_theme-2.0.0-py2.py3-none-any.whl", hash = "sha256:ec93d0856dc280cf3aee9a4c9807c60e027c7f7b461b77aeffed682e68f0e586"}, + {file = "sphinx_rtd_theme-2.0.0.tar.gz", hash = "sha256:bd5d7b80622406762073a04ef8fadc5f9151261563d47027de09910ce03afe6b"}, ] [package.dependencies] -docutils = "<0.19" -sphinx = ">=1.6,<8" +docutils = "<0.21" +sphinx = ">=5,<8" sphinxcontrib-jquery = ">=4,<5" [package.extras] @@ -3293,70 +3520,70 @@ test = ["pytest"] [[package]] name = "sqlalchemy" -version = "2.0.23" +version = "2.0.26" description = "Database Abstraction Library" optional = false python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:638c2c0b6b4661a4fd264f6fb804eccd392745c5887f9317feb64bb7cb03b3ea"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3b5036aa326dc2df50cba3c958e29b291a80f604b1afa4c8ce73e78e1c9f01d"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:787af80107fb691934a01889ca8f82a44adedbf5ef3d6ad7d0f0b9ac557e0c34"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c14eba45983d2f48f7546bb32b47937ee2cafae353646295f0e99f35b14286ab"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0666031df46b9badba9bed00092a1ffa3aa063a5e68fa244acd9f08070e936d3"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:89a01238fcb9a8af118eaad3ffcc5dedaacbd429dc6fdc43fe430d3a941ff965"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-win32.whl", hash = "sha256:cabafc7837b6cec61c0e1e5c6d14ef250b675fa9c3060ed8a7e38653bd732ff8"}, - {file = "SQLAlchemy-2.0.23-cp310-cp310-win_amd64.whl", hash = "sha256:87a3d6b53c39cd173990de2f5f4b83431d534a74f0e2f88bd16eabb5667e65c6"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d5578e6863eeb998980c212a39106ea139bdc0b3f73291b96e27c929c90cd8e1"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62d9e964870ea5ade4bc870ac4004c456efe75fb50404c03c5fd61f8bc669a72"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c80c38bd2ea35b97cbf7c21aeb129dcbebbf344ee01a7141016ab7b851464f8e"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75eefe09e98043cff2fb8af9796e20747ae870c903dc61d41b0c2e55128f958d"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd45a5b6c68357578263d74daab6ff9439517f87da63442d244f9f23df56138d"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a86cb7063e2c9fb8e774f77fbf8475516d270a3e989da55fa05d08089d77f8c4"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-win32.whl", hash = "sha256:b41f5d65b54cdf4934ecede2f41b9c60c9f785620416e8e6c48349ab18643855"}, - {file = "SQLAlchemy-2.0.23-cp311-cp311-win_amd64.whl", hash = "sha256:9ca922f305d67605668e93991aaf2c12239c78207bca3b891cd51a4515c72e22"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0f7fb0c7527c41fa6fcae2be537ac137f636a41b4c5a4c58914541e2f436b45"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7c424983ab447dab126c39d3ce3be5bee95700783204a72549c3dceffe0fc8f4"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f508ba8f89e0a5ecdfd3761f82dda2a3d7b678a626967608f4273e0dba8f07ac"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6463aa765cf02b9247e38b35853923edbf2f6fd1963df88706bc1d02410a5577"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e599a51acf3cc4d31d1a0cf248d8f8d863b6386d2b6782c5074427ebb7803bda"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd54601ef9cc455a0c61e5245f690c8a3ad67ddb03d3b91c361d076def0b4c60"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-win32.whl", hash = "sha256:42d0b0290a8fb0165ea2c2781ae66e95cca6e27a2fbe1016ff8db3112ac1e846"}, - {file = "SQLAlchemy-2.0.23-cp312-cp312-win_amd64.whl", hash = "sha256:227135ef1e48165f37590b8bfc44ed7ff4c074bf04dc8d6f8e7f1c14a94aa6ca"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:14aebfe28b99f24f8a4c1346c48bc3d63705b1f919a24c27471136d2f219f02d"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e983fa42164577d073778d06d2cc5d020322425a509a08119bdcee70ad856bf"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e0dc9031baa46ad0dd5a269cb7a92a73284d1309228be1d5935dac8fb3cae24"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:5f94aeb99f43729960638e7468d4688f6efccb837a858b34574e01143cf11f89"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:63bfc3acc970776036f6d1d0e65faa7473be9f3135d37a463c5eba5efcdb24c8"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-win32.whl", hash = "sha256:f48ed89dd11c3c586f45e9eec1e437b355b3b6f6884ea4a4c3111a3358fd0c18"}, - {file = "SQLAlchemy-2.0.23-cp37-cp37m-win_amd64.whl", hash = "sha256:1e018aba8363adb0599e745af245306cb8c46b9ad0a6fc0a86745b6ff7d940fc"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:64ac935a90bc479fee77f9463f298943b0e60005fe5de2aa654d9cdef46c54df"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c4722f3bc3c1c2fcc3702dbe0016ba31148dd6efcd2a2fd33c1b4897c6a19693"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4af79c06825e2836de21439cb2a6ce22b2ca129bad74f359bddd173f39582bf5"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:683ef58ca8eea4747737a1c35c11372ffeb84578d3aab8f3e10b1d13d66f2bc4"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:d4041ad05b35f1f4da481f6b811b4af2f29e83af253bf37c3c4582b2c68934ab"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:aeb397de65a0a62f14c257f36a726945a7f7bb60253462e8602d9b97b5cbe204"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-win32.whl", hash = "sha256:42ede90148b73fe4ab4a089f3126b2cfae8cfefc955c8174d697bb46210c8306"}, - {file = "SQLAlchemy-2.0.23-cp38-cp38-win_amd64.whl", hash = "sha256:964971b52daab357d2c0875825e36584d58f536e920f2968df8d581054eada4b"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:616fe7bcff0a05098f64b4478b78ec2dfa03225c23734d83d6c169eb41a93e55"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e680527245895aba86afbd5bef6c316831c02aa988d1aad83c47ffe92655e74"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9585b646ffb048c0250acc7dad92536591ffe35dba624bb8fd9b471e25212a35"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4895a63e2c271ffc7a81ea424b94060f7b3b03b4ea0cd58ab5bb676ed02f4221"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cc1d21576f958c42d9aec68eba5c1a7d715e5fc07825a629015fe8e3b0657fb0"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:967c0b71156f793e6662dd839da54f884631755275ed71f1539c95bbada9aaab"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-win32.whl", hash = "sha256:0a8c6aa506893e25a04233bc721c6b6cf844bafd7250535abb56cb6cc1368884"}, - {file = "SQLAlchemy-2.0.23-cp39-cp39-win_amd64.whl", hash = "sha256:f3420d00d2cb42432c1d0e44540ae83185ccbbc67a6054dcc8ab5387add6620b"}, - {file = "SQLAlchemy-2.0.23-py3-none-any.whl", hash = "sha256:31952bbc527d633b9479f5f81e8b9dfada00b91d6baba021a869095f1a97006d"}, - {file = "SQLAlchemy-2.0.23.tar.gz", hash = "sha256:c1bda93cbbe4aa2aa0aa8655c5aeda505cd219ff3e8da91d1d329e143e4aff69"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:56524d767713054f8758217b3a811f6a736e0ae34e7afc33b594926589aa9609"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c2d8a2c68b279617f13088bdc0fc0e9b5126f8017f8882ff08ee41909fab0713"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84d377645913d47f0dc802b415bcfe7fb085d86646a12278d77c12eb75b5e1b4"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc0628d2026926404dabc903dc5628f7d936a792aa3a1fc54a20182df8e2172"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:872f2907ade52601a1e729e85d16913c24dc1f6e7c57d11739f18dcfafde29db"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba46fa770578b3cf3b5b77dadb7e94fda7692dd4d1989268ef3dcb65f31c40a3"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-win32.whl", hash = "sha256:651d10fdba7984bf100222d6e4acc496fec46493262b6170be1981ef860c6184"}, + {file = "SQLAlchemy-2.0.26-cp310-cp310-win_amd64.whl", hash = "sha256:8f95ede696ab0d7328862d69f29b643d35b668c4f3619cb2f0281adc16e64c1b"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fab1bb909bd24accf2024a69edd4f885ded182c079c4dbcd515b4842f86b07cb"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7ee16afd083bb6bb5ab3962ac7f0eafd1d196c6399388af35fef3d1c6d6d9bb"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:379af901ceb524cbee5e15c1713bf9fd71dc28053286b7917525d01b938b9628"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94a78f56ea13f4d6e9efcd2a2d08cc13531918e0516563f6303c4ad98c81e21d"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a481cc2eec83776ff7b6bb12c8e85d0378af0e2ec4584ac3309365a2a380c64b"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8cbeb0e49b605cd75f825fb9239a554803ef2bef1a7b2a8b428926ed518b6b63"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-win32.whl", hash = "sha256:e70cce65239089390c193a7b0d171ce89d2e3dedf797f8010031b2aa2b1e9c80"}, + {file = "SQLAlchemy-2.0.26-cp311-cp311-win_amd64.whl", hash = "sha256:750d1ef39d50520527c45c309c3cb10bbfa6131f93081b4e93858abb5ece2501"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b39503c3a56e1b2340a7d09e185ddb60b253ad0210877a9958ac64208eb23674"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a870e6121a052f826f7ae1e4f0b54ca4c0ccd613278218ca036fa5e0f3be7df"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5901eed6d0e23ca4b04d66a561799d4f0fe55fcbfc7ca203bb8c3277f442085b"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25fe55aab9b20ae4a9523bb269074202be9d92a145fcc0b752fff409754b5f6"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5310958d08b4bafc311052be42a3b7d61a93a2bf126ddde07b85f712e7e4ac7b"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fd133afb7e6c59fad365ffa97fb06b1001f88e29e1de351bef3d2b1224e2f132"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-win32.whl", hash = "sha256:dc32ecf643c4904dd413e6a95a3f2c8a89ccd6f15083e586dcf8f42eb4e317ae"}, + {file = "SQLAlchemy-2.0.26-cp312-cp312-win_amd64.whl", hash = "sha256:6e25f029e8ad6d893538b5abe8537e7f09e21d8e96caee46a7e2199f3ddd77b0"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:99a9a8204b8937aa72421e31c493bfc12fd063a8310a0522e5a9b98e6323977c"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:691d68a4fca30c9a676623d094b600797699530e175b6524a9f57e3273f5fa8d"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:79a74a4ca4310c812f97bf0f13ce00ed73c890954b5a20b32484a9ab60e567e9"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f2efbbeb18c0e1c53b670a46a009fbde7b58e05b397a808c7e598532b17c6f4b"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:3fc557f5402206c18ec3d288422f8e5fa764306d49f4efbc6090a7407bf54938"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-win32.whl", hash = "sha256:a9846ffee3283cff4ec476e7ee289314290fcb2384aab5045c6f481c5c4d011f"}, + {file = "SQLAlchemy-2.0.26-cp37-cp37m-win_amd64.whl", hash = "sha256:ed4667d3d5d6e203a271d684d5b213ebcd618f7a8bc605752a8865eb9e67a79a"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:79e629df3f69f849a1482a2d063596b23e32036b83547397e68725e6e0d0a9ab"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4b4d848b095173e0a9e377127b814490499e55f5168f617ae2c07653c326b9d1"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f06afe8e96d7f221cc0b59334dc400151be22f432785e895e37030579d253c3"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f75ac12d302205e60f77f46bd162d40dc37438f1f8db160d2491a78b19a0bd61"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ec3717c1efee8ad4b97f6211978351de3abe1e4b5f73e32f775c7becec021c5c"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06ed4d6bb2365222fb9b0a05478a2d23ad8c1dd874047a9ae1ca1d45f18a255e"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-win32.whl", hash = "sha256:caa79a6caeb4a3cc4ddb9aba9205c383f5d3bcb60d814e87e74570514754e073"}, + {file = "SQLAlchemy-2.0.26-cp38-cp38-win_amd64.whl", hash = "sha256:996b41c38e34a980e9f810d6e2709a3196e29ee34e46e3c16f96c63da10a9da1"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4f57af0866f6629eae2d24d022ba1a4c1bac9b16d45027bbfcda4c9d5b0d8f26"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e1a532bc33163fb19c4759a36504a23e63032bc8d47cee1c66b0b70a04a0957b"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02a4f954ccb17bd8cff56662efc806c5301508233dc38d0253a5fdb2f33ca3ba"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a678f728fb075e74aaa7fdc27f8af8f03f82d02e7419362cc8c2a605c16a4114"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8b39462c9588d4780f041e1b84d2ba038ac01c441c961bbee622dd8f53dec69f"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:98f4d0d2bda2921af5b0c2ca99207cdab00f2922da46a6336c62c8d6814303a7"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-win32.whl", hash = "sha256:6d68e6b507a3dd20c0add86ac0a0ca061d43c9a0162a122baa5fe952f14240f1"}, + {file = "SQLAlchemy-2.0.26-cp39-cp39-win_amd64.whl", hash = "sha256:fb97a9b93b953084692a52a7877957b7a88dfcedc0c5652124f5aebf5999f7fe"}, + {file = "SQLAlchemy-2.0.26-py3-none-any.whl", hash = "sha256:1128b2cdf49107659f6d1f452695f43a20694cc9305a86e97b70793a1c74eeb4"}, + {file = "SQLAlchemy-2.0.26.tar.gz", hash = "sha256:e1bcd8fcb30305e27355d553608c2c229d3e589fb7ff406da7d7e5d50fa14d0d"}, ] [package.dependencies] greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} -typing-extensions = ">=4.2.0" +typing-extensions = ">=4.6.0" [package.extras] aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] @@ -3366,7 +3593,7 @@ mssql-pyodbc = ["pyodbc"] mypy = ["mypy (>=0.910)"] mysql = ["mysqlclient (>=1.4.0)"] mysql-connector = ["mysql-connector-python"] -oracle = ["cx-oracle (>=8)"] +oracle = ["cx_oracle (>=8)"] oracle-oracledb = ["oracledb (>=1.0.1)"] postgresql = ["psycopg2 (>=2.7)"] postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] @@ -3376,7 +3603,7 @@ postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] pymysql = ["pymysql"] -sqlcipher = ["sqlcipher3-binary"] +sqlcipher = ["sqlcipher3_binary"] [[package]] name = "stack-data" @@ -3474,108 +3701,108 @@ files = [ [[package]] name = "tornado" -version = "6.3.3" +version = "6.4" description = "Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed." optional = false python-versions = ">= 3.8" files = [ - {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:502fba735c84450974fec147340016ad928d29f1e91f49be168c0a4c18181e1d"}, - {file = "tornado-6.3.3-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:805d507b1f588320c26f7f097108eb4023bbaa984d63176d1652e184ba24270a"}, - {file = "tornado-6.3.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bd19ca6c16882e4d37368e0152f99c099bad93e0950ce55e71daed74045908f"}, - {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ac51f42808cca9b3613f51ffe2a965c8525cb1b00b7b2d56828b8045354f76a"}, - {file = "tornado-6.3.3-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71a8db65160a3c55d61839b7302a9a400074c9c753040455494e2af74e2501f2"}, - {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:ceb917a50cd35882b57600709dd5421a418c29ddc852da8bcdab1f0db33406b0"}, - {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:7d01abc57ea0dbb51ddfed477dfe22719d376119844e33c661d873bf9c0e4a16"}, - {file = "tornado-6.3.3-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:9dc4444c0defcd3929d5c1eb5706cbe1b116e762ff3e0deca8b715d14bf6ec17"}, - {file = "tornado-6.3.3-cp38-abi3-win32.whl", hash = "sha256:65ceca9500383fbdf33a98c0087cb975b2ef3bfb874cb35b8de8740cf7f41bd3"}, - {file = "tornado-6.3.3-cp38-abi3-win_amd64.whl", hash = "sha256:22d3c2fa10b5793da13c807e6fc38ff49a4f6e1e3868b0a6f4164768bb8e20f5"}, - {file = "tornado-6.3.3.tar.gz", hash = "sha256:e7d8db41c0181c80d76c982aacc442c0783a2c54d6400fe028954201a2e032fe"}, + {file = "tornado-6.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:02ccefc7d8211e5a7f9e8bc3f9e5b0ad6262ba2fbb683a6443ecc804e5224ce0"}, + {file = "tornado-6.4-cp38-abi3-macosx_10_9_x86_64.whl", hash = "sha256:27787de946a9cffd63ce5814c33f734c627a87072ec7eed71f7fc4417bb16263"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f7894c581ecdcf91666a0912f18ce5e757213999e183ebfc2c3fdbf4d5bd764e"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43bc2e5370a6a8e413e1e1cd0c91bedc5bd62a74a532371042a18ef19e10579"}, + {file = "tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0251554cdd50b4b44362f73ad5ba7126fc5b2c2895cc62b14a1c2d7ea32f212"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fd03192e287fbd0899dd8f81c6fb9cbbc69194d2074b38f384cb6fa72b80e9c2"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_i686.whl", hash = "sha256:88b84956273fbd73420e6d4b8d5ccbe913c65d31351b4c004ae362eba06e1f78"}, + {file = "tornado-6.4-cp38-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:71ddfc23a0e03ef2df1c1397d859868d158c8276a0603b96cf86892bff58149f"}, + {file = "tornado-6.4-cp38-abi3-win32.whl", hash = "sha256:6f8a6c77900f5ae93d8b4ae1196472d0ccc2775cc1dfdc9e7727889145c45052"}, + {file = "tornado-6.4-cp38-abi3-win_amd64.whl", hash = "sha256:10aeaa8006333433da48dec9fe417877f8bcc21f48dda8d661ae79da357b2a63"}, + {file = "tornado-6.4.tar.gz", hash = "sha256:72291fa6e6bc84e626589f1c29d90a5a6d593ef5ae68052ee2ef000dfd273dee"}, ] [[package]] name = "tox" -version = "4.11.3" +version = "4.12.1" description = "tox is a generic virtualenv management and test command line tool" optional = false python-versions = ">=3.8" files = [ - {file = "tox-4.11.3-py3-none-any.whl", hash = "sha256:599af5e5bb0cad0148ac1558a0b66f8fff219ef88363483b8d92a81e4246f28f"}, - {file = "tox-4.11.3.tar.gz", hash = "sha256:5039f68276461fae6a9452a3b2c7295798f00a0e92edcd9a3b78ba1a73577951"}, + {file = "tox-4.12.1-py3-none-any.whl", hash = "sha256:c07ea797880a44f3c4f200ad88ad92b446b83079d4ccef89585df64cc574375c"}, + {file = "tox-4.12.1.tar.gz", hash = "sha256:61aafbeff1bd8a5af84e54ef6e8402f53c6a6066d0782336171ddfbf5362122e"}, ] [package.dependencies] -cachetools = ">=5.3.1" +cachetools = ">=5.3.2" chardet = ">=5.2" colorama = ">=0.4.6" -filelock = ">=3.12.3" -packaging = ">=23.1" -platformdirs = ">=3.10" +filelock = ">=3.13.1" +packaging = ">=23.2" +platformdirs = ">=4.1" pluggy = ">=1.3" pyproject-api = ">=1.6.1" tomli = {version = ">=2.0.1", markers = "python_version < \"3.11\""} -virtualenv = ">=20.24.3" +virtualenv = ">=20.25" [package.extras] -docs = ["furo (>=2023.8.19)", "sphinx (>=7.2.4)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.24)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -testing = ["build[virtualenv] (>=0.10)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.1.1)", "devpi-process (>=1)", "diff-cover (>=7.7)", "distlib (>=0.3.7)", "flaky (>=3.7)", "hatch-vcs (>=0.3)", "hatchling (>=1.18)", "psutil (>=5.9.5)", "pytest (>=7.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.11.1)", "pytest-xdist (>=3.3.1)", "re-assert (>=1.1)", "time-machine (>=2.12)", "wheel (>=0.41.2)"] +docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-argparse-cli (>=1.11.1)", "sphinx-autodoc-typehints (>=1.25.2)", "sphinx-copybutton (>=0.5.2)", "sphinx-inline-tabs (>=2023.4.21)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.11)"] +testing = ["build[virtualenv] (>=1.0.3)", "covdefaults (>=2.3)", "detect-test-pollution (>=1.2)", "devpi-process (>=1)", "diff-cover (>=8.0.2)", "distlib (>=0.3.8)", "flaky (>=3.7)", "hatch-vcs (>=0.4)", "hatchling (>=1.21)", "psutil (>=5.9.7)", "pytest (>=7.4.4)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-xdist (>=3.5)", "re-assert (>=1.1)", "time-machine (>=2.13)", "wheel (>=0.42)"] [[package]] name = "traitlets" -version = "5.13.0" +version = "5.14.1" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.13.0-py3-none-any.whl", hash = "sha256:baf991e61542da48fe8aef8b779a9ea0aa38d8a54166ee250d5af5ecf4486619"}, - {file = "traitlets-5.13.0.tar.gz", hash = "sha256:9b232b9430c8f57288c1024b34a8f0251ddcc47268927367a0dd3eeaca40deb5"}, + {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, + {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, ] [package.extras] docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] -test = ["argcomplete (>=3.0.3)", "mypy (>=1.6.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] +test = ["argcomplete (>=3.0.3)", "mypy (>=1.7.0)", "pre-commit", "pytest (>=7.0,<7.5)", "pytest-mock", "pytest-mypy-testing"] [[package]] name = "types-pillow" -version = "10.1.0.2" +version = "10.2.0.20240206" description = "Typing stubs for Pillow" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "types-Pillow-10.1.0.2.tar.gz", hash = "sha256:525c1c5ee67b0ac1721c40d2bc618226ef2123c347e527e14e05b920721a13b9"}, - {file = "types_Pillow-10.1.0.2-py3-none-any.whl", hash = "sha256:131078ffa547bf9a201d39ffcdc65633e108148085f4f1b07d4647fcfec6e923"}, + {file = "types-Pillow-10.2.0.20240206.tar.gz", hash = "sha256:f0de5107ff8362ffdbbd53ec896202ac905e6ab22ae784b46bcdad160ea143b9"}, + {file = "types_Pillow-10.2.0.20240206-py3-none-any.whl", hash = "sha256:abc339ae28af5916146a7729261480d68ac902cd4ff57e0bdd402eee7962644d"}, ] [[package]] name = "types-protobuf" -version = "4.24.0.4" +version = "4.24.0.20240129" description = "Typing stubs for protobuf" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "types-protobuf-4.24.0.4.tar.gz", hash = "sha256:57ab42cb171dfdba2c74bb5b50c250478538cc3c5ed95b8b368929ad0c9f90a5"}, - {file = "types_protobuf-4.24.0.4-py3-none-any.whl", hash = "sha256:131ab7d0cbc9e444bc89c994141327dcce7bcaeded72b1acb72a94827eb9c7af"}, + {file = "types-protobuf-4.24.0.20240129.tar.gz", hash = "sha256:8a83dd3b9b76a33e08d8636c5daa212ace1396418ed91837635fcd564a624891"}, + {file = "types_protobuf-4.24.0.20240129-py3-none-any.whl", hash = "sha256:23be68cc29f3f5213b5c5878ac0151706182874040e220cfb11336f9ee642ead"}, ] [[package]] name = "types-python-dateutil" -version = "2.8.19.14" +version = "2.8.19.20240106" description = "Typing stubs for python-dateutil" optional = false -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.8.19.14.tar.gz", hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b"}, - {file = "types_python_dateutil-2.8.19.14-py3-none-any.whl", hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9"}, + {file = "types-python-dateutil-2.8.19.20240106.tar.gz", hash = "sha256:1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f"}, + {file = "types_python_dateutil-2.8.19.20240106-py3-none-any.whl", hash = "sha256:efbbdc54590d0f16152fa103c9879c7d4a00e82078f6e2cf01769042165acaa2"}, ] [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] [[package]] @@ -3594,35 +3821,36 @@ dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake [[package]] name = "urllib3" -version = "2.1.0" +version = "2.2.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.1.0-py3-none-any.whl", hash = "sha256:55901e917a5896a349ff771be919f8bd99aff50b79fe58fec595eb37bbc56bb3"}, - {file = "urllib3-2.1.0.tar.gz", hash = "sha256:df7aa8afb0148fa78488e7899b2c59b5f4ffcfa82e6c54ccb9dd37c1d7b52d54"}, + {file = "urllib3-2.2.0-py3-none-any.whl", hash = "sha256:ce3711610ddce217e6d113a2732fafad960a03fd0318c91faa79481e35c11224"}, + {file = "urllib3-2.2.0.tar.gz", hash = "sha256:051d961ad0c62a94e50ecf1af379c3aba230c66c710493493560c0c223c49f20"}, ] [package.extras] brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.24.6" +version = "20.25.0" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.24.6-py3-none-any.whl", hash = "sha256:520d056652454c5098a00c0f073611ccbea4c79089331f60bf9d7ba247bb7381"}, - {file = "virtualenv-20.24.6.tar.gz", hash = "sha256:02ece4f56fbf939dbbc33c0715159951d6bf14aaf5457b092e4548e1382455af"}, + {file = "virtualenv-20.25.0-py3-none-any.whl", hash = "sha256:4238949c5ffe6876362d9c0180fc6c3a824a7b12b80604eeb8085f2ed7460de3"}, + {file = "virtualenv-20.25.0.tar.gz", hash = "sha256:bf51c0d9c7dd63ea8e44086fa1e4fb1093a31e963b86959257378aef020e1f1b"}, ] [package.dependencies] distlib = ">=0.3.7,<1" filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<4" +platformdirs = ">=3.9.1,<5" [package.extras] docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] @@ -3630,38 +3858,40 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "watchdog" -version = "3.0.0" +version = "4.0.0" description = "Filesystem events monitoring" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, - {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, - {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, - {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, - {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, - {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, - {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, - {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, - {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:39cb34b1f1afbf23e9562501673e7146777efe95da24fab5707b88f7fb11649b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c522392acc5e962bcac3b22b9592493ffd06d1fc5d755954e6be9f4990de932b"}, + {file = "watchdog-4.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6c47bdd680009b11c9ac382163e05ca43baf4127954c5f6d0250e7d772d2b80c"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8350d4055505412a426b6ad8c521bc7d367d1637a762c70fdd93a3a0d595990b"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c17d98799f32e3f55f181f19dd2021d762eb38fdd381b4a748b9f5a36738e935"}, + {file = "watchdog-4.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4986db5e8880b0e6b7cd52ba36255d4793bf5cdc95bd6264806c233173b1ec0b"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11e12fafb13372e18ca1bbf12d50f593e7280646687463dd47730fd4f4d5d257"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5369136a6474678e02426bd984466343924d1df8e2fd94a9b443cb7e3aa20d19"}, + {file = "watchdog-4.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:76ad8484379695f3fe46228962017a7e1337e9acadafed67eb20aabb175df98b"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:45cc09cc4c3b43fb10b59ef4d07318d9a3ecdbff03abd2e36e77b6dd9f9a5c85"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eed82cdf79cd7f0232e2fdc1ad05b06a5e102a43e331f7d041e5f0e0a34a51c4"}, + {file = "watchdog-4.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba30a896166f0fee83183cec913298151b73164160d965af2e93a20bbd2ab605"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d18d7f18a47de6863cd480734613502904611730f8def45fc52a5d97503e5101"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2895bf0518361a9728773083908801a376743bcc37dfa252b801af8fd281b1ca"}, + {file = "watchdog-4.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87e9df830022488e235dd601478c15ad73a0389628588ba0b028cb74eb72fed8"}, + {file = "watchdog-4.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6e949a8a94186bced05b6508faa61b7adacc911115664ccb1923b9ad1f1ccf7b"}, + {file = "watchdog-4.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:6a4db54edea37d1058b08947c789a2354ee02972ed5d1e0dca9b0b820f4c7f92"}, + {file = "watchdog-4.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d31481ccf4694a8416b681544c23bd271f5a123162ab603c7d7d2dd7dd901a07"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:8fec441f5adcf81dd240a5fe78e3d83767999771630b5ddfc5867827a34fa3d3"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:6a9c71a0b02985b4b0b6d14b875a6c86ddea2fdbebd0c9a720a806a8bbffc69f"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:557ba04c816d23ce98a06e70af6abaa0485f6d94994ec78a42b05d1c03dcbd50"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:d0f9bd1fd919134d459d8abf954f63886745f4660ef66480b9d753a7c9d40927"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:f9b2fdca47dc855516b2d66eef3c39f2672cbf7e7a42e7e67ad2cbfcd6ba107d"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:73c7a935e62033bd5e8f0da33a4dcb763da2361921a69a5a95aaf6c93aa03a87"}, + {file = "watchdog-4.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6a80d5cae8c265842c7419c560b9961561556c4361b297b4c431903f8c33b269"}, + {file = "watchdog-4.0.0-py3-none-win32.whl", hash = "sha256:8f9a542c979df62098ae9c58b19e03ad3df1c9d8c6895d96c0d51da17b243b1c"}, + {file = "watchdog-4.0.0-py3-none-win_amd64.whl", hash = "sha256:f970663fa4f7e80401a7b0cbeec00fa801bf0287d93d48368fc3e6fa32716245"}, + {file = "watchdog-4.0.0-py3-none-win_ia64.whl", hash = "sha256:9a03e16e55465177d416699331b0f3564138f1807ecc5f2de9d55d8f188d08c7"}, + {file = "watchdog-4.0.0.tar.gz", hash = "sha256:e3e7065cbdabe6183ab82199d7a4f6b3ba0a438c5a512a68559846ccb76a78ec"}, ] [package.extras] @@ -3669,13 +3899,13 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "wcwidth" -version = "0.2.10" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.10-py2.py3-none-any.whl", hash = "sha256:aec5179002dd0f0d40c456026e74a729661c9d468e1ed64405e3a6c2176ca36f"}, - {file = "wcwidth-0.2.10.tar.gz", hash = "sha256:390c7454101092a6a5e43baad8f83de615463af459201709556b6e4b1c861f97"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] @@ -3706,13 +3936,13 @@ files = [ [[package]] name = "websocket-client" -version = "1.6.4" +version = "1.7.0" description = "WebSocket client for Python with low level API options" optional = false python-versions = ">=3.8" files = [ - {file = "websocket-client-1.6.4.tar.gz", hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"}, - {file = "websocket_client-1.6.4-py3-none-any.whl", hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24"}, + {file = "websocket-client-1.7.0.tar.gz", hash = "sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6"}, + {file = "websocket_client-1.7.0-py3-none-any.whl", hash = "sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588"}, ] [package.extras] @@ -3722,13 +3952,13 @@ test = ["websockets"] [[package]] name = "wheel" -version = "0.41.3" +version = "0.42.0" description = "A built-package format for Python" optional = false python-versions = ">=3.7" files = [ - {file = "wheel-0.41.3-py3-none-any.whl", hash = "sha256:488609bc63a29322326e05560731bf7bfea8e48ad646e1f5e40d366607de0942"}, - {file = "wheel-0.41.3.tar.gz", hash = "sha256:4d4987ce51a49370ea65c0bfd2234e8ce80a12780820d9dc462597a6e60d0841"}, + {file = "wheel-0.42.0-py3-none-any.whl", hash = "sha256:177f9c9b0d45c47873b619f5b650346d632cdc35fb5e4d25058e09c9e581433d"}, + {file = "wheel-0.42.0.tar.gz", hash = "sha256:c45be39f7882c9d34243236f2d63cbd58039e360f85d0913425fbd7ceea617a8"}, ] [package.extras] @@ -3736,92 +3966,13 @@ test = ["pytest (>=6.0.0)", "setuptools (>=65)"] [[package]] name = "widgetsnbextension" -version = "4.0.9" +version = "4.0.10" description = "Jupyter interactive widgets for Jupyter Notebook" optional = false python-versions = ">=3.7" files = [ - {file = "widgetsnbextension-4.0.9-py3-none-any.whl", hash = "sha256:91452ca8445beb805792f206e560c1769284267a30ceb1cec9f5bcc887d15175"}, - {file = "widgetsnbextension-4.0.9.tar.gz", hash = "sha256:3c1f5e46dc1166dfd40a42d685e6a51396fd34ff878742a3e47c6f0cc4a2a385"}, -] - -[[package]] -name = "wrapt" -version = "1.16.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.6" -files = [ - {file = "wrapt-1.16.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ffa565331890b90056c01db69c0fe634a776f8019c143a5ae265f9c6bc4bd6d4"}, - {file = "wrapt-1.16.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e4fdb9275308292e880dcbeb12546df7f3e0f96c6b41197e0cf37d2826359020"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb2dee3874a500de01c93d5c71415fcaef1d858370d405824783e7a8ef5db440"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a88e6010048489cda82b1326889ec075a8c856c2e6a256072b28eaee3ccf487"}, - {file = "wrapt-1.16.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac83a914ebaf589b69f7d0a1277602ff494e21f4c2f743313414378f8f50a4cf"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:73aa7d98215d39b8455f103de64391cb79dfcad601701a3aa0dddacf74911d72"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:807cc8543a477ab7422f1120a217054f958a66ef7314f76dd9e77d3f02cdccd0"}, - {file = "wrapt-1.16.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bf5703fdeb350e36885f2875d853ce13172ae281c56e509f4e6eca049bdfb136"}, - {file = "wrapt-1.16.0-cp310-cp310-win32.whl", hash = "sha256:f6b2d0c6703c988d334f297aa5df18c45e97b0af3679bb75059e0e0bd8b1069d"}, - {file = "wrapt-1.16.0-cp310-cp310-win_amd64.whl", hash = "sha256:decbfa2f618fa8ed81c95ee18a387ff973143c656ef800c9f24fb7e9c16054e2"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a5db485fe2de4403f13fafdc231b0dbae5eca4359232d2efc79025527375b09"}, - {file = "wrapt-1.16.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:75ea7d0ee2a15733684badb16de6794894ed9c55aa5e9903260922f0482e687d"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a452f9ca3e3267cd4d0fcf2edd0d035b1934ac2bd7e0e57ac91ad6b95c0c6389"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:43aa59eadec7890d9958748db829df269f0368521ba6dc68cc172d5d03ed8060"}, - {file = "wrapt-1.16.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72554a23c78a8e7aa02abbd699d129eead8b147a23c56e08d08dfc29cfdddca1"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d2efee35b4b0a347e0d99d28e884dfd82797852d62fcd7ebdeee26f3ceb72cf3"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:6dcfcffe73710be01d90cae08c3e548d90932d37b39ef83969ae135d36ef3956"}, - {file = "wrapt-1.16.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:eb6e651000a19c96f452c85132811d25e9264d836951022d6e81df2fff38337d"}, - {file = "wrapt-1.16.0-cp311-cp311-win32.whl", hash = "sha256:66027d667efe95cc4fa945af59f92c5a02c6f5bb6012bff9e60542c74c75c362"}, - {file = "wrapt-1.16.0-cp311-cp311-win_amd64.whl", hash = "sha256:aefbc4cb0a54f91af643660a0a150ce2c090d3652cf4052a5397fb2de549cd89"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5eb404d89131ec9b4f748fa5cfb5346802e5ee8836f57d516576e61f304f3b7b"}, - {file = "wrapt-1.16.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9090c9e676d5236a6948330e83cb89969f433b1943a558968f659ead07cb3b36"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94265b00870aa407bd0cbcfd536f17ecde43b94fb8d228560a1e9d3041462d73"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2058f813d4f2b5e3a9eb2eb3faf8f1d99b81c3e51aeda4b168406443e8ba809"}, - {file = "wrapt-1.16.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b5e1f498a8ca1858a1cdbffb023bfd954da4e3fa2c0cb5853d40014557248b"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:14d7dc606219cdd7405133c713f2c218d4252f2a469003f8c46bb92d5d095d81"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:49aac49dc4782cb04f58986e81ea0b4768e4ff197b57324dcbd7699c5dfb40b9"}, - {file = "wrapt-1.16.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:418abb18146475c310d7a6dc71143d6f7adec5b004ac9ce08dc7a34e2babdc5c"}, - {file = "wrapt-1.16.0-cp312-cp312-win32.whl", hash = "sha256:685f568fa5e627e93f3b52fda002c7ed2fa1800b50ce51f6ed1d572d8ab3e7fc"}, - {file = "wrapt-1.16.0-cp312-cp312-win_amd64.whl", hash = "sha256:dcdba5c86e368442528f7060039eda390cc4091bfd1dca41e8046af7c910dda8"}, - {file = "wrapt-1.16.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:d462f28826f4657968ae51d2181a074dfe03c200d6131690b7d65d55b0f360f8"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a33a747400b94b6d6b8a165e4480264a64a78c8a4c734b62136062e9a248dd39"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3646eefa23daeba62643a58aac816945cadc0afaf21800a1421eeba5f6cfb9c"}, - {file = "wrapt-1.16.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ebf019be5c09d400cf7b024aa52b1f3aeebeff51550d007e92c3c1c4afc2a40"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:0d2691979e93d06a95a26257adb7bfd0c93818e89b1406f5a28f36e0d8c1e1fc"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:1acd723ee2a8826f3d53910255643e33673e1d11db84ce5880675954183ec47e"}, - {file = "wrapt-1.16.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:bc57efac2da352a51cc4658878a68d2b1b67dbe9d33c36cb826ca449d80a8465"}, - {file = "wrapt-1.16.0-cp36-cp36m-win32.whl", hash = "sha256:da4813f751142436b075ed7aa012a8778aa43a99f7b36afe9b742d3ed8bdc95e"}, - {file = "wrapt-1.16.0-cp36-cp36m-win_amd64.whl", hash = "sha256:6f6eac2360f2d543cc875a0e5efd413b6cbd483cb3ad7ebf888884a6e0d2e966"}, - {file = "wrapt-1.16.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a0ea261ce52b5952bf669684a251a66df239ec6d441ccb59ec7afa882265d593"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7bd2d7ff69a2cac767fbf7a2b206add2e9a210e57947dd7ce03e25d03d2de292"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9159485323798c8dc530a224bd3ffcf76659319ccc7bbd52e01e73bd0241a0c5"}, - {file = "wrapt-1.16.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a86373cf37cd7764f2201b76496aba58a52e76dedfaa698ef9e9688bfd9e41cf"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:73870c364c11f03ed072dda68ff7aea6d2a3a5c3fe250d917a429c7432e15228"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b935ae30c6e7400022b50f8d359c03ed233d45b725cfdd299462f41ee5ffba6f"}, - {file = "wrapt-1.16.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:db98ad84a55eb09b3c32a96c576476777e87c520a34e2519d3e59c44710c002c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win32.whl", hash = "sha256:9153ed35fc5e4fa3b2fe97bddaa7cbec0ed22412b85bcdaf54aeba92ea37428c"}, - {file = "wrapt-1.16.0-cp37-cp37m-win_amd64.whl", hash = "sha256:66dfbaa7cfa3eb707bbfcd46dab2bc6207b005cbc9caa2199bcbc81d95071a00"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1dd50a2696ff89f57bd8847647a1c363b687d3d796dc30d4dd4a9d1689a706f0"}, - {file = "wrapt-1.16.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:44a2754372e32ab315734c6c73b24351d06e77ffff6ae27d2ecf14cf3d229202"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e9723528b9f787dc59168369e42ae1c3b0d3fadb2f1a71de14531d321ee05b0"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbed418ba5c3dce92619656802cc5355cb679e58d0d89b50f116e4a9d5a9603e"}, - {file = "wrapt-1.16.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:941988b89b4fd6b41c3f0bfb20e92bd23746579736b7343283297c4c8cbae68f"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a42cd0cfa8ffc1915aef79cb4284f6383d8a3e9dcca70c445dcfdd639d51267"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:1ca9b6085e4f866bd584fb135a041bfc32cab916e69f714a7d1d397f8c4891ca"}, - {file = "wrapt-1.16.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5e49454f19ef621089e204f862388d29e6e8d8b162efce05208913dde5b9ad6"}, - {file = "wrapt-1.16.0-cp38-cp38-win32.whl", hash = "sha256:c31f72b1b6624c9d863fc095da460802f43a7c6868c5dda140f51da24fd47d7b"}, - {file = "wrapt-1.16.0-cp38-cp38-win_amd64.whl", hash = "sha256:490b0ee15c1a55be9c1bd8609b8cecd60e325f0575fc98f50058eae366e01f41"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9b201ae332c3637a42f02d1045e1d0cccfdc41f1f2f801dafbaa7e9b4797bfc2"}, - {file = "wrapt-1.16.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2076fad65c6736184e77d7d4729b63a6d1ae0b70da4868adeec40989858eb3fb"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5cd603b575ebceca7da5a3a251e69561bec509e0b46e4993e1cac402b7247b8"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47cfad9e9bbbed2339081f4e346c93ecd7ab504299403320bf85f7f85c7d46c"}, - {file = "wrapt-1.16.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8212564d49c50eb4565e502814f694e240c55551a5f1bc841d4fcaabb0a9b8a"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5f15814a33e42b04e3de432e573aa557f9f0f56458745c2074952f564c50e664"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:db2e408d983b0e61e238cf579c09ef7020560441906ca990fe8412153e3b291f"}, - {file = "wrapt-1.16.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:edfad1d29c73f9b863ebe7082ae9321374ccb10879eeabc84ba3b69f2579d537"}, - {file = "wrapt-1.16.0-cp39-cp39-win32.whl", hash = "sha256:ed867c42c268f876097248e05b6117a65bcd1e63b779e916fe2e33cd6fd0d3c3"}, - {file = "wrapt-1.16.0-cp39-cp39-win_amd64.whl", hash = "sha256:eb1b046be06b0fce7249f1d025cd359b4b80fc1c3e24ad9eca33e0dcdb2e4a35"}, - {file = "wrapt-1.16.0-py3-none-any.whl", hash = "sha256:6906c4100a8fcbf2fa735f6059214bb13b97f75b1a61777fcf6432121ef12ef1"}, - {file = "wrapt-1.16.0.tar.gz", hash = "sha256:5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d"}, + {file = "widgetsnbextension-4.0.10-py3-none-any.whl", hash = "sha256:d37c3724ec32d8c48400a435ecfa7d3e259995201fbefa37163124a9fcb393cc"}, + {file = "widgetsnbextension-4.0.10.tar.gz", hash = "sha256:64196c5ff3b9a9183a8e699a4227fb0b7002f252c814098e66c4d1cd0644688f"}, ] [[package]] @@ -3845,4 +3996,4 @@ mlmodel = ["numpy"] [metadata] lock-version = "2.0" python-versions = ">=3.8.1,<3.13" -content-hash = "c6768f94fed4f3f42d638f9e22f41c4abde0b4c113c525e73b58cbe4ad6c173d" +content-hash = "c84958e1ba2fd1650cc1443cb6202aded2be3e7e920ea1242f71aba4bc19be78" diff --git a/pyproject.toml b/pyproject.toml index 5550fbe09..af684f450 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "viam-sdk" -version = "0.13.0" +version = "0.14.0" description = "Viam Robotics Python SDK" authors = [ "Naveed " ] license = "Apache-2.0" @@ -23,30 +23,35 @@ include = ["LICENSE", "src/viam/rpc/libviam_rust_utils.*"] numpy = { version = ">=1.21,<2", optional = true } [tool.poetry.group.dev.dependencies] - pytest = "^7.4.2" - pytest-asyncio = "^0.21.1" + pytest = "^7.4.3" + pytest-asyncio = "^0.23.2" coverage = "^7.3.2" protoletariat = "^3.2.19" jupyter = "^1.0.0" flake8 = "^6.1.0" - myst-nb = "^0.17.2" - sphinx-autoapi = "^2.1.1" - sphinx-rtd-theme = "^1.3.0" + myst-nb = [ + {version = "<1.0.0", python = "<3.9"}, + {version = ">=1.0.0", python = ">=3.9"}, + ] + sphinx-autoapi = [ + {version = "<3.0.0", python = "<3.9"}, + {version = ">=3.0.0", python = ">=3.9"}, + ] + sphinx-rtd-theme = "^2.0.0" autopep8 = "^2.0.4" black = {extras = ["jupyter"], version = "^23.12.0"} - nbmake = "^1.4.5" - types-pillow = "^10.0.0.3" + nbmake = "^1.4.6" + types-pillow = "^10.1.0.2" mypy-protobuf = "^3.5.0" - tox = "^4.11.3" + tox = "^4.11.4" isort = "^5.12.0" pytest-watcher = "^0.3.4" - # TODO(RSDK-5450) - Update myst-nb so this can be unpinned. - astroid = "<=2.15.6" - ruff = "^0.1.3" numpy = [ {version = "<1.25.0", python = "<3.9"}, - {version = ">=1.25.0", python = ">=3.9"}, + {version = ">=1.26.2", python = ">=3.9"}, ] + pyright = "^1.1.339" + ruff = "^0.2.2" [tool.pytest.ini_options] addopts = "-ra" @@ -66,10 +71,6 @@ build-backend = "poetry.core.masonry.api" [tool.poetry.extras] mlmodel = ["numpy"] -[tool.ruff] -line-length = 140 -ignore = ["E203"] -extend-exclude = ["**/gen/**"] - -[tool.ruff.extend-per-file-ignores] -"__init__.py" = ["F401"] +[tool.pyright] +include = [ "src" ] +exclude = [ "**/gen", "**/proto" ] diff --git a/src/viam/__init__.py b/src/viam/__init__.py index d46fe7ab2..c56770084 100644 --- a/src/viam/__init__.py +++ b/src/viam/__init__.py @@ -41,6 +41,22 @@ def _log_exceptions(exctype, value, traceback): ################## # MONKEY PATCHES # ################## -_ResourceName.__str__ = lambda self: f"{self.namespace}:{self.type}:{self.subtype}/{self.name}" -_ResourceName.__repr__ = lambda self: f"" -_ResourceName.__hash__ = lambda self: hash(str(self)) +def _rname_str(self: _ResourceName) -> str: + return f"{self.namespace}:{self.type}:{self.subtype}/{self.name}" + + +_ResourceName.__str__ = _rname_str + + +def _rname_repr(self: _ResourceName) -> str: + return f"" + + +_ResourceName.__repr__ = _rname_repr + + +def _rname_hash(self: _ResourceName) -> int: + return hash(str(self)) + + +_ResourceName.__hash__ = _rname_hash # type: ignore diff --git a/src/viam/app/_logs.py b/src/viam/app/_logs.py index 56b54b054..e53809000 100644 --- a/src/viam/app/_logs.py +++ b/src/viam/app/_logs.py @@ -14,14 +14,11 @@ class _LogsStream(Protocol[LogsType]): async def next(self) -> LogsType: ... - async def close(self): + def __aiter__(self) -> AsyncIterator: ... - def __aiter__(self): - return self - async def __anext__(self) -> LogsType: - return await self.next() + ... class _LogsStreamWithIterator(_LogsStream[LogsType]): @@ -38,6 +35,3 @@ def __aiter__(self): async def __anext__(self) -> LogsType: return await self._stream.__anext__() - - async def close(self): - return await super().close() diff --git a/src/viam/app/app_client.py b/src/viam/app/app_client.py index 9ad140216..c62705324 100644 --- a/src/viam/app/app_client.py +++ b/src/viam/app/app_client.py @@ -84,9 +84,6 @@ LocationAuth, LocationAuthRequest, LocationAuthResponse, -) -from viam.proto.app import LogEntry as LogEntryPB -from viam.proto.app import ( MarkPartAsMainRequest, MarkPartForRestartRequest, Model, @@ -129,6 +126,7 @@ UploadModuleFileRequest, Visibility, ) +from viam.proto.common import LogEntry as LogEntryPB from viam.utils import datetime_to_timestamp, dict_to_struct, struct_to_dict LOGGER = logging.getLogger(__name__) @@ -319,7 +317,7 @@ def from_proto(cls, robot_part_history_entry: RobotPartHistoryEntryPB) -> Self: """Create a `RobotPartHistoryEntry` from the .proto defined `RobotPartHistoryEntry`. Args: - robo_part_history_entry (viam.proto.app.RobotPartHistoryEntry): The object to copy from. + robot_part_history_entry (viam.proto.app.RobotPartHistoryEntry): The object to copy from. Returns: RobotPartHistoryEntry: The `RobotPartHistoryEntry`. @@ -434,8 +432,8 @@ async def _create_authorization_for_new_api_key(self, auth: APIKeyAuthorization) return await self._create_authorization( identity_id="", # setting `identity_id` when creating an API key results in an error identity_type="api-key", - role=auth._role, - resource_type=auth._resource_type, + role=auth._role, # type: ignore -- Ignoring because this is technically a `string` + resource_type=auth._resource_type, # type: ignore -- Ignoring because this is technically a `string` resource_id=auth._resource_id, ) @@ -615,7 +613,7 @@ async def delete_organization_invite(self, email: str) -> None: await self._app_client.DeleteOrganizationInvite(request, metadata=self._metadata) async def resend_organization_invite(self, email: str) -> OrganizationInvite: - """Resends a pending organization invite email. + """Re-sends a pending organization invite email. Args: email (str): The email address associated with the invite. @@ -906,16 +904,16 @@ async def _get_robot_part_logs(self, robot_part_id: str, filter: str, errors_onl async def tail_robot_part_logs( self, robot_part_id: str, errors_only: bool = True, filter: Optional[str] = None ) -> _LogsStream[List[LogEntry]]: - """Get an asynchronous iterator that recieves live robot part logs. + """Get an asynchronous iterator that receives live robot part logs. Args: - robot_part_id (str): ID of the robot part to retrieve lgos from. + robot_part_id (str): ID of the robot part to retrieve logs from. errors_only (bool): Boolean specifying whether or not to only include error logs. Defaults to True. filter (Optional[str]): Only include logs with messages that contain the string `filter`. Defaults to empty string "" (i.e., no filter). Returns: - _LogsStream[List[LogEntry]]: The asynchronous iterator recieving live robot part logs. + _LogsStream[List[LogEntry]]: The asynchronous iterator receiving live robot part logs. """ async def read() -> AsyncIterator[List[LogEntry]]: @@ -1124,7 +1122,7 @@ async def list_fragments(self, show_public: bool = True) -> List[Fragment]: """Get a list of fragments under the currently authed-to organization. Args: - show_public: Optional boolean specifiying whether or not to only show public fragments. If True, only public fragments will + show_public: Optional boolean specifying whether or not to only show public fragments. If True, only public fragments will return. If False, only private fragments will return. Defaults to True. Returns: @@ -1282,7 +1280,7 @@ async def list_authorizations(self, resource_ids: Optional[List[str]] = None) -> response: ListAuthorizationsResponse = await self._app_client.ListAuthorizations(request, metadata=self._metadata) return list(response.authorizations) - async def check_permissions(self, permissions: [List[AuthorizedPermissions]]) -> List[AuthorizedPermissions]: + async def check_permissions(self, permissions: List[AuthorizedPermissions]) -> List[AuthorizedPermissions]: """Checks validity of a list of permissions. Args: @@ -1369,9 +1367,10 @@ async def upload_module_file(self, module_file_info: Optional[ModuleFileInfo], f async with self._app_client.UploadModuleFile.open(metadata=self._metadata) as stream: await stream.send_message(request_module_file_info) await stream.send_message(request_file, end=True) - response = await stream.recv_message() + response: Union[UploadModuleFileRequest, None] = await stream.recv_message() if not response: await stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error. + raise TypeError("Response cannot be empty") # we should never get here, but for typechecking return response.url async def get_module(self, module_id: str) -> Module: @@ -1418,8 +1417,8 @@ async def create_key(self, authorizations: List[APIKeyAuthorization], name: Opti Tuple[str, str]: The api key and api key ID. """ name = name if name is not None else str(datetime.now()) - authorizationspb = [await self._create_authorization_for_new_api_key(auth) for auth in authorizations] - request = CreateKeyRequest(authorizations=authorizationspb, name=name) + authorizations_pb = [await self._create_authorization_for_new_api_key(auth) for auth in authorizations] + request = CreateKeyRequest(authorizations=authorizations_pb, name=name) response: CreateKeyResponse = await self._app_client.CreateKey(request, metadata=self._metadata) return (response.key, response.id) @@ -1447,4 +1446,4 @@ async def list_keys(self) -> List[APIKeyWithAuthorizations]: org_id = await self._get_organization_id() request = ListKeysRequest(org_id=org_id) response: ListKeysResponse = await self._app_client.ListKeys(request, metadata=self._metadata) - return [key for key in response.api_keys] + return list(response.api_keys) diff --git a/src/viam/app/billing_client.py b/src/viam/app/billing_client.py index 4abf61586..b0f7d9286 100644 --- a/src/viam/app/billing_client.py +++ b/src/viam/app/billing_client.py @@ -1,6 +1,6 @@ from typing import Mapping, Optional -from grpclib.client import Channel +from grpclib.client import Channel, Stream from viam import logging from viam.proto.app.billing import ( @@ -60,11 +60,12 @@ async def get_invoice_pdf(self, invoice_id: str, org_id: str, dest: str, timeout org_id (str): the ID of the org to request data from dest (str): filepath to save the invoice to """ - request = GetInvoicePdfRequest(id=invoice_id, org_id=org_id) - response: GetInvoicePdfResponse = await self._billing_client.GetInvoicePdf(request, metadata=self._metadata, timeout=timeout) - data: bytes = response[0].chunk - with open(dest, "wb") as file: - file.write(data) + stream: Stream[GetInvoicePdfRequest, GetInvoicePdfResponse] + async with self._billing_client.GetInvoicePdf.open(timeout=timeout, metadata=self._metadata) as stream: + await stream.send_message(GetInvoicePdfRequest(id=invoice_id, org_id=org_id), end=True) + with open(dest, "wb") as file: + async for response in stream: + file.write(response.chunk) async def get_invoices_summary(self, org_id: str, timeout: Optional[float] = None) -> GetInvoicesSummaryResponse: """Access total outstanding balance plus invoice summaries for a given org. diff --git a/src/viam/app/data_client.py b/src/viam/app/data_client.py index 79ffaee8d..b43effb78 100644 --- a/src/viam/app/data_client.py +++ b/src/viam/app/data_client.py @@ -1,13 +1,14 @@ import warnings from datetime import datetime from pathlib import Path -from typing import Any, List, Mapping, Optional, Tuple +from typing import Any, List, Mapping, Optional, Sequence, Tuple from google.protobuf.struct_pb2 import Struct from grpclib.client import Channel, Stream from viam import logging from viam.proto.app.data import ( + AddBinaryDataToDatasetByIDsRequest, AddBoundingBoxToImageByIDRequest, AddBoundingBoxToImageByIDResponse, AddTagsToBinaryDataByFilterRequest, @@ -32,6 +33,7 @@ Filter, GetDatabaseConnectionRequest, GetDatabaseConnectionResponse, + RemoveBinaryDataFromDatasetByIDsRequest, RemoveBoundingBoxFromImageByIDRequest, RemoveTagsFromBinaryDataByFilterRequest, RemoveTagsFromBinaryDataByFilterResponse, @@ -42,6 +44,18 @@ TagsByFilterRequest, TagsByFilterResponse, ) +from viam.proto.app.dataset import ( + CreateDatasetRequest, + CreateDatasetResponse, + Dataset, + DatasetServiceStub, + DeleteDatasetRequest, + ListDatasetsByIDsRequest, + ListDatasetsByIDsResponse, + ListDatasetsByOrganizationIDRequest, + ListDatasetsByOrganizationIDResponse, + RenameDatasetRequest, +) from viam.proto.app.datasync import ( DataCaptureUploadMetadata, DataCaptureUploadRequest, @@ -93,9 +107,12 @@ def __init__(self, data: Mapping[str, Any], metadata: CaptureMetadata, time_requ def __str__(self) -> str: return f"{self.data}\n{self.metadata}Time requested: {self.time_requested}\nTime received: {self.time_received}\n" - def __eq__(self, other: "DataClient.TabularData") -> bool: - return str(self) == str(other) + def __eq__(self, other: object) -> bool: + if isinstance(other, DataClient.TabularData): + return str(self) == str(other) + return False + # TODO (RSDK-6684): Revisit if this shadow type is necessary class BinaryData: """Class representing a piece of binary data and associated metadata. @@ -114,8 +131,10 @@ def __init__(self, data: bytes, metadata: BinaryMetadata) -> None: def __str__(self) -> str: return f"{self.data}\n{self.metadata}" - def __eq__(self, other: "DataClient.BinaryData") -> bool: - return str(self) == str(other) + def __eq__(self, other: object) -> bool: + if isinstance(other, DataClient.BinaryData): + return str(self) == str(other) + return False def __init__(self, channel: Channel, metadata: Mapping[str, str]): """Create a `DataClient` that maintains a connection to app. @@ -127,10 +146,12 @@ def __init__(self, channel: Channel, metadata: Mapping[str, str]): self._metadata = metadata self._data_client = DataServiceStub(channel) self._data_sync_client = DataSyncServiceStub(channel) + self._dataset_client = DatasetServiceStub(channel) self._channel = channel _data_client: DataServiceStub _data_sync_client: DataSyncServiceStub + _dataset_client: DatasetServiceStub _metadata: Mapping[str, str] _channel: Channel @@ -474,6 +495,93 @@ async def get_database_connection(self, organization_id: str) -> str: async def configure_database_user(self, organization_id: str, password: str) -> None: raise NotImplementedError() + async def create_dataset(self, name: str, organization_id: str) -> str: + """Create a new dataset. + + Args: + name (str): The name of the dataset being created. + organization_id (str): The ID of the organization where the dataset is being created. + + Returns: + str: The dataset ID of the created dataset. + """ + request = CreateDatasetRequest(name=name, organization_id=organization_id) + response: CreateDatasetResponse = await self._dataset_client.CreateDataset(request, metadata=self._metadata) + return response.id + + async def list_dataset_by_ids(self, ids: List[str]) -> Sequence[Dataset]: + """Get a list of datasets using their IDs. + + Args: + ids (List[str]): The IDs of the datasets being called for. + + Returns: + Sequence[Dataset]: The list of datasets. + """ + request = ListDatasetsByIDsRequest(ids=ids) + response: ListDatasetsByIDsResponse = await self._dataset_client.ListDatasetsByIDs(request, metadata=self._metadata) + + return response.datasets + + async def list_datasets_by_organization_id(self, organization_id: str) -> Sequence[Dataset]: + """Get the datasets in an organization. + + Args: + organization_id (str): The ID of the organization. + + Returns: + Sequence[Dataset]: The list of datasets in the organization. + """ + request = ListDatasetsByOrganizationIDRequest(organization_id=organization_id) + response: ListDatasetsByOrganizationIDResponse = await self._dataset_client.ListDatasetsByOrganizationID( + request, metadata=self._metadata + ) + + return response.datasets + + async def rename_dataset(self, id: str, name: str) -> None: + """Rename a dataset specified by the dataset ID. + + Args: + id (str): The ID of the dataset. + name (str): The new name of the dataset. + """ + request = RenameDatasetRequest(id=id, name=name) + await self._dataset_client.RenameDataset(request, metadata=self._metadata) + + async def delete_dataset(self, id: str) -> None: + """Delete a dataset. + + Args: + id (str): The ID of the dataset. + """ + request = DeleteDatasetRequest(id=id) + await self._dataset_client.DeleteDataset(request, metadata=self._metadata) + + async def add_binary_data_to_dataset_by_ids(self, binary_ids: List[BinaryID], dataset_id: str) -> None: + """Add the BinaryData to the provided dataset. + + This BinaryData will be tagged with the VIAM_DATASET_{id} label. + + Args: + binary_ids (List[BinaryID]): The IDs of binary data to add to dataset. + dataset_id (str): The ID of the dataset to be added to. + """ + request = AddBinaryDataToDatasetByIDsRequest(binary_ids=binary_ids, dataset_id=dataset_id) + await self._data_client.AddBinaryDataToDatasetByIDs(request, metadata=self._metadata) + + async def remove_binary_data_from_dataset_by_ids(self, binary_ids: List[BinaryID], dataset_id: str) -> None: + """Remove the BinaryData from the provided dataset. + + This BinaryData will lose the VIAM_DATASET_{id} tag. + + Args: + binary_ids (List[BinaryID]): The IDs of binary data to remove from dataset. + dataset_id (str): The ID of the dataset to be removed from. + """ + request = RemoveBinaryDataFromDatasetByIDsRequest(binary_ids=binary_ids, dataset_id=dataset_id) + await self._data_client.RemoveBinaryDataFromDatasetByIDs(request, metadata=self._metadata) + async def binary_data_capture_upload( self, binary_data: bytes, @@ -802,8 +910,9 @@ def create_filter( end_time: Optional[datetime] = None, tags: Optional[List[str]] = None, bbox_labels: Optional[List[str]] = None, + dataset_id: Optional[str] = None, ) -> Filter: - warnings.warn("DataClient.create_filter is deprecated. Use AppClient.create_filter instead.", DeprecationWarning, stacklevel=2) + warnings.warn("DataClient.create_filter is deprecated. Use utils.create_filter instead.", DeprecationWarning, stacklevel=2) return create_filter( component_name, component_type, @@ -819,4 +928,5 @@ def create_filter( end_time, tags, bbox_labels, + dataset_id, ) diff --git a/src/viam/components/arm/arm.py b/src/viam/components/arm/arm.py index 44c28f9c2..212075dab 100644 --- a/src/viam/components/arm/arm.py +++ b/src/viam/components/arm/arm.py @@ -16,7 +16,7 @@ class Arm(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "arm") + SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "arm") # pyright: ignore [reportIncompatibleVariableOverride] @abc.abstractmethod async def get_end_position( diff --git a/src/viam/components/arm/client.py b/src/viam/components/arm/client.py index 841d3a5fd..35afa46b1 100644 --- a/src/viam/components/arm/client.py +++ b/src/viam/components/arm/client.py @@ -39,6 +39,7 @@ async def get_end_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Pose: if extra is None: extra = {} @@ -52,6 +53,7 @@ async def move_to_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -63,6 +65,7 @@ async def get_joint_positions( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> JointPositions: if extra is None: extra = {} @@ -76,6 +79,7 @@ async def move_to_joint_positions( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -87,6 +91,7 @@ async def stop( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -103,6 +108,7 @@ async def do_command( command: Mapping[str, Any], *, timeout: Optional[float] = None, + **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) diff --git a/src/viam/components/arm/service.py b/src/viam/components/arm/service.py index c061169ef..1f0d67906 100644 --- a/src/viam/components/arm/service.py +++ b/src/viam/components/arm/service.py @@ -29,7 +29,7 @@ from .arm import Arm -class ArmRPCService(ArmServiceBase, ResourceRPCServiceBase): +class ArmRPCService(ArmServiceBase, ResourceRPCServiceBase[Arm]): """ gRPC Service for an Arm """ diff --git a/src/viam/components/audio_input/audio_input.py b/src/viam/components/audio_input/audio_input.py index 6908a5a7f..e47a65bbe 100644 --- a/src/viam/components/audio_input/audio_input.py +++ b/src/viam/components/audio_input/audio_input.py @@ -22,7 +22,9 @@ class AudioInput(ComponentBase, MediaSource[Audio]): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "audio_input") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "audio_input" + ) @dataclass class Properties: diff --git a/src/viam/components/audio_input/client.py b/src/viam/components/audio_input/client.py index 3c600092b..6e654e374 100644 --- a/src/viam/components/audio_input/client.py +++ b/src/viam/components/audio_input/client.py @@ -29,7 +29,7 @@ def __init__(self, name: str, channel: Channel): self.client = AudioInputServiceStub(channel) super().__init__(name) - async def stream(self, *, timeout: Optional[float] = None) -> MediaStream[Audio]: + async def stream(self, *, timeout: Optional[float] = None, **__) -> MediaStream[Audio]: async def read() -> AsyncIterator[Audio]: async with self.client.Chunks.open(timeout=timeout) as chunks_stream: await chunks_stream.send_message( @@ -38,6 +38,7 @@ async def read() -> AsyncIterator[Audio]: response: Union[ChunksResponse, None] = await chunks_stream.recv_message() if not response: await chunks_stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error. + raise TypeError("Response cannot be empty") # we should never get here, but for typechecking assert response.HasField("info") info = response.info @@ -51,12 +52,12 @@ async def read() -> AsyncIterator[Audio]: return MediaStreamWithIterator(read()) - async def get_properties(self, *, timeout: Optional[float] = None) -> AudioInput.Properties: + async def get_properties(self, *, timeout: Optional[float] = None, **__) -> AudioInput.Properties: request = PropertiesRequest(name=self.name) response: PropertiesResponse = await self.client.Properties(request, timeout=timeout) return AudioInput.Properties.from_proto(response) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/audio_input/service.py b/src/viam/components/audio_input/service.py index 5f0fab4f6..6d19242b9 100644 --- a/src/viam/components/audio_input/service.py +++ b/src/viam/components/audio_input/service.py @@ -23,7 +23,7 @@ from .audio_input import AudioInput -class AudioInputRPCService(AudioInputServiceBase, ResourceRPCServiceBase): +class AudioInputRPCService(AudioInputServiceBase, ResourceRPCServiceBase[AudioInput]): """ gRPC Service for a generic AudioInput """ @@ -51,7 +51,7 @@ async def Properties(self, stream: Stream[PropertiesRequest, PropertiesResponse] response = (await audio_input.get_properties(timeout=timeout, metadata=stream.metadata)).proto await stream.send_message(response) - async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None: + async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None: # pyright: ignore [reportInvalidTypeForm] raise NotSupportedError("Recording audio input is not supported").grpc_error # TODO: Eventually implement recording diff --git a/src/viam/components/base/base.py b/src/viam/components/base/base.py index a91a105c9..94a506153 100644 --- a/src/viam/components/base/base.py +++ b/src/viam/components/base/base.py @@ -17,7 +17,9 @@ class Base(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "base") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "base" + ) @dataclass class Properties: diff --git a/src/viam/components/base/client.py b/src/viam/components/base/client.py index a773c907d..c15f4dfb5 100644 --- a/src/viam/components/base/client.py +++ b/src/viam/components/base/client.py @@ -38,6 +38,7 @@ async def move_straight( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -56,6 +57,7 @@ async def spin( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -74,6 +76,7 @@ async def set_power( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -92,6 +95,7 @@ async def set_velocity( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -103,18 +107,30 @@ async def stop( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} request = StopRequest(name=self.name, extra=dict_to_struct(extra)) await self.client.Stop(request, timeout=timeout) - async def is_moving(self, *, timeout: Optional[float] = None) -> bool: + async def is_moving( + self, + *, + timeout: Optional[float] = None, + **__, + ) -> bool: request = IsMovingRequest(name=self.name) response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) return response.is_moving - async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Base.Properties: + async def get_properties( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Base.Properties: if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) @@ -130,6 +146,7 @@ async def do_command( command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, + **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) diff --git a/src/viam/components/base/service.py b/src/viam/components/base/service.py index ce73fc197..90563c041 100644 --- a/src/viam/components/base/service.py +++ b/src/viam/components/base/service.py @@ -24,7 +24,7 @@ from .base import Base -class BaseRPCService(BaseServiceBase, ResourceRPCServiceBase): +class BaseRPCService(BaseServiceBase, ResourceRPCServiceBase[Base]): """ gRPC service for a robotic Base """ diff --git a/src/viam/components/board/board.py b/src/viam/components/board/board.py index 8fee79133..03a715645 100644 --- a/src/viam/components/board/board.py +++ b/src/viam/components/board/board.py @@ -19,13 +19,21 @@ class Board(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "board") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "board" + ) - class AnalogReader(ComponentBase): + class AnalogReader: """ AnalogReader represents an analog pin reader that resides on a Board. """ + name: str + """The name of the analog reader""" + + def __init__(self, name: str): + self.name = name + @abc.abstractmethod async def read(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: """ @@ -36,13 +44,19 @@ async def read(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optiona """ ... - class DigitalInterrupt(ComponentBase): + class DigitalInterrupt: """ DigitalInterrupt represents a configured interrupt on the Board that when interrupted, calls the added callbacks. Post processors can be added to modify what Value it ultimately returns. """ + name: str + """The name of the digital interrupt""" + + def __init__(self, name: str): + self.name = name + @abc.abstractmethod async def value(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: """ @@ -54,11 +68,17 @@ async def value(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Option """ ... - class GPIOPin(ComponentBase): + class GPIOPin: """ Abstract representation of an individual GPIO pin on a board """ + name: str + """The name of the GPIO pin""" + + def __init__(self, name: str): + self.name = name + @abc.abstractmethod async def set(self, high: bool, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): """ diff --git a/src/viam/components/board/client.py b/src/viam/components/board/client.py index 7a88c99dc..0719925d3 100644 --- a/src/viam/components/board/client.py +++ b/src/viam/components/board/client.py @@ -37,7 +37,13 @@ def __init__(self, name: str, board: "BoardClient"): self.board = board super().__init__(name) - async def read(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> int: + async def read( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> int: if extra is None: extra = {} request = ReadAnalogReaderRequest(board_name=self.board.name, analog_reader_name=self.name, extra=dict_to_struct(extra)) @@ -50,7 +56,13 @@ def __init__(self, name: str, board: "BoardClient"): self.board = board super().__init__(name) - async def value(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> int: + async def value( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> int: if extra is None: extra = {} request = GetDigitalInterruptValueRequest(board_name=self.board.name, digital_interrupt_name=self.name, extra=dict_to_struct(extra)) @@ -63,40 +75,79 @@ def __init__(self, name: str, board: "BoardClient"): self.board = board super().__init__(name) - async def get(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> bool: + async def get( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> bool: if extra is None: extra = {} request = GetGPIORequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) response: GetGPIOResponse = await self.board.client.GetGPIO(request, timeout=timeout) return response.high - async def set(self, high: bool, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def set( + self, + high: bool, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = SetGPIORequest(name=self.board.name, pin=self.name, high=high, extra=dict_to_struct(extra)) await self.board.client.SetGPIO(request, timeout=timeout) - async def get_pwm(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> float: + async def get_pwm( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> float: if extra is None: extra = {} request = PWMRequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) response: PWMResponse = await self.board.client.PWM(request, timeout=timeout) return response.duty_cycle_pct - async def set_pwm(self, duty_cycle: float, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def set_pwm( + self, + duty_cycle: float, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = SetPWMRequest(name=self.board.name, pin=self.name, duty_cycle_pct=duty_cycle, extra=dict_to_struct(extra)) await self.board.client.SetPWM(request, timeout=timeout) - async def get_pwm_frequency(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> int: + async def get_pwm_frequency( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> int: if extra is None: extra = {} request = PWMFrequencyRequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) response: PWMFrequencyResponse = await self.board.client.PWMFrequency(request, timeout=timeout) return response.frequency_hz - async def set_pwm_frequency(self, frequency: int, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def set_pwm_frequency( + self, + frequency: int, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = SetPWMFrequencyRequest(name=self.board.name, pin=self.name, frequency_hz=frequency, extra=dict_to_struct(extra)) @@ -138,14 +189,26 @@ async def digital_interrupt_names(self) -> List[str]: self._digital_interrupt_names = names return self._digital_interrupt_names - async def status(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> BoardStatus: + async def status( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> BoardStatus: if extra is None: extra = {} request = StatusRequest(name=self.name, extra=dict_to_struct(extra)) response: StatusResponse = await self.client.Status(request, timeout=timeout) return response.status - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) @@ -156,6 +219,7 @@ async def set_power_mode( duration: Optional[timedelta] = None, *, timeout: Optional[float] = None, + **__, ): duration_pb: Optional[Duration] = None if duration is not None: @@ -166,6 +230,16 @@ async def set_power_mode( async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) - async def write_analog(self, pin: str, value: int, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): - request = WriteAnalogRequest(name=self.name, pin=pin, value=value) + async def write_analog( + self, + pin: str, + value: int, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): + if extra is None: + extra = {} + request = WriteAnalogRequest(name=self.name, pin=pin, value=value, extra=dict_to_struct(extra)) await self.client.WriteAnalog(request, timeout=timeout) diff --git a/src/viam/components/board/service.py b/src/viam/components/board/service.py index c7ec18eb7..c68bb3ec6 100644 --- a/src/viam/components/board/service.py +++ b/src/viam/components/board/service.py @@ -33,7 +33,7 @@ from .board import Board -class BoardRPCService(BoardServiceBase, ResourceRPCServiceBase): +class BoardRPCService(BoardServiceBase, ResourceRPCServiceBase[Board]): """ gRPC Service for a Board """ diff --git a/src/viam/components/camera/camera.py b/src/viam/components/camera/camera.py index 87fd74ea9..741ad3fe0 100644 --- a/src/viam/components/camera/camera.py +++ b/src/viam/components/camera/camera.py @@ -1,15 +1,21 @@ import abc -from typing import TYPE_CHECKING, Any, Dict, Final, List, Optional, Tuple +import sys +from typing import Any, Dict, Final, List, Optional, Tuple, Union -from viam.media.video import NamedImage, ViamImage +from PIL.Image import Image + +from viam.media.video import NamedImage from viam.proto.common import ResponseMetadata from viam.proto.component.camera import GetPropertiesResponse from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype from ..component_base import ComponentBase +from . import RawImage -if TYPE_CHECKING: +if sys.version_info >= (3, 10): from typing import TypeAlias +else: + from typing_extensions import TypeAlias class Camera(ComponentBase): @@ -21,25 +27,38 @@ class Camera(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "camera") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "camera" + ) Properties: "TypeAlias" = GetPropertiesResponse @abc.abstractmethod async def get_image( self, mime_type: str = "", *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs - ) -> ViamImage: - """Get the next image from the camera as a ViamImage. + ) -> Union[Image, RawImage]: + """Get the next image from the camera as an Image or RawImage. Be sure to close the image when finished. NOTE: If the mime type is ``image/vnd.viam.dep`` you can use :func:`viam.media.video.ViamImage.bytes_to_depth_array` to convert the data to a standard representation. + :: + + my_camera = Camera.from_robot(robot=robot, name="my_camera") + + # Assume "frame" has a mime_type of "image/vnd.viam.dep" + frame = await my_camera.get_image(mime_type = CameraMimeType.VIAM_RAW_DEPTH) + + # Convert "frame" to a standard 2D image representation. + # Remove the 1st 3x8 bytes and reshape the raw bytes to List[List[Int]]. + standard_frame = frame.bytes_to_depth_array() + Args: mime_type (str): The desired mime type of the image. This does not guarantee output type Returns: - ViamImage: The frame + Image | RawImage: The frame """ ... @@ -48,6 +67,14 @@ async def get_images(self, *, timeout: Optional[float] = None, **kwargs) -> Tupl """Get simultaneous images from different imagers, along with associated metadata. This should not be used for getting a time series of images from the same imager. + :: + + my_camera = Camera.from_robot(robot=robot, name="my_camera") + + images, metadata = await my_camera.get_images() + img0 = images[0].image + timestamp = metadata.captured_at + Returns: Tuple[List[NamedImage], ResponseMetadata]: - List[NamedImage]: @@ -94,6 +121,12 @@ async def get_properties(self, *, timeout: Optional[float] = None, **kwargs) -> """ Get the camera intrinsic parameters and camera distortion parameters + :: + + my_camera = Camera.from_robot(robot=robot, name="my_camera") + + properties = await my_camera.get_properties() + Returns: Properties: The properties of the camera """ diff --git a/src/viam/components/camera/client.py b/src/viam/components/camera/client.py index c9ed1dd73..bcf7af0ba 100644 --- a/src/viam/components/camera/client.py +++ b/src/viam/components/camera/client.py @@ -1,8 +1,10 @@ -from typing import Any, Dict, List, Mapping, Optional, Tuple +from io import BytesIO +from typing import Any, Dict, List, Mapping, Optional, Tuple, Union from grpclib.client import Channel +from PIL import Image -from viam.media.video import CameraMimeType, NamedImage, ViamImage +from viam.media.video import LIBRARY_SUPPORTED_FORMATS, CameraMimeType, NamedImage from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, ResponseMetadata from viam.proto.component.camera import ( CameraServiceStub, @@ -17,14 +19,17 @@ from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict -from . import Camera +from . import Camera, RawImage -def get_image_from_response(data: bytes, response_mime_type: str, request_mime_type: str) -> ViamImage: +def get_image_from_response(data: bytes, response_mime_type: str, request_mime_type: str) -> Union[Image.Image, RawImage]: if not request_mime_type: request_mime_type = response_mime_type - mime_type, _ = CameraMimeType.from_lazy(request_mime_type) - return ViamImage(data, mime_type) + mime_type, is_lazy = CameraMimeType.from_lazy(request_mime_type) + if is_lazy or mime_type._should_be_raw: + image = RawImage(data=data, mime_type=response_mime_type) + return image + return Image.open(BytesIO(data), formats=LIBRARY_SUPPORTED_FORMATS) class CameraClient(Camera, ReconfigurableResourceRPCClientBase): @@ -37,14 +42,26 @@ def __init__(self, name: str, channel: Channel): self.client = CameraServiceStub(channel) super().__init__(name) - async def get_image(self, mime_type: str = "", *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> ViamImage: + async def get_image( + self, + mime_type: str = "", + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Union[Image.Image, RawImage]: if extra is None: extra = {} request = GetImageRequest(name=self.name, mime_type=mime_type, extra=dict_to_struct(extra)) response: GetImageResponse = await self.client.GetImage(request, timeout=timeout) return get_image_from_response(response.image, response_mime_type=response.mime_type, request_mime_type=request.mime_type) - async def get_images(self, *, timeout: Optional[float] = None) -> Tuple[List[NamedImage], ResponseMetadata]: + async def get_images( + self, + *, + timeout: Optional[float] = None, + **__, + ) -> Tuple[List[NamedImage], ResponseMetadata]: request = GetImagesRequest(name=self.name) response: GetImagesResponse = await self.client.GetImages(request, timeout=timeout) imgs = [] @@ -55,17 +72,34 @@ async def get_images(self, *, timeout: Optional[float] = None) -> Tuple[List[Nam resp_metadata: ResponseMetadata = response.response_metadata return imgs, resp_metadata - async def get_point_cloud(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Tuple[bytes, str]: + async def get_point_cloud( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Tuple[bytes, str]: if extra is None: extra = {} request = GetPointCloudRequest(name=self.name, mime_type=CameraMimeType.PCD, extra=dict_to_struct(extra)) response: GetPointCloudResponse = await self.client.GetPointCloud(request, timeout=timeout) return (response.point_cloud, response.mime_type) - async def get_properties(self, *, timeout: Optional[float] = None) -> Camera.Properties: + async def get_properties( + self, + *, + timeout: Optional[float] = None, + **__, + ) -> Camera.Properties: return await self.client.GetProperties(GetPropertiesRequest(name=self.name), timeout=timeout) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/camera/service.py b/src/viam/components/camera/service.py index a325eb505..9fe5f3663 100644 --- a/src/viam/components/camera/service.py +++ b/src/viam/components/camera/service.py @@ -1,3 +1,5 @@ +# TODO: Update type checking based with RSDK-4089 +# pyright: reportGeneralTypeIssues=false from typing import Dict from google.api.httpbody_pb2 import HttpBody @@ -24,7 +26,7 @@ from . import Camera, RawImage -class CameraRPCService(CameraServiceBase, ResourceRPCServiceBase): +class CameraRPCService(CameraServiceBase, ResourceRPCServiceBase[Camera]): """ gRPC Service for a generic Camera """ @@ -78,7 +80,7 @@ async def GetImages(self, stream: Stream[GetImagesRequest, GetImagesResponse]) - response = GetImagesResponse(images=img_bytes_lst, response_metadata=metadata) await stream.send_message(response) - async def RenderFrame(self, stream: Stream[RenderFrameRequest, HttpBody]) -> None: + async def RenderFrame(self, stream: Stream[RenderFrameRequest, HttpBody]) -> None: # pyright: ignore [reportInvalidTypeForm] request = await stream.recv_message() assert request is not None name = request.name @@ -93,7 +95,7 @@ async def RenderFrame(self, stream: Stream[RenderFrameRequest, HttpBody]) -> Non img = mimetype.encode_image(image) finally: image.close() - response = HttpBody(data=img, content_type=image.mime_type if isinstance(image, RawImage) else mimetype) + response = HttpBody(data=img, content_type=image.mime_type if isinstance(image, RawImage) else mimetype) # type: ignore await stream.send_message(response) async def GetPointCloud(self, stream: Stream[GetPointCloudRequest, GetPointCloudResponse]) -> None: diff --git a/src/viam/components/component_base.py b/src/viam/components/component_base.py index ea56f3cc9..1d7661efb 100644 --- a/src/viam/components/component_base.py +++ b/src/viam/components/component_base.py @@ -47,6 +47,14 @@ async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeou """ Get all geometries associated with the Component, in their current configuration, in the frame of the Component. + :: + + geometries = await component.get_geometries() + + if geometries: + # Get the center of the first geometry + print(f"Pose of the first geometry's centerpoint: {geometries[0].center}") + Returns: List[Geometry]: The geometries associated with the Component. """ diff --git a/src/viam/components/encoder/client.py b/src/viam/components/encoder/client.py index c2748802b..dd15a1c1d 100644 --- a/src/viam/components/encoder/client.py +++ b/src/viam/components/encoder/client.py @@ -33,6 +33,7 @@ async def reset_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -45,6 +46,7 @@ async def get_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Tuple[float, PositionType.ValueType]: if extra is None: extra = {} @@ -57,6 +59,7 @@ async def get_properties( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Encoder.Properties: if extra is None: extra = {} @@ -66,7 +69,13 @@ async def get_properties( ticks_count_supported=response.ticks_count_supported, angle_degrees_supported=response.angle_degrees_supported ) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/encoder/encoder.py b/src/viam/components/encoder/encoder.py index 29ecee9ca..bfa815c93 100644 --- a/src/viam/components/encoder/encoder.py +++ b/src/viam/components/encoder/encoder.py @@ -22,7 +22,9 @@ class Properties: overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "encoder") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "encoder" + ) @abc.abstractmethod async def reset_position( @@ -34,6 +36,14 @@ async def reset_position( ): """ Set the current position to be the new zero (home) position. + + :: + + my_encoder = Encoder.from_robot(robot=robot, name='my_encoder') + + # Reset the zero position of the encoder. + await my_encoder.reset_position() + """ ... @@ -52,6 +62,14 @@ async def get_position( The position will be either in relative units (ticks away from a zero position) for ``PositionType.TICKS`` or absolute units (degrees along a circle) for ``PositionType.DEGREES``. + :: + + my_encoder = Encoder.from_robot(robot=robot, name='my_encoder') + + # Get the position of the encoder in ticks + position = await my_encoder.get_position(encoder.PositionTypeTicks) + print("The encoder position is currently ", position[0], position[1]) + Args: position_type (PositionType.ValueType): The desired output type of the position @@ -73,6 +91,13 @@ async def get_properties( """ Return a dictionary of the types of position reporting this encoder supports + :: + + my_encoder = Encoder.from_robot(robot=robot, name='my_encoder') + + # Get whether the encoder returns position in ticks or degrees. + properties = await my_encoder.get_properties() + Returns: Encoder.Properties: Map of position types to supported status. """ diff --git a/src/viam/components/encoder/service.py b/src/viam/components/encoder/service.py index 2a6de4ddc..9937a692b 100644 --- a/src/viam/components/encoder/service.py +++ b/src/viam/components/encoder/service.py @@ -16,7 +16,7 @@ from .encoder import Encoder -class EncoderRPCService(EncoderServiceBase, ResourceRPCServiceBase): +class EncoderRPCService(EncoderServiceBase, ResourceRPCServiceBase[Encoder]): """ gRPC Service for an Encoder """ diff --git a/src/viam/components/gantry/client.py b/src/viam/components/gantry/client.py index dddf8cf94..3f2e62493 100644 --- a/src/viam/components/gantry/client.py +++ b/src/viam/components/gantry/client.py @@ -32,7 +32,13 @@ def __init__(self, name: str, channel: Channel): self.client = GantryServiceStub(channel) super().__init__(name) - async def get_position(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[float]: + async def get_position( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> List[float]: if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) @@ -46,27 +52,46 @@ async def move_to_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} request = MoveToPositionRequest(name=self.name, positions_mm=positions, speeds_mm_per_sec=speeds, extra=dict_to_struct(extra)) await self.client.MoveToPosition(request, timeout=timeout) - async def home(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> bool: + async def home( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> bool: if extra is None: extra = {} request = HomeRequest(name=self.name, extra=dict_to_struct(extra)) response: HomeResponse = await self.client.Home(request, timeout=timeout) return response.homed - async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[float]: + async def get_lengths( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> List[float]: if extra is None: extra = {} request = GetLengthsRequest(name=self.name, extra=dict_to_struct(extra)) response: GetLengthsResponse = await self.client.GetLengths(request, timeout=timeout) return list(response.lengths_mm) - async def stop(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def stop( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = StopRequest(name=self.name, extra=dict_to_struct(extra)) @@ -77,7 +102,13 @@ async def is_moving(self, *, timeout: Optional[float] = None) -> bool: response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) return response.is_moving - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/gantry/gantry.py b/src/viam/components/gantry/gantry.py index 2f990c991..b714d1fea 100644 --- a/src/viam/components/gantry/gantry.py +++ b/src/viam/components/gantry/gantry.py @@ -15,13 +15,22 @@ class Gantry(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "gantry") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "gantry" + ) @abc.abstractmethod async def get_position(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[float]: """ Get the position in millimeters. + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + # Get the current positions of the axes of the gantry in millimeters. + positions = await my_gantry.get_position() + Returns: List[float]: The position of the axes. """ @@ -40,6 +49,20 @@ async def move_to_position( """ Move the gantry to a new position at the requested speeds. + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + # Create a list of positions for the axes of the gantry to move to. Assume in + # this example that the gantry is multi-axis, with 3 axes. + examplePositions = [1, 2, 3] + + exampleSpeeds = [3, 9, 12] + + # Move the axes of the gantry to the positions specified. + await my_gantry.move_to_position( + positions=examplePositions, speeds=exampleSpeeds) + Args: positions (List[float]): List of positions for the axes to move to, in millimeters. @@ -51,6 +74,12 @@ async def home(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optiona """ Home the gantry to find it's starting and ending positions + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + await my_gantry.home() + Returns: bool : whether the gantry has run the homing sequence successfully """ @@ -60,6 +89,13 @@ async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: """ Get the lengths of the axes of the gantry in millimeters. + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + # Get the lengths of the axes of the gantry in millimeters. + lengths_mm = await my_gantry.get_lengths() + Returns: List[float]: The lengths of the axes. """ @@ -69,6 +105,15 @@ async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: async def stop(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): """ Stop all motion of the gantry. It is assumed that the gantry stops immediately. + + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + # Stop all motion of the gantry. It is assumed that the gantry stops + # immediately. + await my_gantry.stop() + """ ... @@ -77,6 +122,17 @@ async def is_moving(self) -> bool: """ Get if the gantry is currently moving. + :: + + my_gantry = Gantry.from_robot(robot=robot, name="my_gantry") + + # Stop all motion of the gantry. It is assumed that the + # gantry stops immediately. + await my_gantry.stop() + + # Print if the gantry is currently moving. + print(my_gantry.is_moving()) + Returns: bool: Whether the gantry is moving. """ diff --git a/src/viam/components/gantry/service.py b/src/viam/components/gantry/service.py index c4a189b56..8828f3496 100644 --- a/src/viam/components/gantry/service.py +++ b/src/viam/components/gantry/service.py @@ -22,7 +22,7 @@ from .gantry import Gantry -class GantryRPCService(GantryServiceBase, ResourceRPCServiceBase): +class GantryRPCService(GantryServiceBase, ResourceRPCServiceBase[Gantry]): """ gRPC Service for a Gantry """ diff --git a/src/viam/components/generic/client.py b/src/viam/components/generic/client.py index 51e3ca632..493e4e156 100644 --- a/src/viam/components/generic/client.py +++ b/src/viam/components/generic/client.py @@ -20,7 +20,13 @@ def __init__(self, name: str, channel: Channel): self.client = GenericServiceStub(channel) super().__init__(name) - async def do_command(self, command: Mapping[str, Any], *, timeout: Optional[float] = None) -> Mapping[str, Any]: + async def do_command( + self, + command: Mapping[str, Any], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, Any]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) try: response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) diff --git a/src/viam/components/generic/generic.py b/src/viam/components/generic/generic.py index eabc2331d..7172fa71f 100644 --- a/src/viam/components/generic/generic.py +++ b/src/viam/components/generic/generic.py @@ -65,4 +65,6 @@ def complex_command(self, arg1, arg2, arg3): component.power # 0 """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "generic") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "generic" + ) diff --git a/src/viam/components/gripper/client.py b/src/viam/components/gripper/client.py index f3fbb5213..61acff974 100644 --- a/src/viam/components/gripper/client.py +++ b/src/viam/components/gripper/client.py @@ -28,20 +28,38 @@ def __init__(self, name: str, channel: Channel): self.client = GripperServiceStub(channel) super().__init__(name) - async def open(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def open( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = OpenRequest(name=self.name, extra=dict_to_struct(extra)) await self.client.Open(request, timeout=timeout) - async def grab(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> bool: + async def grab( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> bool: if extra is None: extra = {} request = GrabRequest(name=self.name, extra=dict_to_struct(extra)) response: GrabResponse = await self.client.Grab(request, timeout=timeout) return response.success - async def stop(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def stop( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = StopRequest(name=self.name, extra=dict_to_struct(extra)) @@ -52,7 +70,13 @@ async def is_moving(self, *, timeout: Optional[float] = None) -> bool: response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) return response.is_moving - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/gripper/gripper.py b/src/viam/components/gripper/gripper.py index 8c53114ed..b8c57be0c 100644 --- a/src/viam/components/gripper/gripper.py +++ b/src/viam/components/gripper/gripper.py @@ -14,7 +14,9 @@ class Gripper(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "gripper") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "gripper" + ) @abc.abstractmethod async def open( @@ -26,6 +28,13 @@ async def open( ): """ Open the gripper. + + :: + + my_gripper = Gripper.from_robot(robot=robot, name="my_gripper") + + # Open the gripper. + await my_gripper.open() """ ... @@ -40,6 +49,13 @@ async def grab( """ Instruct the gripper to grab. + :: + + my_gripper = Gripper.from_robot(robot=robot, name="my_gripper") + + # Grab with the gripper. + grabbed = await my_gripper.grab() + Returns: bool: Indicates if the gripper grabbed something. """ @@ -55,6 +71,13 @@ async def stop( ): """ Stop the gripper. It is assumed the gripper stops immediately. + + :: + + my_gripper = Gripper.from_robot(robot=robot, name="my_gripper") + + # Stop the gripper. + await my_gripper.stop() """ ... @@ -63,6 +86,14 @@ async def is_moving(self) -> bool: """ Get if the gripper is currently moving. + :: + + my_gripper = Gripper.from_robot(robot=robot, name="my_gripper") + + # Check whether the gripper is currently moving. + moving = await my_gripper.is_moving() + print('Moving:', moving) + Returns: bool: Whether the gripper is moving. """ diff --git a/src/viam/components/gripper/service.py b/src/viam/components/gripper/service.py index b589e4c40..bd8b6f1da 100644 --- a/src/viam/components/gripper/service.py +++ b/src/viam/components/gripper/service.py @@ -18,7 +18,7 @@ from .gripper import Gripper -class GripperRPCService(GripperServiceBase, ResourceRPCServiceBase): +class GripperRPCService(GripperServiceBase, ResourceRPCServiceBase[Gripper]): """ gRPC Service for a Gripper """ diff --git a/src/viam/components/input/client.py b/src/viam/components/input/client.py index 7227fe0e1..96282fa36 100644 --- a/src/viam/components/input/client.py +++ b/src/viam/components/input/client.py @@ -43,14 +43,26 @@ def __init__(self, name: str, channel: Channel): self._callback_extra: Struct = dict_to_struct({}) super().__init__(name) - async def get_controls(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Control]: + async def get_controls( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> List[Control]: if extra is None: extra = {} request = GetControlsRequest(controller=self.name, extra=dict_to_struct(extra)) response: GetControlsResponse = await self.client.GetControls(request, timeout=timeout) return [Control(control) for control in response.controls] - async def get_events(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Dict[Control, Event]: + async def get_events( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Dict[Control, Event]: if extra is None: extra = {} request = GetEventsRequest(controller=self.name, extra=dict_to_struct(extra)) @@ -58,7 +70,12 @@ async def get_events(self, *, extra: Optional[Dict[str, Any]] = None, timeout: O return {Control(event.control): Event.from_proto(event) for (event) in response.events} def register_control_callback( - self, control: Control, triggers: List[EventType], function: Optional[ControlFunction], extra: Optional[Dict[str, Any]] = None + self, + control: Control, + triggers: List[EventType], + function: Optional[ControlFunction], + extra: Optional[Dict[str, Any]] = None, + **__, ): if extra is None: extra = {} @@ -92,7 +109,14 @@ def reset_channel(self, channel: Channel): for event_type, func in callback.items(): self.register_control_callback(control, [event_type], func) - async def trigger_event(self, event: Event, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None): + async def trigger_event( + self, + event: Event, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = TriggerEventRequest(controller=self.name, event=event.proto, extra=dict_to_struct(extra)) @@ -156,7 +180,13 @@ def _execute_callback(self, event: Event): if all_callback is not None: all_callback(event) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/input/input.py b/src/viam/components/input/input.py index 92c2a3158..a90c71d2d 100644 --- a/src/viam/components/input/input.py +++ b/src/viam/components/input/input.py @@ -137,13 +137,27 @@ class Controller(ComponentBase): and analogReaders, a keyboard, etc. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "input_controller") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "input_controller" + ) @abc.abstractmethod async def get_controls(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Control]: """ Returns a list of Controls provided by the Controller + :: + + # Get the controller from the machine. + my_controller = Controller.from_robot( + robot=myRobotWithController, name="my_controller") + + # Get the list of Controls provided by the controller. + controls = await my_controller.get_controls() + + # Print the list of Controls provided by the controller. + print(f"Controls: {controls}") + Returns: List[Control]: List of controls provided by the Controller """ @@ -157,6 +171,18 @@ async def get_events( Returns the most recent Event for each input (which should be the current state) + :: + + # Get the controller from the machine. + my_controller = Controller.from_robot( + robot=myRobotWithController, name="my_controller") + + # Get the most recent Event for each Control. + recent_events = await my_controller.get_events() + + # Print out the most recent Event for each Control. + print(f"Recent Events: {recent_events}") + Returns: Dict[Control, Event]: The most recent event for each input """ @@ -176,6 +202,46 @@ def register_control_callback( Register a function that will fire on given EventTypes for a given Control + :: + + # Define a function to handle pressing the Start Menu Button "BUTTON_START" on + # your controller, printing out the start time. + def print_start_time(event): + print(f"Start Menu Button was pressed at this time: {event.time}") + + + # Define a function that handles the controller. + async def handle_controller(controller): + # Get the list of Controls on the controller. + controls = await controller.get_controls() + + # If the "BUTTON_START" Control is found, register the function + # print_start_time to fire when "BUTTON_START" has the event "ButtonPress" + # occur. + if Control.BUTTON_START in controls: + controller.register_control_callback( + Control.BUTTON_START, [EventType.BUTTON_PRESS], print_start_time) + else: + print("Oops! Couldn't find the start button control! Is your " + "controller connected?") + exit() + + while True: + await asyncio.sleep(1.0) + + + async def main(): + # ... < INSERT CONNECTION CODE FROM MACHINE'S CODE SAMPLE TAB > + + # Get your controller from the machine. + my_controller = Controller.from_robot( + robot=myRobotWithController, name="my_controller") + + # Run the handleController function. + await handleController(my_controller) + + # ... < INSERT ANY OTHER CODE FOR MAIN FUNCTION > + Args: control (Control): The control to register the function for triggers (List[EventType]): The events that will @@ -185,9 +251,26 @@ def register_control_callback( """ ... - async def trigger_event(self, event: Event, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def trigger_event( + self, + event: Event, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> None: # Explicitly return None for typechecking, as this is technically a NoReturn default implementation """Directly send an Event (such as a button press) from external code + :: + + # Define a "Button is Pressed" event for the control BUTTON_START. + button_is_pressed_event = Event( + time(), EventType.BUTTON_PRESS, Control.BUTTON_START, 1.0) + + # Trigger the event on your controller. Set this trigger to timeout if it has + # not completed in 7 seconds. + await myController.trigger_event(event=my_event, timeout=7.0) + Args: event (Event): The event to trigger """ diff --git a/src/viam/components/input/service.py b/src/viam/components/input/service.py index 17f81e52a..01175a183 100644 --- a/src/viam/components/input/service.py +++ b/src/viam/components/input/service.py @@ -27,7 +27,7 @@ LOGGER = viam.logging.getLogger(__name__) -class InputControllerRPCService(InputControllerServiceBase, ResourceRPCServiceBase): +class InputControllerRPCService(InputControllerServiceBase, ResourceRPCServiceBase[Controller]): """ gRPC Service for an input controller """ diff --git a/src/viam/components/motor/client.py b/src/viam/components/motor/client.py index 8abe20e31..dc6e0ff14 100644 --- a/src/viam/components/motor/client.py +++ b/src/viam/components/motor/client.py @@ -41,6 +41,7 @@ async def set_power( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -54,6 +55,7 @@ async def go_for( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -67,6 +69,7 @@ async def go_to( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -79,6 +82,7 @@ async def reset_zero_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -90,6 +94,7 @@ async def get_position( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> float: if extra is None: extra = {} @@ -102,6 +107,7 @@ async def get_properties( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Motor.Properties: if extra is None: extra = {} @@ -114,6 +120,7 @@ async def stop( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ): if extra is None: extra = {} @@ -125,6 +132,7 @@ async def is_powered( *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Tuple[bool, float]: if extra is None: extra = {} @@ -137,7 +145,13 @@ async def is_moving(self, *, timeout: Optional[float] = None) -> bool: response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) return response.is_moving - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/motor/motor.py b/src/viam/components/motor/motor.py index 46c90acfc..16df69e8a 100644 --- a/src/viam/components/motor/motor.py +++ b/src/viam/components/motor/motor.py @@ -19,7 +19,9 @@ class Motor(ComponentBase): class Properties: position_reporting: bool - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "motor") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "motor" + ) @abc.abstractmethod async def set_power( diff --git a/src/viam/components/motor/service.py b/src/viam/components/motor/service.py index 26073b528..638e5be53 100644 --- a/src/viam/components/motor/service.py +++ b/src/viam/components/motor/service.py @@ -28,7 +28,7 @@ from .motor import Motor -class MotorRPCService(MotorServiceBase, ResourceRPCServiceBase): +class MotorRPCService(MotorServiceBase, ResourceRPCServiceBase[Motor]): """ gRPC Service for a Motor """ diff --git a/src/viam/components/movement_sensor/client.py b/src/viam/components/movement_sensor/client.py index 6d99af3cc..238218f4d 100644 --- a/src/viam/components/movement_sensor/client.py +++ b/src/viam/components/movement_sensor/client.py @@ -6,7 +6,6 @@ from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetReadingsRequest, GetReadingsResponse from viam.proto.component.movementsensor import ( GetAccuracyRequest, - GetAccuracyResponse, GetAngularVelocityRequest, GetAngularVelocityResponse, GetCompassHeadingRequest, @@ -37,63 +36,116 @@ def __init__(self, name: str, channel: Channel): self.client = MovementSensorServiceStub(channel) super().__init__(name) - async def get_position(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Tuple[GeoPoint, float]: + async def get_position( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Tuple[GeoPoint, float]: if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) return response.coordinate, response.altitude_m - async def get_linear_velocity(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Vector3: + async def get_linear_velocity( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Vector3: if extra is None: extra = {} request = GetLinearVelocityRequest(name=self.name, extra=dict_to_struct(extra)) response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout) return response.linear_velocity - async def get_angular_velocity(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Vector3: + async def get_angular_velocity( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Vector3: if extra is None: extra = {} request = GetAngularVelocityRequest(name=self.name, extra=dict_to_struct(extra)) response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout) return response.angular_velocity - async def get_linear_acceleration(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Vector3: + async def get_linear_acceleration( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Vector3: if extra is None: extra = {} request = GetLinearAccelerationRequest(name=self.name, extra=dict_to_struct(extra)) response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout) return response.linear_acceleration - async def get_compass_heading(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> float: + async def get_compass_heading( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> float: if extra is None: extra = {} request = GetCompassHeadingRequest(name=self.name, extra=dict_to_struct(extra)) response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout) return response.value - async def get_orientation(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Orientation: + async def get_orientation( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Orientation: if extra is None: extra = {} request = GetOrientationRequest(name=self.name, extra=dict_to_struct(extra)) response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout) return response.orientation - async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> MovementSensor.Properties: + async def get_properties( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> MovementSensor.Properties: if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) return MovementSensor.Properties.from_proto(response) - async def get_accuracy(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Mapping[str, float]: + async def get_accuracy( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> MovementSensor.Accuracy: if extra is None: extra = {} request = GetAccuracyRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetAccuracyResponse = await self.client.GetAccuracy(request, timeout=timeout) - return response.accuracy - - async def get_readings(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Mapping[str, SensorReading]: + return await self.client.GetAccuracy(request, timeout=timeout) + + async def get_readings( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, SensorReading]: if extra is None: extra = {} request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra)) @@ -101,7 +153,13 @@ async def get_readings(self, *, extra: Optional[Dict[str, Any]] = None, timeout: return sensor_readings_value_to_native(response.readings) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/movement_sensor/movement_sensor.py b/src/viam/components/movement_sensor/movement_sensor.py index 19d29662a..252fee7d2 100644 --- a/src/viam/components/movement_sensor/movement_sensor.py +++ b/src/viam/components/movement_sensor/movement_sensor.py @@ -1,16 +1,22 @@ import abc +import sys from dataclasses import dataclass from typing import Any, Dict, Final, Mapping, Optional, Tuple from typing_extensions import Self from viam.components.component_base import ComponentBase -from viam.proto.component.movementsensor import GetPropertiesResponse +from viam.proto.component.movementsensor import GetAccuracyResponse, GetPropertiesResponse from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype from viam.utils import SensorReading from . import GeoPoint, Orientation, Vector3 +if sys.version_info >= (3, 10): + from typing import TypeAlias +else: + from typing_extensions import TypeAlias + class MovementSensor(ComponentBase): """MovementSensor reports information about the robot's direction, position and speed. @@ -19,7 +25,11 @@ class MovementSensor(ComponentBase): This cannot be used on its own. If the ``__init__()`` function is overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "movement_sensor") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "movement_sensor" + ) + + Accuracy: "TypeAlias" = GetAccuracyResponse @dataclass class Properties: @@ -120,13 +130,11 @@ async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeou ... @abc.abstractmethod - async def get_accuracy( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs - ) -> Mapping[str, float]: + async def get_accuracy(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Accuracy: """Get the accuracy of the various sensors Returns: - Dict[str, float]: The accuracy + MovementSensor.Accuracy: The accuracies of the movement sensor """ ... diff --git a/src/viam/components/movement_sensor/service.py b/src/viam/components/movement_sensor/service.py index d279710e3..003dbae01 100644 --- a/src/viam/components/movement_sensor/service.py +++ b/src/viam/components/movement_sensor/service.py @@ -32,7 +32,7 @@ from viam.utils import dict_to_struct, sensor_readings_native_to_value, struct_to_dict -class MovementSensorRPCService(MovementSensorServiceBase, ResourceRPCServiceBase): +class MovementSensorRPCService(MovementSensorServiceBase, ResourceRPCServiceBase[MovementSensor]): """ gRPC Service for a MovementSensor """ @@ -115,8 +115,7 @@ async def GetAccuracy(self, stream: Stream[GetAccuracyRequest, GetAccuracyRespon sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None accuracy = await sensor.get_accuracy(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) - response = GetAccuracyResponse(accuracy=accuracy) - await stream.send_message(response) + await stream.send_message(accuracy) async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: request = await stream.recv_message() diff --git a/src/viam/components/pose_tracker/client.py b/src/viam/components/pose_tracker/client.py index e54c068df..308f30535 100644 --- a/src/viam/components/pose_tracker/client.py +++ b/src/viam/components/pose_tracker/client.py @@ -26,6 +26,7 @@ async def get_poses( *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, + **__, ) -> Dict[str, PoseInFrame]: if extra is None: extra = {} @@ -33,7 +34,13 @@ async def get_poses( response: GetPosesResponse = await self.client.GetPoses(request, timeout=timeout) return {key: response.body_poses[key] for key in response.body_poses.keys()} - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/pose_tracker/pose_tracker.py b/src/viam/components/pose_tracker/pose_tracker.py index 5518bcf42..ca0b70843 100644 --- a/src/viam/components/pose_tracker/pose_tracker.py +++ b/src/viam/components/pose_tracker/pose_tracker.py @@ -16,7 +16,9 @@ class PoseTracker(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "pose_tracker") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "pose_tracker" + ) @abc.abstractmethod async def get_poses( diff --git a/src/viam/components/pose_tracker/service.py b/src/viam/components/pose_tracker/service.py index 5f2a4d571..96fc069f9 100644 --- a/src/viam/components/pose_tracker/service.py +++ b/src/viam/components/pose_tracker/service.py @@ -8,7 +8,7 @@ from .pose_tracker import PoseTracker -class PoseTrackerRPCService(PoseTrackerServiceBase, ResourceRPCServiceBase): +class PoseTrackerRPCService(PoseTrackerServiceBase, ResourceRPCServiceBase[PoseTracker]): """ gRPC service for a pose tracker """ diff --git a/src/viam/components/power_sensor/client.py b/src/viam/components/power_sensor/client.py index d46baeb6c..7418ef6cd 100644 --- a/src/viam/components/power_sensor/client.py +++ b/src/viam/components/power_sensor/client.py @@ -25,35 +25,65 @@ def __init__(self, name: str, channel: Channel): self.client = PowerSensorServiceStub(channel) super().__init__(name) - async def get_voltage(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Tuple[float, bool]: + async def get_voltage( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Tuple[float, bool]: if extra is None: extra = {} request = GetVoltageRequest(name=self.name, extra=dict_to_struct(extra)) response: GetVoltageResponse = await self.client.GetVoltage(request, timeout=timeout) return response.volts, response.is_ac - async def get_current(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Tuple[float, bool]: + async def get_current( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Tuple[float, bool]: if extra is None: extra = {} request = GetCurrentRequest(name=self.name, extra=dict_to_struct(extra)) response: GetCurrentResponse = await self.client.GetCurrent(request, timeout=timeout) return response.amperes, response.is_ac - async def get_power(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> float: + async def get_power( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> float: if extra is None: extra = {} request = GetPowerRequest(name=self.name, extra=dict_to_struct(extra)) response: GetPowerResponse = await self.client.GetPower(request, timeout=timeout) return response.watts - async def get_readings(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> Mapping[str, SensorReading]: + async def get_readings( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, SensorReading]: if extra is None: extra = {} request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra)) response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) return sensor_readings_value_to_native(response.readings) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/power_sensor/power_sensor.py b/src/viam/components/power_sensor/power_sensor.py index 33d917917..36d78f5b9 100644 --- a/src/viam/components/power_sensor/power_sensor.py +++ b/src/viam/components/power_sensor/power_sensor.py @@ -13,7 +13,9 @@ class PowerSensor(ComponentBase): This cannot be used on its own. If the ``__init__()`` function is overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "power_sensor") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "power_sensor" + ) @abc.abstractmethod async def get_voltage(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Tuple[float, bool]: diff --git a/src/viam/components/power_sensor/service.py b/src/viam/components/power_sensor/service.py index a72e71df4..1de709fdc 100644 --- a/src/viam/components/power_sensor/service.py +++ b/src/viam/components/power_sensor/service.py @@ -15,7 +15,7 @@ from viam.utils import dict_to_struct, sensor_readings_native_to_value, struct_to_dict -class PowerSensorRPCService(PowerSensorServiceBase, ResourceRPCServiceBase): +class PowerSensorRPCService(PowerSensorServiceBase, ResourceRPCServiceBase[PowerSensor]): """ gRPC Service for a PowerSensor """ diff --git a/src/viam/components/sensor/client.py b/src/viam/components/sensor/client.py index 42d0da523..d6859b028 100644 --- a/src/viam/components/sensor/client.py +++ b/src/viam/components/sensor/client.py @@ -21,7 +21,11 @@ def __init__(self, name: str, channel: Channel): super().__init__(name) async def get_readings( - self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **__, ) -> Mapping[str, SensorReading]: if extra is None: extra = {} @@ -29,7 +33,13 @@ async def get_readings( response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) return sensor_readings_value_to_native(response.readings) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/sensor/sensor.py b/src/viam/components/sensor/sensor.py index f0c2ed3ce..d030441eb 100644 --- a/src/viam/components/sensor/sensor.py +++ b/src/viam/components/sensor/sensor.py @@ -1,5 +1,5 @@ import abc -from typing import Any, Mapping, Optional +from typing import Any, Final, Mapping, Optional from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype from viam.utils import SensorReading @@ -16,7 +16,9 @@ class Sensor(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "sensor") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "sensor" + ) @abc.abstractmethod async def get_readings( diff --git a/src/viam/components/sensor/service.py b/src/viam/components/sensor/service.py index 049693b26..d669b0ed6 100644 --- a/src/viam/components/sensor/service.py +++ b/src/viam/components/sensor/service.py @@ -15,7 +15,7 @@ from .sensor import Sensor -class SensorRPCService(SensorServiceBase, ResourceRPCServiceBase): +class SensorRPCService(SensorServiceBase, ResourceRPCServiceBase[Sensor]): """ gRPC Service for a generic Sensor """ diff --git a/src/viam/components/servo/client.py b/src/viam/components/servo/client.py index f42500c3f..1e163122f 100644 --- a/src/viam/components/servo/client.py +++ b/src/viam/components/servo/client.py @@ -28,20 +28,39 @@ def __init__(self, name: str, channel: Channel): self.client = ServoServiceStub(channel) super().__init__(name) - async def get_position(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None) -> int: + async def get_position( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ) -> int: if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) return response.position_deg - async def move(self, angle: int, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): + async def move( + self, + angle: int, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = MoveRequest(name=self.name, angle_deg=angle, extra=dict_to_struct(extra)) await self.client.Move(request, timeout=timeout) - async def stop(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None): + async def stop( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **__, + ): if extra is None: extra = {} request = StopRequest(name=self.name, extra=dict_to_struct(extra)) @@ -52,7 +71,13 @@ async def is_moving(self, *, timeout: Optional[float] = None) -> bool: response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) return response.is_moving - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/components/servo/service.py b/src/viam/components/servo/service.py index bd9672d31..928a353f4 100644 --- a/src/viam/components/servo/service.py +++ b/src/viam/components/servo/service.py @@ -18,7 +18,7 @@ from .servo import Servo -class ServoRPCService(ServoServiceBase, ResourceRPCServiceBase): +class ServoRPCService(ServoServiceBase, ResourceRPCServiceBase[Servo]): """ gRPC Service for a Servo """ diff --git a/src/viam/components/servo/servo.py b/src/viam/components/servo/servo.py index f858f158c..aaef6b124 100644 --- a/src/viam/components/servo/servo.py +++ b/src/viam/components/servo/servo.py @@ -15,7 +15,9 @@ class Servo(ComponentBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "servo") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, "servo" + ) @abc.abstractmethod async def move(self, angle: int, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs): diff --git a/src/viam/gen/app/agent/v1/agent_grpc.py b/src/viam/gen/app/agent/v1/agent_grpc.py index 20226426b..a339d295e 100644 --- a/src/viam/gen/app/agent/v1/agent_grpc.py +++ b/src/viam/gen/app/agent/v1/agent_grpc.py @@ -5,6 +5,7 @@ if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.duration_pb2 +import google.protobuf.struct_pb2 from .... import tagger from .... import app diff --git a/src/viam/gen/app/agent/v1/agent_pb2.py b/src/viam/gen/app/agent/v1/agent_pb2.py index 98e2fa323..9f57e4c9c 100644 --- a/src/viam/gen/app/agent/v1/agent_pb2.py +++ b/src/viam/gen/app/agent/v1/agent_pb2.py @@ -5,8 +5,9 @@ from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 +from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from ....tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18app/agent/v1/agent.proto\x12\x11viam.app.agent.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x16tagger/v1/tagger.proto"\'\n\x15GetAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"^\n\x16GetAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"p\n\x18UpdateAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x0cagent_config\x18\x02 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"a\n\x19UpdateAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"\x9b\x02\n\x0eAppAgentConfig\x12\x9c\x01\n\x11subsystem_configs\x18\x01 \x03(\x0b27.viam.app.agent.v1.AppAgentConfig.SubsystemConfigsEntryB6\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"R\x10subsystemConfigs\x1aj\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12;\n\x05value\x18\x02 \x01(\x0b2%.viam.app.agent.v1.AppSubsystemConfigR\x05value:\x028\x01"\xe0\x02\n\x12AppSubsystemConfig\x12[\n\x0frelease_channel\x18\x01 \x01(\tB2\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"R\x0ereleaseChannel\x12K\n\x0bpin_version\x18\x02 \x01(\tB*\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"R\npinVersion\x12;\n\x07pin_url\x18\x03 \x01(\tB"\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"R\x06pinUrl\x12c\n\x11disable_subsystem\x18\x04 \x01(\x08B6\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"R\x10disableSubsystem"\x9d\x02\n\x18DeviceAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\thost_info\x18\x02 \x01(\x0b2\x1b.viam.app.agent.v1.HostInfoR\x08hostInfo\x12q\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryR\x11subsystemVersions\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xbd\x02\n\x19DeviceAgentConfigResponse\x12o\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryR\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\x1am\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.viam.app.agent.v1.DeviceSubsystemConfigR\x05value:\x028\x01"\x9f\x01\n\x15DeviceSubsystemConfig\x12G\n\x0bupdate_info\x18\x01 \x01(\x0b2&.viam.app.agent.v1.SubsystemUpdateInfoR\nupdateInfo\x12\x18\n\x07disable\x18\x02 \x01(\x08R\x07disable\x12#\n\rforce_restart\x18\x03 \x01(\x08R\x0cforceRestart"R\n\x08HostInfo\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12\x16\n\x06distro\x18\x02 \x01(\tR\x06distro\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags"\xaf\x01\n\x13SubsystemUpdateInfo\x12\x1a\n\x08filename\x18\x01 \x01(\tR\x08filename\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x16\n\x06sha256\x18\x04 \x01(\x0cR\x06sha256\x128\n\x06format\x18\x05 \x01(\x0e2 .viam.app.agent.v1.PackageFormatR\x06format*\x9f\x01\n\rPackageFormat\x12\x1e\n\x1aPACKAGE_FORMAT_UNSPECIFIED\x10\x00\x12\x16\n\x12PACKAGE_FORMAT_RAW\x10\x01\x12\x15\n\x11PACKAGE_FORMAT_XZ\x10\x02\x12\x1d\n\x19PACKAGE_FORMAT_EXECUTABLE\x10\x03\x12 \n\x1cPACKAGE_FORMAT_XZ_EXECUTABLE\x10\x042\xe8\x01\n\x0fAgentAppService\x12e\n\x0eGetAgentConfig\x12(.viam.app.agent.v1.GetAgentConfigRequest\x1a).viam.app.agent.v1.GetAgentConfigResponse\x12n\n\x11UpdateAgentConfig\x12+.viam.app.agent.v1.UpdateAgentConfigRequest\x1a,.viam.app.agent.v1.UpdateAgentConfigResponse2\x84\x01\n\x12AgentDeviceService\x12n\n\x11DeviceAgentConfig\x12+.viam.app.agent.v1.DeviceAgentConfigRequest\x1a,.viam.app.agent.v1.DeviceAgentConfigResponseB\x1eZ\x1cgo.viam.com/api/app/agent/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18app/agent/v1/agent.proto\x12\x11viam.app.agent.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\'\n\x15GetAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"^\n\x16GetAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"p\n\x18UpdateAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x0cagent_config\x18\x02 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"a\n\x19UpdateAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"\x9b\x02\n\x0eAppAgentConfig\x12\x9c\x01\n\x11subsystem_configs\x18\x01 \x03(\x0b27.viam.app.agent.v1.AppAgentConfig.SubsystemConfigsEntryB6\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"R\x10subsystemConfigs\x1aj\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12;\n\x05value\x18\x02 \x01(\x0b2%.viam.app.agent.v1.AppSubsystemConfigR\x05value:\x028\x01"\xc3\x03\n\x12AppSubsystemConfig\x12[\n\x0frelease_channel\x18\x01 \x01(\tB2\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"R\x0ereleaseChannel\x12K\n\x0bpin_version\x18\x02 \x01(\tB*\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"R\npinVersion\x12;\n\x07pin_url\x18\x03 \x01(\tB"\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"R\x06pinUrl\x12c\n\x11disable_subsystem\x18\x04 \x01(\x08B6\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"R\x10disableSubsystem\x12a\n\nattributes\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB(\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"R\nattributes"\x9d\x02\n\x18DeviceAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\thost_info\x18\x02 \x01(\x0b2\x1b.viam.app.agent.v1.HostInfoR\x08hostInfo\x12q\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryR\x11subsystemVersions\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xbd\x02\n\x19DeviceAgentConfigResponse\x12o\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryR\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\x1am\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.viam.app.agent.v1.DeviceSubsystemConfigR\x05value:\x028\x01"\xd8\x01\n\x15DeviceSubsystemConfig\x12G\n\x0bupdate_info\x18\x01 \x01(\x0b2&.viam.app.agent.v1.SubsystemUpdateInfoR\nupdateInfo\x12\x18\n\x07disable\x18\x02 \x01(\x08R\x07disable\x12#\n\rforce_restart\x18\x03 \x01(\x08R\x0cforceRestart\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"R\n\x08HostInfo\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12\x16\n\x06distro\x18\x02 \x01(\tR\x06distro\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags"\xaf\x01\n\x13SubsystemUpdateInfo\x12\x1a\n\x08filename\x18\x01 \x01(\tR\x08filename\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x16\n\x06sha256\x18\x04 \x01(\x0cR\x06sha256\x128\n\x06format\x18\x05 \x01(\x0e2 .viam.app.agent.v1.PackageFormatR\x06format*\x9f\x01\n\rPackageFormat\x12\x1e\n\x1aPACKAGE_FORMAT_UNSPECIFIED\x10\x00\x12\x16\n\x12PACKAGE_FORMAT_RAW\x10\x01\x12\x15\n\x11PACKAGE_FORMAT_XZ\x10\x02\x12\x1d\n\x19PACKAGE_FORMAT_EXECUTABLE\x10\x03\x12 \n\x1cPACKAGE_FORMAT_XZ_EXECUTABLE\x10\x042\xe8\x01\n\x0fAgentAppService\x12e\n\x0eGetAgentConfig\x12(.viam.app.agent.v1.GetAgentConfigRequest\x1a).viam.app.agent.v1.GetAgentConfigResponse\x12n\n\x11UpdateAgentConfig\x12+.viam.app.agent.v1.UpdateAgentConfigRequest\x1a,.viam.app.agent.v1.UpdateAgentConfigResponse2\x84\x01\n\x12AgentDeviceService\x12n\n\x11DeviceAgentConfig\x12+.viam.app.agent.v1.DeviceAgentConfigRequest\x1a,.viam.app.agent.v1.DeviceAgentConfigResponseB\x1eZ\x1cgo.viam.com/api/app/agent/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.agent.v1.agent_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -24,41 +25,43 @@ _APPSUBSYSTEMCONFIG.fields_by_name['pin_url']._serialized_options = b'\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"' _APPSUBSYSTEMCONFIG.fields_by_name['disable_subsystem']._options = None _APPSUBSYSTEMCONFIG.fields_by_name['disable_subsystem']._serialized_options = b'\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"' + _APPSUBSYSTEMCONFIG.fields_by_name['attributes']._options = None + _APPSUBSYSTEMCONFIG.fields_by_name['attributes']._serialized_options = b'\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"' _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._options = None _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_options = b'8\x01' _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._options = None _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_options = b'8\x01' - _PACKAGEFORMAT._serialized_start = 2127 - _PACKAGEFORMAT._serialized_end = 2286 - _GETAGENTCONFIGREQUEST._serialized_start = 103 - _GETAGENTCONFIGREQUEST._serialized_end = 142 - _GETAGENTCONFIGRESPONSE._serialized_start = 144 - _GETAGENTCONFIGRESPONSE._serialized_end = 238 - _UPDATEAGENTCONFIGREQUEST._serialized_start = 240 - _UPDATEAGENTCONFIGREQUEST._serialized_end = 352 - _UPDATEAGENTCONFIGRESPONSE._serialized_start = 354 - _UPDATEAGENTCONFIGRESPONSE._serialized_end = 451 - _APPAGENTCONFIG._serialized_start = 454 - _APPAGENTCONFIG._serialized_end = 737 - _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_start = 631 - _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_end = 737 - _APPSUBSYSTEMCONFIG._serialized_start = 740 - _APPSUBSYSTEMCONFIG._serialized_end = 1092 - _DEVICEAGENTCONFIGREQUEST._serialized_start = 1095 - _DEVICEAGENTCONFIGREQUEST._serialized_end = 1380 - _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_start = 1312 - _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_end = 1380 - _DEVICEAGENTCONFIGRESPONSE._serialized_start = 1383 - _DEVICEAGENTCONFIGRESPONSE._serialized_end = 1700 - _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_start = 1591 - _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_end = 1700 - _DEVICESUBSYSTEMCONFIG._serialized_start = 1703 - _DEVICESUBSYSTEMCONFIG._serialized_end = 1862 - _HOSTINFO._serialized_start = 1864 - _HOSTINFO._serialized_end = 1946 - _SUBSYSTEMUPDATEINFO._serialized_start = 1949 - _SUBSYSTEMUPDATEINFO._serialized_end = 2124 - _AGENTAPPSERVICE._serialized_start = 2289 - _AGENTAPPSERVICE._serialized_end = 2521 - _AGENTDEVICESERVICE._serialized_start = 2524 - _AGENTDEVICESERVICE._serialized_end = 2656 \ No newline at end of file + _PACKAGEFORMAT._serialized_start = 2313 + _PACKAGEFORMAT._serialized_end = 2472 + _GETAGENTCONFIGREQUEST._serialized_start = 133 + _GETAGENTCONFIGREQUEST._serialized_end = 172 + _GETAGENTCONFIGRESPONSE._serialized_start = 174 + _GETAGENTCONFIGRESPONSE._serialized_end = 268 + _UPDATEAGENTCONFIGREQUEST._serialized_start = 270 + _UPDATEAGENTCONFIGREQUEST._serialized_end = 382 + _UPDATEAGENTCONFIGRESPONSE._serialized_start = 384 + _UPDATEAGENTCONFIGRESPONSE._serialized_end = 481 + _APPAGENTCONFIG._serialized_start = 484 + _APPAGENTCONFIG._serialized_end = 767 + _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_start = 661 + _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_end = 767 + _APPSUBSYSTEMCONFIG._serialized_start = 770 + _APPSUBSYSTEMCONFIG._serialized_end = 1221 + _DEVICEAGENTCONFIGREQUEST._serialized_start = 1224 + _DEVICEAGENTCONFIGREQUEST._serialized_end = 1509 + _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_start = 1441 + _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_end = 1509 + _DEVICEAGENTCONFIGRESPONSE._serialized_start = 1512 + _DEVICEAGENTCONFIGRESPONSE._serialized_end = 1829 + _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_start = 1720 + _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_end = 1829 + _DEVICESUBSYSTEMCONFIG._serialized_start = 1832 + _DEVICESUBSYSTEMCONFIG._serialized_end = 2048 + _HOSTINFO._serialized_start = 2050 + _HOSTINFO._serialized_end = 2132 + _SUBSYSTEMUPDATEINFO._serialized_start = 2135 + _SUBSYSTEMUPDATEINFO._serialized_end = 2310 + _AGENTAPPSERVICE._serialized_start = 2475 + _AGENTAPPSERVICE._serialized_end = 2707 + _AGENTDEVICESERVICE._serialized_start = 2710 + _AGENTDEVICESERVICE._serialized_end = 2842 \ No newline at end of file diff --git a/src/viam/gen/app/agent/v1/agent_pb2.pyi b/src/viam/gen/app/agent/v1/agent_pb2.pyi index 9fc97e861..a69f5b15c 100644 --- a/src/viam/gen/app/agent/v1/agent_pb2.pyi +++ b/src/viam/gen/app/agent/v1/agent_pb2.pyi @@ -9,6 +9,7 @@ import google.protobuf.duration_pb2 import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message +import google.protobuf.struct_pb2 import sys import typing if sys.version_info >= (3, 10): @@ -164,15 +165,23 @@ class AppSubsystemConfig(google.protobuf.message.Message): PIN_VERSION_FIELD_NUMBER: builtins.int PIN_URL_FIELD_NUMBER: builtins.int DISABLE_SUBSYSTEM_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int release_channel: builtins.str pin_version: builtins.str pin_url: builtins.str disable_subsystem: builtins.bool - def __init__(self, *, release_channel: builtins.str=..., pin_version: builtins.str=..., pin_url: builtins.str=..., disable_subsystem: builtins.bool=...) -> None: + @property + def attributes(self) -> google.protobuf.struct_pb2.Struct: + ... + + def __init__(self, *, release_channel: builtins.str=..., pin_version: builtins.str=..., pin_url: builtins.str=..., disable_subsystem: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['disable_subsystem', b'disable_subsystem', 'pin_url', b'pin_url', 'pin_version', b'pin_version', 'release_channel', b'release_channel']) -> None: + def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'disable_subsystem', b'disable_subsystem', 'pin_url', b'pin_url', 'pin_version', b'pin_version', 'release_channel', b'release_channel']) -> None: ... global___AppSubsystemConfig = AppSubsystemConfig @@ -270,6 +279,7 @@ class DeviceSubsystemConfig(google.protobuf.message.Message): UPDATE_INFO_FIELD_NUMBER: builtins.int DISABLE_FIELD_NUMBER: builtins.int FORCE_RESTART_FIELD_NUMBER: builtins.int + ATTRIBUTES_FIELD_NUMBER: builtins.int @property def update_info(self) -> global___SubsystemUpdateInfo: @@ -279,13 +289,17 @@ class DeviceSubsystemConfig(google.protobuf.message.Message): force_restart: builtins.bool 'force_restart will restart the subsystem, even if no updates are available' - def __init__(self, *, update_info: global___SubsystemUpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=...) -> None: + @property + def attributes(self) -> google.protobuf.struct_pb2.Struct: + """arbitrary config sections""" + + def __init__(self, *, update_info: global___SubsystemUpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['update_info', b'update_info']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'update_info', b'update_info']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['disable', b'disable', 'force_restart', b'force_restart', 'update_info', b'update_info']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'disable', b'disable', 'force_restart', b'force_restart', 'update_info', b'update_info']) -> None: ... global___DeviceSubsystemConfig = DeviceSubsystemConfig diff --git a/src/viam/gen/app/data/v1/data_pb2.py b/src/viam/gen/app/data/v1/data_pb2.py index 60020b22e..7c232d01a 100644 --- a/src/viam/gen/app/data/v1/data_pb2.py +++ b/src/viam/gen/app/data/v1/data_pb2.py @@ -7,7 +7,7 @@ from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"G\n\x18TabularDataBySQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"~\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tmql_query\x18\x02 \x01(\tR\x08mqlQuery\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinary"G\n\x18TabularDataByMQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\x9e\x03\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"~\n"AddBinaryDataToDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\x83\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\xfc\x13\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"G\n\x18TabularDataBySQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"r\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinaryJ\x04\x08\x02\x10\x03R\tmql_query"G\n\x18TabularDataByMQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\x9e\x03\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"~\n"AddBinaryDataToDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\x83\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\xfc\x13\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.data.v1.data_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -15,10 +15,10 @@ DESCRIPTOR._serialized_options = b'Z\x1bgo.viam.com/api/app/data/v1' _CAPTUREMETADATA_METHODPARAMETERSENTRY._options = None _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b'8\x01' - _ORDER._serialized_start = 7019 - _ORDER._serialized_end = 7092 - _TAGSFILTERTYPE._serialized_start = 7095 - _TAGSFILTERTYPE._serialized_end = 7239 + _ORDER._serialized_start = 7007 + _ORDER._serialized_end = 7080 + _TAGSFILTERTYPE._serialized_start = 7083 + _TAGSFILTERTYPE._serialized_end = 7227 _DATAREQUEST._serialized_start = 135 _DATAREQUEST._serialized_end = 296 _FILTER._serialized_start = 299 @@ -42,86 +42,86 @@ _TABULARDATABYSQLRESPONSE._serialized_start = 2379 _TABULARDATABYSQLRESPONSE._serialized_end = 2450 _TABULARDATABYMQLREQUEST._serialized_start = 2452 - _TABULARDATABYMQLREQUEST._serialized_end = 2578 - _TABULARDATABYMQLRESPONSE._serialized_start = 2580 - _TABULARDATABYMQLRESPONSE._serialized_end = 2651 - _BINARYDATA._serialized_start = 2653 - _BINARYDATA._serialized_end = 2751 - _BINARYDATABYFILTERREQUEST._serialized_start = 2754 - _BINARYDATABYFILTERREQUEST._serialized_end = 2969 - _BINARYDATABYFILTERRESPONSE._serialized_start = 2972 - _BINARYDATABYFILTERRESPONSE._serialized_end = 3134 - _BINARYID._serialized_start = 3136 - _BINARYID._serialized_end = 3245 - _BINARYDATABYIDSREQUEST._serialized_start = 3248 - _BINARYDATABYIDSREQUEST._serialized_end = 3386 - _BINARYDATABYIDSRESPONSE._serialized_start = 3388 - _BINARYDATABYIDSRESPONSE._serialized_end = 3485 - _BOUNDINGBOX._serialized_start = 3488 - _BOUNDINGBOX._serialized_end = 3707 - _ANNOTATIONS._serialized_start = 3709 - _ANNOTATIONS._serialized_end = 3777 - _BINARYMETADATA._serialized_start = 3780 - _BINARYMETADATA._serialized_end = 4194 - _DELETETABULARDATAREQUEST._serialized_start = 4196 - _DELETETABULARDATAREQUEST._serialized_end = 4316 - _DELETETABULARDATARESPONSE._serialized_start = 4318 - _DELETETABULARDATARESPONSE._serialized_end = 4382 - _DELETEBINARYDATABYFILTERREQUEST._serialized_start = 4385 - _DELETEBINARYDATABYFILTERREQUEST._serialized_end = 4520 - _DELETEBINARYDATABYFILTERRESPONSE._serialized_start = 4522 - _DELETEBINARYDATABYFILTERRESPONSE._serialized_end = 4607 - _DELETEBINARYDATABYIDSREQUEST._serialized_start = 4609 - _DELETEBINARYDATABYIDSREQUEST._serialized_end = 4714 - _DELETEBINARYDATABYIDSRESPONSE._serialized_start = 4716 - _DELETEBINARYDATABYIDSRESPONSE._serialized_end = 4798 - _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_start = 4801 - _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_end = 4929 - _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_start = 4931 - _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_end = 4965 - _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_start = 4967 - _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_end = 5073 - _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_start = 5075 - _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_end = 5112 - _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_start = 5115 - _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_end = 5248 - _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_start = 5250 - _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_end = 5326 - _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_start = 5328 - _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_end = 5439 - _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_start = 5441 - _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_end = 5520 - _TAGSBYFILTERREQUEST._serialized_start = 5522 - _TAGSBYFILTERREQUEST._serialized_end = 5593 - _TAGSBYFILTERRESPONSE._serialized_start = 5595 - _TAGSBYFILTERRESPONSE._serialized_end = 5637 - _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_start = 5640 - _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_end = 5936 - _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_start = 5938 - _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_end = 5998 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_start = 6001 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_end = 6137 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_start = 6139 - _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_end = 6179 - _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_start = 6181 - _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_end = 6265 - _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_start = 6267 - _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_end = 6326 - _CONFIGUREDATABASEUSERREQUEST._serialized_start = 6328 - _CONFIGUREDATABASEUSERREQUEST._serialized_end = 6427 - _CONFIGUREDATABASEUSERRESPONSE._serialized_start = 6429 - _CONFIGUREDATABASEUSERRESPONSE._serialized_end = 6460 - _GETDATABASECONNECTIONREQUEST._serialized_start = 6462 - _GETDATABASECONNECTIONREQUEST._serialized_end = 6533 - _GETDATABASECONNECTIONRESPONSE._serialized_start = 6536 - _GETDATABASECONNECTIONRESPONSE._serialized_end = 6672 - _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_start = 6674 - _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_end = 6800 - _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_start = 6802 - _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_end = 6839 - _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_start = 6842 - _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_end = 6973 - _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_start = 6975 - _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_end = 7017 - _DATASERVICE._serialized_start = 7242 - _DATASERVICE._serialized_end = 9798 \ No newline at end of file + _TABULARDATABYMQLREQUEST._serialized_end = 2566 + _TABULARDATABYMQLRESPONSE._serialized_start = 2568 + _TABULARDATABYMQLRESPONSE._serialized_end = 2639 + _BINARYDATA._serialized_start = 2641 + _BINARYDATA._serialized_end = 2739 + _BINARYDATABYFILTERREQUEST._serialized_start = 2742 + _BINARYDATABYFILTERREQUEST._serialized_end = 2957 + _BINARYDATABYFILTERRESPONSE._serialized_start = 2960 + _BINARYDATABYFILTERRESPONSE._serialized_end = 3122 + _BINARYID._serialized_start = 3124 + _BINARYID._serialized_end = 3233 + _BINARYDATABYIDSREQUEST._serialized_start = 3236 + _BINARYDATABYIDSREQUEST._serialized_end = 3374 + _BINARYDATABYIDSRESPONSE._serialized_start = 3376 + _BINARYDATABYIDSRESPONSE._serialized_end = 3473 + _BOUNDINGBOX._serialized_start = 3476 + _BOUNDINGBOX._serialized_end = 3695 + _ANNOTATIONS._serialized_start = 3697 + _ANNOTATIONS._serialized_end = 3765 + _BINARYMETADATA._serialized_start = 3768 + _BINARYMETADATA._serialized_end = 4182 + _DELETETABULARDATAREQUEST._serialized_start = 4184 + _DELETETABULARDATAREQUEST._serialized_end = 4304 + _DELETETABULARDATARESPONSE._serialized_start = 4306 + _DELETETABULARDATARESPONSE._serialized_end = 4370 + _DELETEBINARYDATABYFILTERREQUEST._serialized_start = 4373 + _DELETEBINARYDATABYFILTERREQUEST._serialized_end = 4508 + _DELETEBINARYDATABYFILTERRESPONSE._serialized_start = 4510 + _DELETEBINARYDATABYFILTERRESPONSE._serialized_end = 4595 + _DELETEBINARYDATABYIDSREQUEST._serialized_start = 4597 + _DELETEBINARYDATABYIDSREQUEST._serialized_end = 4702 + _DELETEBINARYDATABYIDSRESPONSE._serialized_start = 4704 + _DELETEBINARYDATABYIDSRESPONSE._serialized_end = 4786 + _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_start = 4789 + _ADDTAGSTOBINARYDATABYIDSREQUEST._serialized_end = 4917 + _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_start = 4919 + _ADDTAGSTOBINARYDATABYIDSRESPONSE._serialized_end = 4953 + _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_start = 4955 + _ADDTAGSTOBINARYDATABYFILTERREQUEST._serialized_end = 5061 + _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_start = 5063 + _ADDTAGSTOBINARYDATABYFILTERRESPONSE._serialized_end = 5100 + _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_start = 5103 + _REMOVETAGSFROMBINARYDATABYIDSREQUEST._serialized_end = 5236 + _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_start = 5238 + _REMOVETAGSFROMBINARYDATABYIDSRESPONSE._serialized_end = 5314 + _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_start = 5316 + _REMOVETAGSFROMBINARYDATABYFILTERREQUEST._serialized_end = 5427 + _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_start = 5429 + _REMOVETAGSFROMBINARYDATABYFILTERRESPONSE._serialized_end = 5508 + _TAGSBYFILTERREQUEST._serialized_start = 5510 + _TAGSBYFILTERREQUEST._serialized_end = 5581 + _TAGSBYFILTERRESPONSE._serialized_start = 5583 + _TAGSBYFILTERRESPONSE._serialized_end = 5625 + _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_start = 5628 + _ADDBOUNDINGBOXTOIMAGEBYIDREQUEST._serialized_end = 5924 + _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_start = 5926 + _ADDBOUNDINGBOXTOIMAGEBYIDRESPONSE._serialized_end = 5986 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_start = 5989 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDREQUEST._serialized_end = 6125 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_start = 6127 + _REMOVEBOUNDINGBOXFROMIMAGEBYIDRESPONSE._serialized_end = 6167 + _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_start = 6169 + _BOUNDINGBOXLABELSBYFILTERREQUEST._serialized_end = 6253 + _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_start = 6255 + _BOUNDINGBOXLABELSBYFILTERRESPONSE._serialized_end = 6314 + _CONFIGUREDATABASEUSERREQUEST._serialized_start = 6316 + _CONFIGUREDATABASEUSERREQUEST._serialized_end = 6415 + _CONFIGUREDATABASEUSERRESPONSE._serialized_start = 6417 + _CONFIGUREDATABASEUSERRESPONSE._serialized_end = 6448 + _GETDATABASECONNECTIONREQUEST._serialized_start = 6450 + _GETDATABASECONNECTIONREQUEST._serialized_end = 6521 + _GETDATABASECONNECTIONRESPONSE._serialized_start = 6524 + _GETDATABASECONNECTIONRESPONSE._serialized_end = 6660 + _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_start = 6662 + _ADDBINARYDATATODATASETBYIDSREQUEST._serialized_end = 6788 + _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_start = 6790 + _ADDBINARYDATATODATASETBYIDSRESPONSE._serialized_end = 6827 + _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_start = 6830 + _REMOVEBINARYDATAFROMDATASETBYIDSREQUEST._serialized_end = 6961 + _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_start = 6963 + _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_end = 7005 + _DATASERVICE._serialized_start = 7230 + _DATASERVICE._serialized_end = 9786 \ No newline at end of file diff --git a/src/viam/gen/app/data/v1/data_pb2.pyi b/src/viam/gen/app/data/v1/data_pb2.pyi index 2892a9123..569d60eb5 100644 --- a/src/viam/gen/app/data/v1/data_pb2.pyi +++ b/src/viam/gen/app/data/v1/data_pb2.pyi @@ -388,11 +388,8 @@ class TabularDataByMQLRequest(google.protobuf.message.Message): """TabularDataByMQLRequest requests tabular data using an MQL query.""" DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int - MQL_QUERY_FIELD_NUMBER: builtins.int MQL_BINARY_FIELD_NUMBER: builtins.int organization_id: builtins.str - mql_query: builtins.str - 'mql_query is deprecated.' @property def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: @@ -401,10 +398,10 @@ class TabularDataByMQLRequest(google.protobuf.message.Message): namespace, which holds the Viam organization's tabular data. """ - def __init__(self, *, organization_id: builtins.str=..., mql_query: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=...) -> None: + def __init__(self, *, organization_id: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['mql_binary', b'mql_binary', 'mql_query', b'mql_query', 'organization_id', b'organization_id']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['mql_binary', b'mql_binary', 'organization_id', b'organization_id']) -> None: ... global___TabularDataByMQLRequest = TabularDataByMQLRequest diff --git a/src/viam/gen/app/packages/v1/packages_pb2.py b/src/viam/gen/app/packages/v1/packages_pb2.py index 3d9c4cba0..921d77bae 100644 --- a/src/viam/gen/app/packages/v1/packages_pb2.py +++ b/src/viam/gen/app/packages/v1/packages_pb2.py @@ -7,7 +7,7 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eapp/packages/v1/packages.proto\x12\x14viam.app.packages.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"2\n\x08FileInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size"\xb4\x02\n\x0bPackageInfo\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x125\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x00R\x08platform\x88\x01\x01\x124\n\x05files\x18\x05 \x03(\x0b2\x1e.viam.app.packages.v1.FileInfoR\x05files\x123\n\x08metadata\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x08metadataB\x0b\n\t_platform"x\n\x14CreatePackageRequest\x127\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoH\x00R\x04info\x12\x1c\n\x08contents\x18\x02 \x01(\x0cH\x00R\x08contentsB\t\n\x07package"A\n\x15CreatePackageResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"w\n\x14DeletePackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x17\n\x15DeletePackageResponse"\xb9\x01\n\x07Package\x125\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoR\x04info\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1a\n\x08checksum\x18\x04 \x01(\tR\x08checksum\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\xe6\x01\n\x11GetPackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12$\n\x0binclude_url\x18\x03 \x01(\x08H\x00R\nincludeUrl\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x01R\x04type\x88\x01\x01\x12\x1f\n\x08platform\x18\x05 \x01(\tH\x02R\x08platform\x88\x01\x01B\x0e\n\x0c_include_urlB\x07\n\x05_typeB\x0b\n\t_platform"M\n\x12GetPackageResponse\x127\n\x07package\x18\x01 \x01(\x0b2\x1d.viam.app.packages.v1.PackageR\x07package"\x86\x02\n\x13ListPackagesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1d\n\x07version\x18\x03 \x01(\tH\x01R\x07version\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x02R\x04type\x88\x01\x01\x12$\n\x0binclude_url\x18\x05 \x01(\x08H\x03R\nincludeUrl\x88\x01\x01B\x07\n\x05_nameB\n\n\x08_versionB\x07\n\x05_typeB\x0e\n\x0c_include_url"Q\n\x14ListPackagesResponse\x129\n\x08packages\x18\x01 \x03(\x0b2\x1d.viam.app.packages.v1.PackageR\x08packages*\xb1\x01\n\x0bPackageType\x12\x1c\n\x18PACKAGE_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14PACKAGE_TYPE_ARCHIVE\x10\x01\x12\x19\n\x15PACKAGE_TYPE_ML_MODEL\x10\x02\x12\x17\n\x13PACKAGE_TYPE_MODULE\x10\x03\x12\x19\n\x15PACKAGE_TYPE_SLAM_MAP\x10\x04\x12\x1b\n\x17PACKAGE_TYPE_BOARD_DEFS\x10\x052\xa0\x04\n\x0ePackageService\x12\x87\x01\n\rCreatePackage\x12*.viam.app.packages.v1.CreatePackageRequest\x1a+.viam.app.packages.v1.CreatePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create(\x01\x12\x85\x01\n\rDeletePackage\x12*.viam.app.packages.v1.DeletePackageRequest\x1a+.viam.app.packages.v1.DeletePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete\x12y\n\nGetPackage\x12\'.viam.app.packages.v1.GetPackageRequest\x1a(.viam.app.packages.v1.GetPackageResponse"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get\x12\x80\x01\n\x0cListPackages\x12).viam.app.packages.v1.ListPackagesRequest\x1a*.viam.app.packages.v1.ListPackagesResponse"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/listB!Z\x1fgo.viam.com/api/app/packages/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eapp/packages/v1/packages.proto\x12\x14viam.app.packages.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"2\n\x08FileInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size"\xb4\x02\n\x0bPackageInfo\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x125\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x00R\x08platform\x88\x01\x01\x124\n\x05files\x18\x05 \x03(\x0b2\x1e.viam.app.packages.v1.FileInfoR\x05files\x123\n\x08metadata\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x08metadataB\x0b\n\t_platform"x\n\x14CreatePackageRequest\x127\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoH\x00R\x04info\x12\x1c\n\x08contents\x18\x02 \x01(\x0cH\x00R\x08contentsB\t\n\x07package"A\n\x15CreatePackageResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"w\n\x14DeletePackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x17\n\x15DeletePackageResponse"\xb9\x01\n\x07Package\x125\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoR\x04info\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1a\n\x08checksum\x18\x04 \x01(\tR\x08checksum\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\xe6\x01\n\x11GetPackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12$\n\x0binclude_url\x18\x03 \x01(\x08H\x00R\nincludeUrl\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x01R\x04type\x88\x01\x01\x12\x1f\n\x08platform\x18\x05 \x01(\tH\x02R\x08platform\x88\x01\x01B\x0e\n\x0c_include_urlB\x07\n\x05_typeB\x0b\n\t_platform"M\n\x12GetPackageResponse\x127\n\x07package\x18\x01 \x01(\x0b2\x1d.viam.app.packages.v1.PackageR\x07package"\x86\x02\n\x13ListPackagesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1d\n\x07version\x18\x03 \x01(\tH\x01R\x07version\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x02R\x04type\x88\x01\x01\x12$\n\x0binclude_url\x18\x05 \x01(\x08H\x03R\nincludeUrl\x88\x01\x01B\x07\n\x05_nameB\n\n\x08_versionB\x07\n\x05_typeB\x0e\n\x0c_include_url"Q\n\x14ListPackagesResponse\x129\n\x08packages\x18\x01 \x03(\x0b2\x1d.viam.app.packages.v1.PackageR\x08packages*\x94\x01\n\x0bPackageType\x12\x1c\n\x18PACKAGE_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14PACKAGE_TYPE_ARCHIVE\x10\x01\x12\x19\n\x15PACKAGE_TYPE_ML_MODEL\x10\x02\x12\x17\n\x13PACKAGE_TYPE_MODULE\x10\x03\x12\x19\n\x15PACKAGE_TYPE_SLAM_MAP\x10\x042\xa0\x04\n\x0ePackageService\x12\x87\x01\n\rCreatePackage\x12*.viam.app.packages.v1.CreatePackageRequest\x1a+.viam.app.packages.v1.CreatePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create(\x01\x12\x85\x01\n\rDeletePackage\x12*.viam.app.packages.v1.DeletePackageRequest\x1a+.viam.app.packages.v1.DeletePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete\x12y\n\nGetPackage\x12\'.viam.app.packages.v1.GetPackageRequest\x1a(.viam.app.packages.v1.GetPackageResponse"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get\x12\x80\x01\n\x0cListPackages\x12).viam.app.packages.v1.ListPackagesRequest\x1a*.viam.app.packages.v1.ListPackagesResponse"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/listB!Z\x1fgo.viam.com/api/app/packages/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.packages.v1.packages_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -22,7 +22,7 @@ _PACKAGESERVICE.methods_by_name['ListPackages']._options = None _PACKAGESERVICE.methods_by_name['ListPackages']._serialized_options = b'\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/list' _PACKAGETYPE._serialized_start = 1696 - _PACKAGETYPE._serialized_end = 1873 + _PACKAGETYPE._serialized_end = 1844 _FILEINFO._serialized_start = 149 _FILEINFO._serialized_end = 199 _PACKAGEINFO._serialized_start = 202 @@ -45,5 +45,5 @@ _LISTPACKAGESREQUEST._serialized_end = 1610 _LISTPACKAGESRESPONSE._serialized_start = 1612 _LISTPACKAGESRESPONSE._serialized_end = 1693 - _PACKAGESERVICE._serialized_start = 1876 - _PACKAGESERVICE._serialized_end = 2420 \ No newline at end of file + _PACKAGESERVICE._serialized_start = 1847 + _PACKAGESERVICE._serialized_end = 2391 \ No newline at end of file diff --git a/src/viam/gen/app/packages/v1/packages_pb2.pyi b/src/viam/gen/app/packages/v1/packages_pb2.pyi index a053d4b41..3ff47134e 100644 --- a/src/viam/gen/app/packages/v1/packages_pb2.pyi +++ b/src/viam/gen/app/packages/v1/packages_pb2.pyi @@ -29,7 +29,6 @@ class _PackageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._En PACKAGE_TYPE_ML_MODEL: _PackageType.ValueType PACKAGE_TYPE_MODULE: _PackageType.ValueType PACKAGE_TYPE_SLAM_MAP: _PackageType.ValueType - PACKAGE_TYPE_BOARD_DEFS: _PackageType.ValueType class PackageType(_PackageType, metaclass=_PackageTypeEnumTypeWrapper): ... @@ -38,7 +37,6 @@ PACKAGE_TYPE_ARCHIVE: PackageType.ValueType PACKAGE_TYPE_ML_MODEL: PackageType.ValueType PACKAGE_TYPE_MODULE: PackageType.ValueType PACKAGE_TYPE_SLAM_MAP: PackageType.ValueType -PACKAGE_TYPE_BOARD_DEFS: PackageType.ValueType global___PackageType = PackageType @typing_extensions.final diff --git a/src/viam/gen/app/v1/app_grpc.py b/src/viam/gen/app/v1/app_grpc.py index ccb3b38ca..8b991aaed 100644 --- a/src/viam/gen/app/v1/app_grpc.py +++ b/src/viam/gen/app/v1/app_grpc.py @@ -5,6 +5,7 @@ if typing.TYPE_CHECKING: import grpclib.server from ... import app +from ... import common import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 from ... import tagger diff --git a/src/viam/gen/app/v1/app_pb2.py b/src/viam/gen/app/v1/app_pb2.py index ca02e85a8..e9eb7226f 100644 --- a/src/viam/gen/app/v1/app_pb2.py +++ b/src/viam/gen/app/v1/app_pb2.py @@ -5,10 +5,11 @@ from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from ...app.packages.v1 import packages_pb2 as app_dot_packages_dot_v1_dot_packages__pb2 +from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1eapp/packages/v1/packages.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xa5\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01B\t\n\x07_filterB\r\n\x0b_page_token"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields"m\n\x18GetRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"F\n\x19TailRobotPartLogsResponse\x12)\n\x04logs\x18\x01 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"I\n\x17GetRobotAPIKeysResponse\x12.\n\x08api_keys\x18\x01 \x03(\x0b2\x13.viam.app.v1.APIKeyR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xa1\x01\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"\x94\x01\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"-\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions"\xb9\x04\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadataB\n\n\x08metadata"1\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xc6\x01\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility"\x1c\n\x1aUpdateRegistryItemResponse"\x96\x03\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_token"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xef4\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1eapp/packages/v1/packages.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xc1\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\x0berrors_only\x18\x02 \x01(\x08B\x02\x18\x01R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x16\n\x06levels\x18\x05 \x03(\tR\x06levelsB\t\n\x07_filterB\r\n\x0b_page_token"p\n\x18GetRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"I\n\x19TailRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"[\n\x17GetRobotAPIKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xa1\x01\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"\x94\x01\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"-\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions"\xb7\x06\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x12;\n\x1atotal_external_robot_usage\x18\r \x01(\x03R\x17totalExternalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12I\n!total_external_organization_usage\x18\x0e \x01(\x03R\x1etotalExternalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadata\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\n\n\x08metadata"1\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xc6\x01\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility"\x1c\n\x1aUpdateRegistryItemResponse"\x96\x03\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_token"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xef4\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.app_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -66,6 +67,8 @@ _SHAREDSECRET.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"' _SHAREDSECRET.fields_by_name['state']._options = None _SHAREDSECRET.fields_by_name['state']._serialized_options = b'\x9a\x84\x9e\x03\x0cbson:"state"' + _GETROBOTPARTLOGSREQUEST.fields_by_name['errors_only']._options = None + _GETROBOTPARTLOGSREQUEST.fields_by_name['errors_only']._serialized_options = b'\x18\x01' _FRAGMENT.fields_by_name['id']._options = None _FRAGMENT.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' _FRAGMENT.fields_by_name['name']._options = None @@ -78,347 +81,345 @@ _FRAGMENT.fields_by_name['public']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"public" json:"public"' _FRAGMENT.fields_by_name['created_on']._options = None _FRAGMENT.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' - _REGISTRYITEMSTATUS._serialized_start = 18369 - _REGISTRYITEMSTATUS._serialized_end = 18504 - _VISIBILITY._serialized_start = 18506 - _VISIBILITY._serialized_end = 18593 - _ROBOT._serialized_start = 153 - _ROBOT._serialized_end = 517 - _ROBOTPART._serialized_start = 520 - _ROBOTPART._serialized_end = 1499 - _ROBOTPARTHISTORYENTRY._serialized_start = 1502 - _ROBOTPARTHISTORYENTRY._serialized_end = 1777 - _LISTORGANIZATIONSREQUEST._serialized_start = 1779 - _LISTORGANIZATIONSREQUEST._serialized_end = 1805 - _ORGANIZATION._serialized_start = 1808 - _ORGANIZATION._serialized_end = 2030 - _ORGANIZATIONMEMBER._serialized_start = 2033 - _ORGANIZATIONMEMBER._serialized_end = 2240 - _LISTORGANIZATIONSRESPONSE._serialized_start = 2242 - _LISTORGANIZATIONSRESPONSE._serialized_end = 2334 - _ORGANIZATIONINVITE._serialized_start = 2337 - _ORGANIZATIONINVITE._serialized_end = 2547 - _CREATEORGANIZATIONREQUEST._serialized_start = 2549 - _CREATEORGANIZATIONREQUEST._serialized_end = 2596 - _CREATEORGANIZATIONRESPONSE._serialized_start = 2598 - _CREATEORGANIZATIONRESPONSE._serialized_end = 2689 - _GETORGANIZATIONREQUEST._serialized_start = 2691 - _GETORGANIZATIONREQUEST._serialized_end = 2756 - _GETORGANIZATIONRESPONSE._serialized_start = 2758 - _GETORGANIZATIONRESPONSE._serialized_end = 2846 - _GETORGANIZATIONNAMESPACEAVAILABILITYREQUEST._serialized_start = 2848 - _GETORGANIZATIONNAMESPACEAVAILABILITYREQUEST._serialized_end = 2936 - _GETORGANIZATIONNAMESPACEAVAILABILITYRESPONSE._serialized_start = 2938 - _GETORGANIZATIONNAMESPACEAVAILABILITYRESPONSE._serialized_end = 3014 - _UPDATEORGANIZATIONREQUEST._serialized_start = 3017 - _UPDATEORGANIZATIONREQUEST._serialized_end = 3259 - _UPDATEORGANIZATIONRESPONSE._serialized_start = 3261 - _UPDATEORGANIZATIONRESPONSE._serialized_end = 3352 - _DELETEORGANIZATIONREQUEST._serialized_start = 3354 - _DELETEORGANIZATIONREQUEST._serialized_end = 3422 - _DELETEORGANIZATIONRESPONSE._serialized_start = 3424 - _DELETEORGANIZATIONRESPONSE._serialized_end = 3452 - _LISTORGANIZATIONMEMBERSREQUEST._serialized_start = 3454 - _LISTORGANIZATIONMEMBERSREQUEST._serialized_end = 3527 - _LISTORGANIZATIONMEMBERSRESPONSE._serialized_start = 3530 - _LISTORGANIZATIONMEMBERSRESPONSE._serialized_end = 3722 - _CREATEORGANIZATIONINVITEREQUEST._serialized_start = 3725 - _CREATEORGANIZATIONINVITEREQUEST._serialized_end = 3889 - _CREATEORGANIZATIONINVITERESPONSE._serialized_start = 3891 - _CREATEORGANIZATIONINVITERESPONSE._serialized_end = 3982 - _UPDATEORGANIZATIONINVITEAUTHORIZATIONSREQUEST._serialized_start = 3985 - _UPDATEORGANIZATIONINVITEAUTHORIZATIONSREQUEST._serialized_end = 4251 - _UPDATEORGANIZATIONINVITEAUTHORIZATIONSRESPONSE._serialized_start = 4253 - _UPDATEORGANIZATIONINVITEAUTHORIZATIONSRESPONSE._serialized_end = 4358 - _DELETEORGANIZATIONINVITEREQUEST._serialized_start = 4360 - _DELETEORGANIZATIONINVITEREQUEST._serialized_end = 4456 - _DELETEORGANIZATIONINVITERESPONSE._serialized_start = 4458 - _DELETEORGANIZATIONINVITERESPONSE._serialized_end = 4492 - _RESENDORGANIZATIONINVITEREQUEST._serialized_start = 4494 - _RESENDORGANIZATIONINVITEREQUEST._serialized_end = 4590 - _RESENDORGANIZATIONINVITERESPONSE._serialized_start = 4592 - _RESENDORGANIZATIONINVITERESPONSE._serialized_end = 4683 - _DELETEORGANIZATIONMEMBERREQUEST._serialized_start = 4685 - _DELETEORGANIZATIONMEMBERREQUEST._serialized_end = 4784 - _DELETEORGANIZATIONMEMBERRESPONSE._serialized_start = 4786 - _DELETEORGANIZATIONMEMBERRESPONSE._serialized_end = 4820 - _ORGANIZATIONIDENTITY._serialized_start = 4822 - _ORGANIZATIONIDENTITY._serialized_end = 4880 - _LOCATIONORGANIZATION._serialized_start = 4882 - _LOCATIONORGANIZATION._serialized_end = 4971 - _LOCATIONAUTH._serialized_start = 4974 - _LOCATIONAUTH._serialized_end = 5102 - _STORAGECONFIG._serialized_start = 5104 - _STORAGECONFIG._serialized_end = 5143 - _LOCATION._serialized_start = 5146 - _LOCATION._serialized_end = 5502 - _SHAREDSECRET._serialized_start = 5505 - _SHAREDSECRET._serialized_end = 5841 - _SHAREDSECRET_STATE._serialized_start = 5772 - _SHAREDSECRET_STATE._serialized_end = 5841 - _CREATELOCATIONREQUEST._serialized_start = 5844 - _CREATELOCATIONREQUEST._serialized_end = 6002 - _CREATELOCATIONRESPONSE._serialized_start = 6004 - _CREATELOCATIONRESPONSE._serialized_end = 6079 - _GETLOCATIONREQUEST._serialized_start = 6081 - _GETLOCATIONREQUEST._serialized_end = 6134 - _GETLOCATIONRESPONSE._serialized_start = 6136 - _GETLOCATIONRESPONSE._serialized_end = 6208 - _UPDATELOCATIONREQUEST._serialized_start = 6211 - _UPDATELOCATIONREQUEST._serialized_end = 6415 - _UPDATELOCATIONRESPONSE._serialized_start = 6417 - _UPDATELOCATIONRESPONSE._serialized_end = 6492 - _DELETELOCATIONREQUEST._serialized_start = 6494 - _DELETELOCATIONREQUEST._serialized_end = 6550 - _DELETELOCATIONRESPONSE._serialized_start = 6552 - _DELETELOCATIONRESPONSE._serialized_end = 6576 - _GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST._serialized_start = 6578 - _GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST._serialized_end = 6656 - _GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE._serialized_start = 6659 - _GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE._serialized_end = 6797 - _LISTLOCATIONSREQUEST._serialized_start = 6799 - _LISTLOCATIONSREQUEST._serialized_end = 6862 - _SHARELOCATIONREQUEST._serialized_start = 6864 - _SHARELOCATIONREQUEST._serialized_end = 6960 - _SHARELOCATIONRESPONSE._serialized_start = 6962 - _SHARELOCATIONRESPONSE._serialized_end = 6985 - _UNSHARELOCATIONREQUEST._serialized_start = 6987 - _UNSHARELOCATIONREQUEST._serialized_end = 7085 - _UNSHARELOCATIONRESPONSE._serialized_start = 7087 - _UNSHARELOCATIONRESPONSE._serialized_end = 7112 - _LISTLOCATIONSRESPONSE._serialized_start = 7114 - _LISTLOCATIONSRESPONSE._serialized_end = 7190 - _CREATELOCATIONSECRETREQUEST._serialized_start = 7192 - _CREATELOCATIONSECRETREQUEST._serialized_end = 7254 - _CREATELOCATIONSECRETRESPONSE._serialized_start = 7256 - _CREATELOCATIONSECRETRESPONSE._serialized_end = 7333 - _DELETELOCATIONSECRETREQUEST._serialized_start = 7335 - _DELETELOCATIONSECRETREQUEST._serialized_end = 7426 - _DELETELOCATIONSECRETRESPONSE._serialized_start = 7428 - _DELETELOCATIONSECRETRESPONSE._serialized_end = 7458 - _LOCATIONAUTHREQUEST._serialized_start = 7460 - _LOCATIONAUTHREQUEST._serialized_end = 7514 - _LOCATIONAUTHRESPONSE._serialized_start = 7516 - _LOCATIONAUTHRESPONSE._serialized_end = 7585 - _GETROBOTREQUEST._serialized_start = 7587 - _GETROBOTREQUEST._serialized_end = 7620 - _GETROVERRENTALROBOTSREQUEST._serialized_start = 7622 - _GETROVERRENTALROBOTSREQUEST._serialized_end = 7674 - _ROVERRENTALROBOT._serialized_start = 7677 - _ROVERRENTALROBOT._serialized_end = 7831 - _GETROVERRENTALROBOTSRESPONSE._serialized_start = 7833 - _GETROVERRENTALROBOTSRESPONSE._serialized_end = 7918 - _GETROBOTRESPONSE._serialized_start = 7920 - _GETROBOTRESPONSE._serialized_end = 7980 - _GETROBOTPARTSREQUEST._serialized_start = 7982 - _GETROBOTPARTSREQUEST._serialized_end = 8031 - _GETROBOTPARTSRESPONSE._serialized_start = 8033 - _GETROBOTPARTSRESPONSE._serialized_end = 8102 - _GETROBOTPARTREQUEST._serialized_start = 8104 - _GETROBOTPARTREQUEST._serialized_end = 8141 - _GETROBOTPARTRESPONSE._serialized_start = 8143 - _GETROBOTPARTRESPONSE._serialized_end = 8242 - _GETROBOTPARTLOGSREQUEST._serialized_start = 8245 - _GETROBOTPARTLOGSREQUEST._serialized_end = 8410 - _LOGENTRY._serialized_start = 8413 - _LOGENTRY._serialized_end = 8692 - _GETROBOTPARTLOGSRESPONSE._serialized_start = 8694 - _GETROBOTPARTLOGSRESPONSE._serialized_end = 8803 - _TAILROBOTPARTLOGSREQUEST._serialized_start = 8805 - _TAILROBOTPARTLOGSREQUEST._serialized_end = 8920 - _TAILROBOTPARTLOGSRESPONSE._serialized_start = 8922 - _TAILROBOTPARTLOGSRESPONSE._serialized_end = 8992 - _GETROBOTPARTHISTORYREQUEST._serialized_start = 8994 - _GETROBOTPARTHISTORYREQUEST._serialized_end = 9038 - _GETROBOTPARTHISTORYRESPONSE._serialized_start = 9040 - _GETROBOTPARTHISTORYRESPONSE._serialized_end = 9131 - _UPDATEROBOTPARTREQUEST._serialized_start = 9133 - _UPDATEROBOTPARTREQUEST._serialized_end = 9253 - _UPDATEROBOTPARTRESPONSE._serialized_start = 9255 - _UPDATEROBOTPARTRESPONSE._serialized_end = 9324 - _NEWROBOTPARTREQUEST._serialized_start = 9326 - _NEWROBOTPARTREQUEST._serialized_end = 9403 - _NEWROBOTPARTRESPONSE._serialized_start = 9405 - _NEWROBOTPARTRESPONSE._serialized_end = 9452 - _DELETEROBOTPARTREQUEST._serialized_start = 9454 - _DELETEROBOTPARTREQUEST._serialized_end = 9503 - _GETROBOTAPIKEYSREQUEST._serialized_start = 9505 - _GETROBOTAPIKEYSREQUEST._serialized_end = 9556 - _APIKEY._serialized_start = 9558 - _APIKEY._serialized_end = 9679 - _GETROBOTAPIKEYSRESPONSE._serialized_start = 9681 - _GETROBOTAPIKEYSRESPONSE._serialized_end = 9754 - _DELETEROBOTPARTRESPONSE._serialized_start = 9756 - _DELETEROBOTPARTRESPONSE._serialized_end = 9781 - _FRAGMENT._serialized_start = 9784 - _FRAGMENT._serialized_end = 10400 - _LISTFRAGMENTSREQUEST._serialized_start = 10402 - _LISTFRAGMENTSREQUEST._serialized_end = 10498 - _LISTFRAGMENTSRESPONSE._serialized_start = 10500 - _LISTFRAGMENTSRESPONSE._serialized_end = 10576 - _GETFRAGMENTREQUEST._serialized_start = 10578 - _GETFRAGMENTREQUEST._serialized_end = 10614 - _GETFRAGMENTRESPONSE._serialized_start = 10616 - _GETFRAGMENTRESPONSE._serialized_end = 10688 - _CREATEFRAGMENTREQUEST._serialized_start = 10691 - _CREATEFRAGMENTREQUEST._serialized_end = 10824 - _CREATEFRAGMENTRESPONSE._serialized_start = 10826 - _CREATEFRAGMENTRESPONSE._serialized_end = 10901 - _UPDATEFRAGMENTREQUEST._serialized_start = 10904 - _UPDATEFRAGMENTREQUEST._serialized_end = 11052 - _UPDATEFRAGMENTRESPONSE._serialized_start = 11054 - _UPDATEFRAGMENTRESPONSE._serialized_end = 11129 - _DELETEFRAGMENTREQUEST._serialized_start = 11131 - _DELETEFRAGMENTREQUEST._serialized_end = 11170 - _DELETEFRAGMENTRESPONSE._serialized_start = 11172 - _DELETEFRAGMENTRESPONSE._serialized_end = 11196 - _LISTROBOTSREQUEST._serialized_start = 11198 - _LISTROBOTSREQUEST._serialized_end = 11250 - _LISTROBOTSRESPONSE._serialized_start = 11252 - _LISTROBOTSRESPONSE._serialized_end = 11316 - _NEWROBOTREQUEST._serialized_start = 11318 - _NEWROBOTREQUEST._serialized_end = 11383 - _NEWROBOTRESPONSE._serialized_start = 11385 - _NEWROBOTRESPONSE._serialized_end = 11419 - _UPDATEROBOTREQUEST._serialized_start = 11421 - _UPDATEROBOTREQUEST._serialized_end = 11505 - _UPDATEROBOTRESPONSE._serialized_start = 11507 - _UPDATEROBOTRESPONSE._serialized_end = 11570 - _DELETEROBOTREQUEST._serialized_start = 11572 - _DELETEROBOTREQUEST._serialized_end = 11608 - _DELETEROBOTRESPONSE._serialized_start = 11610 - _DELETEROBOTRESPONSE._serialized_end = 11631 - _MARKPARTASMAINREQUEST._serialized_start = 11633 - _MARKPARTASMAINREQUEST._serialized_end = 11681 - _MARKPARTASMAINRESPONSE._serialized_start = 11683 - _MARKPARTASMAINRESPONSE._serialized_end = 11707 - _MARKPARTFORRESTARTREQUEST._serialized_start = 11709 - _MARKPARTFORRESTARTREQUEST._serialized_end = 11761 - _MARKPARTFORRESTARTRESPONSE._serialized_start = 11763 - _MARKPARTFORRESTARTRESPONSE._serialized_end = 11791 - _CREATEROBOTPARTSECRETREQUEST._serialized_start = 11793 - _CREATEROBOTPARTSECRETREQUEST._serialized_end = 11848 - _CREATEROBOTPARTSECRETRESPONSE._serialized_start = 11850 - _CREATEROBOTPARTSECRETRESPONSE._serialized_end = 11925 - _DELETEROBOTPARTSECRETREQUEST._serialized_start = 11927 - _DELETEROBOTPARTSECRETREQUEST._serialized_end = 12011 - _DELETEROBOTPARTSECRETRESPONSE._serialized_start = 12013 - _DELETEROBOTPARTSECRETRESPONSE._serialized_end = 12044 - _AUTHORIZATION._serialized_start = 12047 - _AUTHORIZATION._serialized_end = 12333 - _ADDROLEREQUEST._serialized_start = 12335 - _ADDROLEREQUEST._serialized_end = 12417 - _ADDROLERESPONSE._serialized_start = 12419 - _ADDROLERESPONSE._serialized_end = 12436 - _REMOVEROLEREQUEST._serialized_start = 12438 - _REMOVEROLEREQUEST._serialized_end = 12523 - _REMOVEROLERESPONSE._serialized_start = 12525 - _REMOVEROLERESPONSE._serialized_end = 12545 - _CHANGEROLEREQUEST._serialized_start = 12548 - _CHANGEROLEREQUEST._serialized_end = 12713 - _CHANGEROLERESPONSE._serialized_start = 12715 - _CHANGEROLERESPONSE._serialized_end = 12735 - _LISTAUTHORIZATIONSREQUEST._serialized_start = 12737 - _LISTAUTHORIZATIONSREQUEST._serialized_end = 12840 - _LISTAUTHORIZATIONSRESPONSE._serialized_start = 12842 - _LISTAUTHORIZATIONSRESPONSE._serialized_end = 12938 - _CHECKPERMISSIONSREQUEST._serialized_start = 12940 - _CHECKPERMISSIONSREQUEST._serialized_end = 13035 - _AUTHORIZEDPERMISSIONS._serialized_start = 13037 - _AUTHORIZEDPERMISSIONS._serialized_end = 13164 - _CHECKPERMISSIONSRESPONSE._serialized_start = 13166 - _CHECKPERMISSIONSRESPONSE._serialized_end = 13283 - _MODULEVERSION._serialized_start = 13286 - _MODULEVERSION._serialized_end = 13447 - _MODULEMETADATA._serialized_start = 13450 - _MODULEMETADATA._serialized_end = 13598 - _MLMODELMETADATA._serialized_start = 13600 - _MLMODELMETADATA._serialized_end = 13645 - _REGISTRYITEM._serialized_start = 13648 - _REGISTRYITEM._serialized_end = 14217 - _GETREGISTRYITEMREQUEST._serialized_start = 14219 - _GETREGISTRYITEMREQUEST._serialized_end = 14268 - _GETREGISTRYITEMRESPONSE._serialized_start = 14270 - _GETREGISTRYITEMRESPONSE._serialized_end = 14342 - _CREATEREGISTRYITEMREQUEST._serialized_start = 14345 - _CREATEREGISTRYITEMREQUEST._serialized_end = 14488 - _CREATEREGISTRYITEMRESPONSE._serialized_start = 14490 - _CREATEREGISTRYITEMRESPONSE._serialized_end = 14518 - _UPDATEREGISTRYITEMREQUEST._serialized_start = 14521 - _UPDATEREGISTRYITEMREQUEST._serialized_end = 14719 - _UPDATEREGISTRYITEMRESPONSE._serialized_start = 14721 - _UPDATEREGISTRYITEMRESPONSE._serialized_end = 14749 - _LISTREGISTRYITEMSREQUEST._serialized_start = 14752 - _LISTREGISTRYITEMSREQUEST._serialized_end = 15158 - _LISTREGISTRYITEMSRESPONSE._serialized_start = 15160 - _LISTREGISTRYITEMSRESPONSE._serialized_end = 15236 - _DELETEREGISTRYITEMREQUEST._serialized_start = 15238 - _DELETEREGISTRYITEMREQUEST._serialized_end = 15290 - _DELETEREGISTRYITEMRESPONSE._serialized_start = 15292 - _DELETEREGISTRYITEMRESPONSE._serialized_end = 15320 - _CREATEMODULEREQUEST._serialized_start = 15322 - _CREATEMODULEREQUEST._serialized_end = 15404 - _CREATEMODULERESPONSE._serialized_start = 15406 - _CREATEMODULERESPONSE._serialized_end = 15475 - _UPDATEMODULEREQUEST._serialized_start = 15478 - _UPDATEMODULEREQUEST._serialized_end = 15713 - _UPDATEMODULERESPONSE._serialized_start = 15715 - _UPDATEMODULERESPONSE._serialized_end = 15755 - _MODEL._serialized_start = 15757 - _MODEL._serialized_end = 15804 - _MODULEFILEINFO._serialized_start = 15806 - _MODULEFILEINFO._serialized_end = 15905 - _UPLOADMODULEFILEREQUEST._serialized_start = 15908 - _UPLOADMODULEFILEREQUEST._serialized_end = 16043 - _UPLOADMODULEFILERESPONSE._serialized_start = 16045 - _UPLOADMODULEFILERESPONSE._serialized_end = 16089 - _GETMODULEREQUEST._serialized_start = 16091 - _GETMODULEREQUEST._serialized_end = 16138 - _GETMODULERESPONSE._serialized_start = 16140 - _GETMODULERESPONSE._serialized_end = 16204 - _MODULE._serialized_start = 16207 - _MODULE._serialized_end = 16692 - _VERSIONHISTORY._serialized_start = 16695 - _VERSIONHISTORY._serialized_end = 16857 - _UPLOADS._serialized_start = 16859 - _UPLOADS._serialized_end = 16957 - _LISTMODULESREQUEST._serialized_start = 16959 - _LISTMODULESREQUEST._serialized_end = 17045 - _LISTMODULESRESPONSE._serialized_start = 17047 - _LISTMODULESRESPONSE._serialized_end = 17115 - _GETUSERIDBYEMAILREQUEST._serialized_start = 17117 - _GETUSERIDBYEMAILREQUEST._serialized_end = 17164 - _GETUSERIDBYEMAILRESPONSE._serialized_start = 17166 - _GETUSERIDBYEMAILRESPONSE._serialized_end = 17217 - _LISTORGANIZATIONSBYUSERREQUEST._serialized_start = 17219 - _LISTORGANIZATIONSBYUSERREQUEST._serialized_end = 17276 - _ORGDETAILS._serialized_start = 17278 - _ORGDETAILS._serialized_end = 17340 - _LISTORGANIZATIONSBYUSERRESPONSE._serialized_start = 17342 - _LISTORGANIZATIONSBYUSERRESPONSE._serialized_end = 17420 - _CREATEKEYREQUEST._serialized_start = 17422 - _CREATEKEYREQUEST._serialized_end = 17528 - _CREATEKEYRESPONSE._serialized_start = 17530 - _CREATEKEYRESPONSE._serialized_end = 17583 - _DELETEKEYREQUEST._serialized_start = 17585 - _DELETEKEYREQUEST._serialized_end = 17619 - _DELETEKEYRESPONSE._serialized_start = 17621 - _DELETEKEYRESPONSE._serialized_end = 17640 - _AUTHORIZATIONDETAILS._serialized_start = 17643 - _AUTHORIZATIONDETAILS._serialized_end = 17848 - _APIKEYWITHAUTHORIZATIONS._serialized_start = 17851 - _APIKEYWITHAUTHORIZATIONS._serialized_end = 17998 - _LISTKEYSREQUEST._serialized_start = 18000 - _LISTKEYSREQUEST._serialized_end = 18040 - _LISTKEYSRESPONSE._serialized_start = 18042 - _LISTKEYSRESPONSE._serialized_end = 18126 - _ROTATEKEYREQUEST._serialized_start = 18128 - _ROTATEKEYREQUEST._serialized_end = 18162 - _ROTATEKEYRESPONSE._serialized_start = 18164 - _ROTATEKEYRESPONSE._serialized_end = 18217 - _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_start = 18219 - _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_end = 18282 - _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_start = 18284 - _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_end = 18366 - _APPSERVICE._serialized_start = 18596 - _APPSERVICE._serialized_end = 25363 \ No newline at end of file + _REGISTRYITEMSTATUS._serialized_start = 18417 + _REGISTRYITEMSTATUS._serialized_end = 18552 + _VISIBILITY._serialized_start = 18554 + _VISIBILITY._serialized_end = 18641 + _ROBOT._serialized_start = 177 + _ROBOT._serialized_end = 541 + _ROBOTPART._serialized_start = 544 + _ROBOTPART._serialized_end = 1523 + _ROBOTPARTHISTORYENTRY._serialized_start = 1526 + _ROBOTPARTHISTORYENTRY._serialized_end = 1801 + _LISTORGANIZATIONSREQUEST._serialized_start = 1803 + _LISTORGANIZATIONSREQUEST._serialized_end = 1829 + _ORGANIZATION._serialized_start = 1832 + _ORGANIZATION._serialized_end = 2054 + _ORGANIZATIONMEMBER._serialized_start = 2057 + _ORGANIZATIONMEMBER._serialized_end = 2264 + _LISTORGANIZATIONSRESPONSE._serialized_start = 2266 + _LISTORGANIZATIONSRESPONSE._serialized_end = 2358 + _ORGANIZATIONINVITE._serialized_start = 2361 + _ORGANIZATIONINVITE._serialized_end = 2571 + _CREATEORGANIZATIONREQUEST._serialized_start = 2573 + _CREATEORGANIZATIONREQUEST._serialized_end = 2620 + _CREATEORGANIZATIONRESPONSE._serialized_start = 2622 + _CREATEORGANIZATIONRESPONSE._serialized_end = 2713 + _GETORGANIZATIONREQUEST._serialized_start = 2715 + _GETORGANIZATIONREQUEST._serialized_end = 2780 + _GETORGANIZATIONRESPONSE._serialized_start = 2782 + _GETORGANIZATIONRESPONSE._serialized_end = 2870 + _GETORGANIZATIONNAMESPACEAVAILABILITYREQUEST._serialized_start = 2872 + _GETORGANIZATIONNAMESPACEAVAILABILITYREQUEST._serialized_end = 2960 + _GETORGANIZATIONNAMESPACEAVAILABILITYRESPONSE._serialized_start = 2962 + _GETORGANIZATIONNAMESPACEAVAILABILITYRESPONSE._serialized_end = 3038 + _UPDATEORGANIZATIONREQUEST._serialized_start = 3041 + _UPDATEORGANIZATIONREQUEST._serialized_end = 3283 + _UPDATEORGANIZATIONRESPONSE._serialized_start = 3285 + _UPDATEORGANIZATIONRESPONSE._serialized_end = 3376 + _DELETEORGANIZATIONREQUEST._serialized_start = 3378 + _DELETEORGANIZATIONREQUEST._serialized_end = 3446 + _DELETEORGANIZATIONRESPONSE._serialized_start = 3448 + _DELETEORGANIZATIONRESPONSE._serialized_end = 3476 + _LISTORGANIZATIONMEMBERSREQUEST._serialized_start = 3478 + _LISTORGANIZATIONMEMBERSREQUEST._serialized_end = 3551 + _LISTORGANIZATIONMEMBERSRESPONSE._serialized_start = 3554 + _LISTORGANIZATIONMEMBERSRESPONSE._serialized_end = 3746 + _CREATEORGANIZATIONINVITEREQUEST._serialized_start = 3749 + _CREATEORGANIZATIONINVITEREQUEST._serialized_end = 3913 + _CREATEORGANIZATIONINVITERESPONSE._serialized_start = 3915 + _CREATEORGANIZATIONINVITERESPONSE._serialized_end = 4006 + _UPDATEORGANIZATIONINVITEAUTHORIZATIONSREQUEST._serialized_start = 4009 + _UPDATEORGANIZATIONINVITEAUTHORIZATIONSREQUEST._serialized_end = 4275 + _UPDATEORGANIZATIONINVITEAUTHORIZATIONSRESPONSE._serialized_start = 4277 + _UPDATEORGANIZATIONINVITEAUTHORIZATIONSRESPONSE._serialized_end = 4382 + _DELETEORGANIZATIONINVITEREQUEST._serialized_start = 4384 + _DELETEORGANIZATIONINVITEREQUEST._serialized_end = 4480 + _DELETEORGANIZATIONINVITERESPONSE._serialized_start = 4482 + _DELETEORGANIZATIONINVITERESPONSE._serialized_end = 4516 + _RESENDORGANIZATIONINVITEREQUEST._serialized_start = 4518 + _RESENDORGANIZATIONINVITEREQUEST._serialized_end = 4614 + _RESENDORGANIZATIONINVITERESPONSE._serialized_start = 4616 + _RESENDORGANIZATIONINVITERESPONSE._serialized_end = 4707 + _DELETEORGANIZATIONMEMBERREQUEST._serialized_start = 4709 + _DELETEORGANIZATIONMEMBERREQUEST._serialized_end = 4808 + _DELETEORGANIZATIONMEMBERRESPONSE._serialized_start = 4810 + _DELETEORGANIZATIONMEMBERRESPONSE._serialized_end = 4844 + _ORGANIZATIONIDENTITY._serialized_start = 4846 + _ORGANIZATIONIDENTITY._serialized_end = 4904 + _LOCATIONORGANIZATION._serialized_start = 4906 + _LOCATIONORGANIZATION._serialized_end = 4995 + _LOCATIONAUTH._serialized_start = 4998 + _LOCATIONAUTH._serialized_end = 5126 + _STORAGECONFIG._serialized_start = 5128 + _STORAGECONFIG._serialized_end = 5167 + _LOCATION._serialized_start = 5170 + _LOCATION._serialized_end = 5526 + _SHAREDSECRET._serialized_start = 5529 + _SHAREDSECRET._serialized_end = 5865 + _SHAREDSECRET_STATE._serialized_start = 5796 + _SHAREDSECRET_STATE._serialized_end = 5865 + _CREATELOCATIONREQUEST._serialized_start = 5868 + _CREATELOCATIONREQUEST._serialized_end = 6026 + _CREATELOCATIONRESPONSE._serialized_start = 6028 + _CREATELOCATIONRESPONSE._serialized_end = 6103 + _GETLOCATIONREQUEST._serialized_start = 6105 + _GETLOCATIONREQUEST._serialized_end = 6158 + _GETLOCATIONRESPONSE._serialized_start = 6160 + _GETLOCATIONRESPONSE._serialized_end = 6232 + _UPDATELOCATIONREQUEST._serialized_start = 6235 + _UPDATELOCATIONREQUEST._serialized_end = 6439 + _UPDATELOCATIONRESPONSE._serialized_start = 6441 + _UPDATELOCATIONRESPONSE._serialized_end = 6516 + _DELETELOCATIONREQUEST._serialized_start = 6518 + _DELETELOCATIONREQUEST._serialized_end = 6574 + _DELETELOCATIONRESPONSE._serialized_start = 6576 + _DELETELOCATIONRESPONSE._serialized_end = 6600 + _GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST._serialized_start = 6602 + _GETORGANIZATIONSWITHACCESSTOLOCATIONREQUEST._serialized_end = 6680 + _GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE._serialized_start = 6683 + _GETORGANIZATIONSWITHACCESSTOLOCATIONRESPONSE._serialized_end = 6821 + _LISTLOCATIONSREQUEST._serialized_start = 6823 + _LISTLOCATIONSREQUEST._serialized_end = 6886 + _SHARELOCATIONREQUEST._serialized_start = 6888 + _SHARELOCATIONREQUEST._serialized_end = 6984 + _SHARELOCATIONRESPONSE._serialized_start = 6986 + _SHARELOCATIONRESPONSE._serialized_end = 7009 + _UNSHARELOCATIONREQUEST._serialized_start = 7011 + _UNSHARELOCATIONREQUEST._serialized_end = 7109 + _UNSHARELOCATIONRESPONSE._serialized_start = 7111 + _UNSHARELOCATIONRESPONSE._serialized_end = 7136 + _LISTLOCATIONSRESPONSE._serialized_start = 7138 + _LISTLOCATIONSRESPONSE._serialized_end = 7214 + _CREATELOCATIONSECRETREQUEST._serialized_start = 7216 + _CREATELOCATIONSECRETREQUEST._serialized_end = 7278 + _CREATELOCATIONSECRETRESPONSE._serialized_start = 7280 + _CREATELOCATIONSECRETRESPONSE._serialized_end = 7357 + _DELETELOCATIONSECRETREQUEST._serialized_start = 7359 + _DELETELOCATIONSECRETREQUEST._serialized_end = 7450 + _DELETELOCATIONSECRETRESPONSE._serialized_start = 7452 + _DELETELOCATIONSECRETRESPONSE._serialized_end = 7482 + _LOCATIONAUTHREQUEST._serialized_start = 7484 + _LOCATIONAUTHREQUEST._serialized_end = 7538 + _LOCATIONAUTHRESPONSE._serialized_start = 7540 + _LOCATIONAUTHRESPONSE._serialized_end = 7609 + _GETROBOTREQUEST._serialized_start = 7611 + _GETROBOTREQUEST._serialized_end = 7644 + _GETROVERRENTALROBOTSREQUEST._serialized_start = 7646 + _GETROVERRENTALROBOTSREQUEST._serialized_end = 7698 + _ROVERRENTALROBOT._serialized_start = 7701 + _ROVERRENTALROBOT._serialized_end = 7855 + _GETROVERRENTALROBOTSRESPONSE._serialized_start = 7857 + _GETROVERRENTALROBOTSRESPONSE._serialized_end = 7942 + _GETROBOTRESPONSE._serialized_start = 7944 + _GETROBOTRESPONSE._serialized_end = 8004 + _GETROBOTPARTSREQUEST._serialized_start = 8006 + _GETROBOTPARTSREQUEST._serialized_end = 8055 + _GETROBOTPARTSRESPONSE._serialized_start = 8057 + _GETROBOTPARTSRESPONSE._serialized_end = 8126 + _GETROBOTPARTREQUEST._serialized_start = 8128 + _GETROBOTPARTREQUEST._serialized_end = 8165 + _GETROBOTPARTRESPONSE._serialized_start = 8167 + _GETROBOTPARTRESPONSE._serialized_end = 8266 + _GETROBOTPARTLOGSREQUEST._serialized_start = 8269 + _GETROBOTPARTLOGSREQUEST._serialized_end = 8462 + _GETROBOTPARTLOGSRESPONSE._serialized_start = 8464 + _GETROBOTPARTLOGSRESPONSE._serialized_end = 8576 + _TAILROBOTPARTLOGSREQUEST._serialized_start = 8578 + _TAILROBOTPARTLOGSREQUEST._serialized_end = 8693 + _TAILROBOTPARTLOGSRESPONSE._serialized_start = 8695 + _TAILROBOTPARTLOGSRESPONSE._serialized_end = 8768 + _GETROBOTPARTHISTORYREQUEST._serialized_start = 8770 + _GETROBOTPARTHISTORYREQUEST._serialized_end = 8814 + _GETROBOTPARTHISTORYRESPONSE._serialized_start = 8816 + _GETROBOTPARTHISTORYRESPONSE._serialized_end = 8907 + _UPDATEROBOTPARTREQUEST._serialized_start = 8909 + _UPDATEROBOTPARTREQUEST._serialized_end = 9029 + _UPDATEROBOTPARTRESPONSE._serialized_start = 9031 + _UPDATEROBOTPARTRESPONSE._serialized_end = 9100 + _NEWROBOTPARTREQUEST._serialized_start = 9102 + _NEWROBOTPARTREQUEST._serialized_end = 9179 + _NEWROBOTPARTRESPONSE._serialized_start = 9181 + _NEWROBOTPARTRESPONSE._serialized_end = 9228 + _DELETEROBOTPARTREQUEST._serialized_start = 9230 + _DELETEROBOTPARTREQUEST._serialized_end = 9279 + _GETROBOTAPIKEYSREQUEST._serialized_start = 9281 + _GETROBOTAPIKEYSREQUEST._serialized_end = 9332 + _APIKEY._serialized_start = 9334 + _APIKEY._serialized_end = 9455 + _GETROBOTAPIKEYSRESPONSE._serialized_start = 9457 + _GETROBOTAPIKEYSRESPONSE._serialized_end = 9548 + _DELETEROBOTPARTRESPONSE._serialized_start = 9550 + _DELETEROBOTPARTRESPONSE._serialized_end = 9575 + _FRAGMENT._serialized_start = 9578 + _FRAGMENT._serialized_end = 10194 + _LISTFRAGMENTSREQUEST._serialized_start = 10196 + _LISTFRAGMENTSREQUEST._serialized_end = 10292 + _LISTFRAGMENTSRESPONSE._serialized_start = 10294 + _LISTFRAGMENTSRESPONSE._serialized_end = 10370 + _GETFRAGMENTREQUEST._serialized_start = 10372 + _GETFRAGMENTREQUEST._serialized_end = 10408 + _GETFRAGMENTRESPONSE._serialized_start = 10410 + _GETFRAGMENTRESPONSE._serialized_end = 10482 + _CREATEFRAGMENTREQUEST._serialized_start = 10485 + _CREATEFRAGMENTREQUEST._serialized_end = 10618 + _CREATEFRAGMENTRESPONSE._serialized_start = 10620 + _CREATEFRAGMENTRESPONSE._serialized_end = 10695 + _UPDATEFRAGMENTREQUEST._serialized_start = 10698 + _UPDATEFRAGMENTREQUEST._serialized_end = 10846 + _UPDATEFRAGMENTRESPONSE._serialized_start = 10848 + _UPDATEFRAGMENTRESPONSE._serialized_end = 10923 + _DELETEFRAGMENTREQUEST._serialized_start = 10925 + _DELETEFRAGMENTREQUEST._serialized_end = 10964 + _DELETEFRAGMENTRESPONSE._serialized_start = 10966 + _DELETEFRAGMENTRESPONSE._serialized_end = 10990 + _LISTROBOTSREQUEST._serialized_start = 10992 + _LISTROBOTSREQUEST._serialized_end = 11044 + _LISTROBOTSRESPONSE._serialized_start = 11046 + _LISTROBOTSRESPONSE._serialized_end = 11110 + _NEWROBOTREQUEST._serialized_start = 11112 + _NEWROBOTREQUEST._serialized_end = 11177 + _NEWROBOTRESPONSE._serialized_start = 11179 + _NEWROBOTRESPONSE._serialized_end = 11213 + _UPDATEROBOTREQUEST._serialized_start = 11215 + _UPDATEROBOTREQUEST._serialized_end = 11299 + _UPDATEROBOTRESPONSE._serialized_start = 11301 + _UPDATEROBOTRESPONSE._serialized_end = 11364 + _DELETEROBOTREQUEST._serialized_start = 11366 + _DELETEROBOTREQUEST._serialized_end = 11402 + _DELETEROBOTRESPONSE._serialized_start = 11404 + _DELETEROBOTRESPONSE._serialized_end = 11425 + _MARKPARTASMAINREQUEST._serialized_start = 11427 + _MARKPARTASMAINREQUEST._serialized_end = 11475 + _MARKPARTASMAINRESPONSE._serialized_start = 11477 + _MARKPARTASMAINRESPONSE._serialized_end = 11501 + _MARKPARTFORRESTARTREQUEST._serialized_start = 11503 + _MARKPARTFORRESTARTREQUEST._serialized_end = 11555 + _MARKPARTFORRESTARTRESPONSE._serialized_start = 11557 + _MARKPARTFORRESTARTRESPONSE._serialized_end = 11585 + _CREATEROBOTPARTSECRETREQUEST._serialized_start = 11587 + _CREATEROBOTPARTSECRETREQUEST._serialized_end = 11642 + _CREATEROBOTPARTSECRETRESPONSE._serialized_start = 11644 + _CREATEROBOTPARTSECRETRESPONSE._serialized_end = 11719 + _DELETEROBOTPARTSECRETREQUEST._serialized_start = 11721 + _DELETEROBOTPARTSECRETREQUEST._serialized_end = 11805 + _DELETEROBOTPARTSECRETRESPONSE._serialized_start = 11807 + _DELETEROBOTPARTSECRETRESPONSE._serialized_end = 11838 + _AUTHORIZATION._serialized_start = 11841 + _AUTHORIZATION._serialized_end = 12127 + _ADDROLEREQUEST._serialized_start = 12129 + _ADDROLEREQUEST._serialized_end = 12211 + _ADDROLERESPONSE._serialized_start = 12213 + _ADDROLERESPONSE._serialized_end = 12230 + _REMOVEROLEREQUEST._serialized_start = 12232 + _REMOVEROLEREQUEST._serialized_end = 12317 + _REMOVEROLERESPONSE._serialized_start = 12319 + _REMOVEROLERESPONSE._serialized_end = 12339 + _CHANGEROLEREQUEST._serialized_start = 12342 + _CHANGEROLEREQUEST._serialized_end = 12507 + _CHANGEROLERESPONSE._serialized_start = 12509 + _CHANGEROLERESPONSE._serialized_end = 12529 + _LISTAUTHORIZATIONSREQUEST._serialized_start = 12531 + _LISTAUTHORIZATIONSREQUEST._serialized_end = 12634 + _LISTAUTHORIZATIONSRESPONSE._serialized_start = 12636 + _LISTAUTHORIZATIONSRESPONSE._serialized_end = 12732 + _CHECKPERMISSIONSREQUEST._serialized_start = 12734 + _CHECKPERMISSIONSREQUEST._serialized_end = 12829 + _AUTHORIZEDPERMISSIONS._serialized_start = 12831 + _AUTHORIZEDPERMISSIONS._serialized_end = 12958 + _CHECKPERMISSIONSRESPONSE._serialized_start = 12960 + _CHECKPERMISSIONSRESPONSE._serialized_end = 13077 + _MODULEVERSION._serialized_start = 13080 + _MODULEVERSION._serialized_end = 13241 + _MODULEMETADATA._serialized_start = 13244 + _MODULEMETADATA._serialized_end = 13392 + _MLMODELMETADATA._serialized_start = 13394 + _MLMODELMETADATA._serialized_end = 13439 + _REGISTRYITEM._serialized_start = 13442 + _REGISTRYITEM._serialized_end = 14265 + _GETREGISTRYITEMREQUEST._serialized_start = 14267 + _GETREGISTRYITEMREQUEST._serialized_end = 14316 + _GETREGISTRYITEMRESPONSE._serialized_start = 14318 + _GETREGISTRYITEMRESPONSE._serialized_end = 14390 + _CREATEREGISTRYITEMREQUEST._serialized_start = 14393 + _CREATEREGISTRYITEMREQUEST._serialized_end = 14536 + _CREATEREGISTRYITEMRESPONSE._serialized_start = 14538 + _CREATEREGISTRYITEMRESPONSE._serialized_end = 14566 + _UPDATEREGISTRYITEMREQUEST._serialized_start = 14569 + _UPDATEREGISTRYITEMREQUEST._serialized_end = 14767 + _UPDATEREGISTRYITEMRESPONSE._serialized_start = 14769 + _UPDATEREGISTRYITEMRESPONSE._serialized_end = 14797 + _LISTREGISTRYITEMSREQUEST._serialized_start = 14800 + _LISTREGISTRYITEMSREQUEST._serialized_end = 15206 + _LISTREGISTRYITEMSRESPONSE._serialized_start = 15208 + _LISTREGISTRYITEMSRESPONSE._serialized_end = 15284 + _DELETEREGISTRYITEMREQUEST._serialized_start = 15286 + _DELETEREGISTRYITEMREQUEST._serialized_end = 15338 + _DELETEREGISTRYITEMRESPONSE._serialized_start = 15340 + _DELETEREGISTRYITEMRESPONSE._serialized_end = 15368 + _CREATEMODULEREQUEST._serialized_start = 15370 + _CREATEMODULEREQUEST._serialized_end = 15452 + _CREATEMODULERESPONSE._serialized_start = 15454 + _CREATEMODULERESPONSE._serialized_end = 15523 + _UPDATEMODULEREQUEST._serialized_start = 15526 + _UPDATEMODULEREQUEST._serialized_end = 15761 + _UPDATEMODULERESPONSE._serialized_start = 15763 + _UPDATEMODULERESPONSE._serialized_end = 15803 + _MODEL._serialized_start = 15805 + _MODEL._serialized_end = 15852 + _MODULEFILEINFO._serialized_start = 15854 + _MODULEFILEINFO._serialized_end = 15953 + _UPLOADMODULEFILEREQUEST._serialized_start = 15956 + _UPLOADMODULEFILEREQUEST._serialized_end = 16091 + _UPLOADMODULEFILERESPONSE._serialized_start = 16093 + _UPLOADMODULEFILERESPONSE._serialized_end = 16137 + _GETMODULEREQUEST._serialized_start = 16139 + _GETMODULEREQUEST._serialized_end = 16186 + _GETMODULERESPONSE._serialized_start = 16188 + _GETMODULERESPONSE._serialized_end = 16252 + _MODULE._serialized_start = 16255 + _MODULE._serialized_end = 16740 + _VERSIONHISTORY._serialized_start = 16743 + _VERSIONHISTORY._serialized_end = 16905 + _UPLOADS._serialized_start = 16907 + _UPLOADS._serialized_end = 17005 + _LISTMODULESREQUEST._serialized_start = 17007 + _LISTMODULESREQUEST._serialized_end = 17093 + _LISTMODULESRESPONSE._serialized_start = 17095 + _LISTMODULESRESPONSE._serialized_end = 17163 + _GETUSERIDBYEMAILREQUEST._serialized_start = 17165 + _GETUSERIDBYEMAILREQUEST._serialized_end = 17212 + _GETUSERIDBYEMAILRESPONSE._serialized_start = 17214 + _GETUSERIDBYEMAILRESPONSE._serialized_end = 17265 + _LISTORGANIZATIONSBYUSERREQUEST._serialized_start = 17267 + _LISTORGANIZATIONSBYUSERREQUEST._serialized_end = 17324 + _ORGDETAILS._serialized_start = 17326 + _ORGDETAILS._serialized_end = 17388 + _LISTORGANIZATIONSBYUSERRESPONSE._serialized_start = 17390 + _LISTORGANIZATIONSBYUSERRESPONSE._serialized_end = 17468 + _CREATEKEYREQUEST._serialized_start = 17470 + _CREATEKEYREQUEST._serialized_end = 17576 + _CREATEKEYRESPONSE._serialized_start = 17578 + _CREATEKEYRESPONSE._serialized_end = 17631 + _DELETEKEYREQUEST._serialized_start = 17633 + _DELETEKEYREQUEST._serialized_end = 17667 + _DELETEKEYRESPONSE._serialized_start = 17669 + _DELETEKEYRESPONSE._serialized_end = 17688 + _AUTHORIZATIONDETAILS._serialized_start = 17691 + _AUTHORIZATIONDETAILS._serialized_end = 17896 + _APIKEYWITHAUTHORIZATIONS._serialized_start = 17899 + _APIKEYWITHAUTHORIZATIONS._serialized_end = 18046 + _LISTKEYSREQUEST._serialized_start = 18048 + _LISTKEYSREQUEST._serialized_end = 18088 + _LISTKEYSRESPONSE._serialized_start = 18090 + _LISTKEYSRESPONSE._serialized_end = 18174 + _ROTATEKEYREQUEST._serialized_start = 18176 + _ROTATEKEYREQUEST._serialized_end = 18210 + _ROTATEKEYRESPONSE._serialized_start = 18212 + _ROTATEKEYRESPONSE._serialized_end = 18265 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_start = 18267 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSREQUEST._serialized_end = 18330 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_start = 18332 + _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_end = 18414 + _APPSERVICE._serialized_start = 18644 + _APPSERVICE._serialized_end = 25411 \ No newline at end of file diff --git a/src/viam/gen/app/v1/app_pb2.pyi b/src/viam/gen/app/v1/app_pb2.pyi index ef64a3db1..ad8c757ae 100644 --- a/src/viam/gen/app/v1/app_pb2.pyi +++ b/src/viam/gen/app/v1/app_pb2.pyi @@ -5,6 +5,7 @@ isort:skip_file from ... import app import builtins import collections.abc +from ... import common import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper @@ -1336,18 +1337,24 @@ class GetRobotPartLogsRequest(google.protobuf.message.Message): ERRORS_ONLY_FIELD_NUMBER: builtins.int FILTER_FIELD_NUMBER: builtins.int PAGE_TOKEN_FIELD_NUMBER: builtins.int + LEVELS_FIELD_NUMBER: builtins.int id: builtins.str errors_only: builtins.bool + 'TODO(https://viam.atlassian.net/browse/APP-3877): Remove this field' filter: builtins.str page_token: builtins.str - def __init__(self, *, id: builtins.str=..., errors_only: builtins.bool=..., filter: builtins.str | None=..., page_token: builtins.str | None=...) -> None: + @property + def levels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + """logs of all levels are returned when the levels field is empty""" + + def __init__(self, *, id: builtins.str=..., errors_only: builtins.bool=..., filter: builtins.str | None=..., page_token: builtins.str | None=..., levels: collections.abc.Iterable[builtins.str] | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['_filter', b'_filter', '_page_token', b'_page_token', 'filter', b'filter', 'page_token', b'page_token']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['_filter', b'_filter', '_page_token', b'_page_token', 'errors_only', b'errors_only', 'filter', b'filter', 'id', b'id', 'page_token', b'page_token']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['_filter', b'_filter', '_page_token', b'_page_token', 'errors_only', b'errors_only', 'filter', b'filter', 'id', b'id', 'levels', b'levels', 'page_token', b'page_token']) -> None: ... @typing.overload @@ -1359,45 +1366,6 @@ class GetRobotPartLogsRequest(google.protobuf.message.Message): ... global___GetRobotPartLogsRequest = GetRobotPartLogsRequest -@typing_extensions.final -class LogEntry(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - HOST_FIELD_NUMBER: builtins.int - LEVEL_FIELD_NUMBER: builtins.int - TIME_FIELD_NUMBER: builtins.int - LOGGER_NAME_FIELD_NUMBER: builtins.int - MESSAGE_FIELD_NUMBER: builtins.int - CALLER_FIELD_NUMBER: builtins.int - STACK_FIELD_NUMBER: builtins.int - FIELDS_FIELD_NUMBER: builtins.int - host: builtins.str - level: builtins.str - - @property - def time(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - logger_name: builtins.str - message: builtins.str - - @property - def caller(self) -> google.protobuf.struct_pb2.Struct: - ... - stack: builtins.str - - @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]: - ... - - def __init__(self, *, host: builtins.str=..., level: builtins.str=..., time: google.protobuf.timestamp_pb2.Timestamp | None=..., logger_name: builtins.str=..., message: builtins.str=..., caller: google.protobuf.struct_pb2.Struct | None=..., stack: builtins.str=..., fields: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['caller', b'caller', 'time', b'time']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['caller', b'caller', 'fields', b'fields', 'host', b'host', 'level', b'level', 'logger_name', b'logger_name', 'message', b'message', 'stack', b'stack', 'time', b'time']) -> None: - ... -global___LogEntry = LogEntry - @typing_extensions.final class GetRobotPartLogsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -1405,11 +1373,11 @@ class GetRobotPartLogsResponse(google.protobuf.message.Message): NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LogEntry]: + def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: ... next_page_token: builtins.str - def __init__(self, *, logs: collections.abc.Iterable[global___LogEntry] | None=..., next_page_token: builtins.str=...) -> None: + def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=..., next_page_token: builtins.str=...) -> None: ... def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs', 'next_page_token', b'next_page_token']) -> None: @@ -1445,10 +1413,10 @@ class TailRobotPartLogsResponse(google.protobuf.message.Message): LOGS_FIELD_NUMBER: builtins.int @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LogEntry]: + def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: ... - def __init__(self, *, logs: collections.abc.Iterable[global___LogEntry] | None=...) -> None: + def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: ... def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs']) -> None: @@ -1611,10 +1579,10 @@ class GetRobotAPIKeysResponse(google.protobuf.message.Message): API_KEYS_FIELD_NUMBER: builtins.int @property - def api_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKey]: + def api_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKeyWithAuthorizations]: ... - def __init__(self, *, api_keys: collections.abc.Iterable[global___APIKey] | None=...) -> None: + def __init__(self, *, api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] | None=...) -> None: ... def ClearField(self, field_name: typing_extensions.Literal['api_keys', b'api_keys']) -> None: @@ -2335,9 +2303,13 @@ class RegistryItem(google.protobuf.message.Message): URL_FIELD_NUMBER: builtins.int DESCRIPTION_FIELD_NUMBER: builtins.int TOTAL_ROBOT_USAGE_FIELD_NUMBER: builtins.int + TOTAL_EXTERNAL_ROBOT_USAGE_FIELD_NUMBER: builtins.int TOTAL_ORGANIZATION_USAGE_FIELD_NUMBER: builtins.int + TOTAL_EXTERNAL_ORGANIZATION_USAGE_FIELD_NUMBER: builtins.int MODULE_METADATA_FIELD_NUMBER: builtins.int ML_MODEL_METADATA_FIELD_NUMBER: builtins.int + CREATED_AT_FIELD_NUMBER: builtins.int + UPDATED_AT_FIELD_NUMBER: builtins.int item_id: builtins.str 'The id of the item, containing either:\n namespace:item_name when a namespace exists on the org.\n org_id:item_name when a namespace does not exist.\n ' organization_id: builtins.str @@ -2356,8 +2328,12 @@ class RegistryItem(google.protobuf.message.Message): 'A short description of the item that explains its purpose' total_robot_usage: builtins.int 'The total number of robots using this item' + total_external_robot_usage: builtins.int + 'The total number of robots using this item outside of the owning org' total_organization_usage: builtins.int 'The total number of organizations using this item' + total_external_organization_usage: builtins.int + 'The total number of organizations using this item outside of the owning org' @property def module_metadata(self) -> global___ModuleMetadata: @@ -2367,13 +2343,21 @@ class RegistryItem(google.protobuf.message.Message): def ml_model_metadata(self) -> global___MLModelMetadata: ... - def __init__(self, *, item_id: builtins.str=..., organization_id: builtins.str=..., public_namespace: builtins.str=..., name: builtins.str=..., type: app.packages.v1.packages_pb2.PackageType.ValueType=..., visibility: global___Visibility.ValueType=..., url: builtins.str=..., description: builtins.str=..., total_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., module_metadata: global___ModuleMetadata | None=..., ml_model_metadata: global___MLModelMetadata | None=...) -> None: + @property + def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: + """When the item was created""" + + @property + def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: + """When the item was last updated, either through an update or upload.""" + + def __init__(self, *, item_id: builtins.str=..., organization_id: builtins.str=..., public_namespace: builtins.str=..., name: builtins.str=..., type: app.packages.v1.packages_pb2.PackageType.ValueType=..., visibility: global___Visibility.ValueType=..., url: builtins.str=..., description: builtins.str=..., total_robot_usage: builtins.int=..., total_external_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., total_external_organization_usage: builtins.int=..., module_metadata: global___ModuleMetadata | None=..., ml_model_metadata: global___MLModelMetadata | None=..., created_at: google.protobuf.timestamp_pb2.Timestamp | None=..., updated_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata']) -> builtins.bool: + def HasField(self, field_name: typing_extensions.Literal['created_at', b'created_at', 'metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata', 'updated_at', b'updated_at']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'item_id', b'item_id', 'metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'type', b'type', 'url', b'url', 'visibility', b'visibility']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['created_at', b'created_at', 'description', b'description', 'item_id', b'item_id', 'metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_external_organization_usage', b'total_external_organization_usage', 'total_external_robot_usage', b'total_external_robot_usage', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'type', b'type', 'updated_at', b'updated_at', 'url', b'url', 'visibility', b'visibility']) -> None: ... def WhichOneof(self, oneof_group: typing_extensions.Literal['metadata', b'metadata']) -> typing_extensions.Literal['module_metadata', 'ml_model_metadata'] | None: diff --git a/src/viam/gen/app/v1/billing_grpc.py b/src/viam/gen/app/v1/billing_grpc.py index b9a17810f..3316e443e 100644 --- a/src/viam/gen/app/v1/billing_grpc.py +++ b/src/viam/gen/app/v1/billing_grpc.py @@ -9,26 +9,6 @@ class BillingServiceBase(abc.ABC): - @abc.abstractmethod - async def GetCurrentMonthUsageSummary(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageSummaryRequest, app.v1.billing_pb2.GetCurrentMonthUsageSummaryResponse]') -> None: - pass - - @abc.abstractmethod - async def GetUnpaidBalance(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetUnpaidBalanceRequest, app.v1.billing_pb2.GetUnpaidBalanceResponse]') -> None: - pass - - @abc.abstractmethod - async def GetInvoiceHistory(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetInvoiceHistoryRequest, app.v1.billing_pb2.GetInvoiceHistoryResponse]') -> None: - pass - - @abc.abstractmethod - async def GetItemizedInvoice(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetItemizedInvoiceRequest, app.v1.billing_pb2.GetItemizedInvoiceResponse]') -> None: - pass - - @abc.abstractmethod - async def GetBillingSummary(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetBillingSummaryRequest, app.v1.billing_pb2.GetBillingSummaryResponse]') -> None: - pass - @abc.abstractmethod async def GetCurrentMonthUsage(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse]') -> None: pass @@ -46,16 +26,11 @@ async def GetInvoicePdf(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2. pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.BillingService/GetCurrentMonthUsageSummary': grpclib.const.Handler(self.GetCurrentMonthUsageSummary, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetCurrentMonthUsageSummaryRequest, app.v1.billing_pb2.GetCurrentMonthUsageSummaryResponse), '/viam.app.v1.BillingService/GetUnpaidBalance': grpclib.const.Handler(self.GetUnpaidBalance, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetUnpaidBalanceRequest, app.v1.billing_pb2.GetUnpaidBalanceResponse), '/viam.app.v1.BillingService/GetInvoiceHistory': grpclib.const.Handler(self.GetInvoiceHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetInvoiceHistoryRequest, app.v1.billing_pb2.GetInvoiceHistoryResponse), '/viam.app.v1.BillingService/GetItemizedInvoice': grpclib.const.Handler(self.GetItemizedInvoice, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetItemizedInvoiceRequest, app.v1.billing_pb2.GetItemizedInvoiceResponse), '/viam.app.v1.BillingService/GetBillingSummary': grpclib.const.Handler(self.GetBillingSummary, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetBillingSummaryRequest, app.v1.billing_pb2.GetBillingSummaryResponse), '/viam.app.v1.BillingService/GetCurrentMonthUsage': grpclib.const.Handler(self.GetCurrentMonthUsage, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse), '/viam.app.v1.BillingService/GetOrgBillingInformation': grpclib.const.Handler(self.GetOrgBillingInformation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse), '/viam.app.v1.BillingService/GetInvoicesSummary': grpclib.const.Handler(self.GetInvoicesSummary, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse), '/viam.app.v1.BillingService/GetInvoicePdf': grpclib.const.Handler(self.GetInvoicePdf, grpclib.const.Cardinality.UNARY_STREAM, app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse)} + return {'/viam.app.v1.BillingService/GetCurrentMonthUsage': grpclib.const.Handler(self.GetCurrentMonthUsage, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse), '/viam.app.v1.BillingService/GetOrgBillingInformation': grpclib.const.Handler(self.GetOrgBillingInformation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse), '/viam.app.v1.BillingService/GetInvoicesSummary': grpclib.const.Handler(self.GetInvoicesSummary, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse), '/viam.app.v1.BillingService/GetInvoicePdf': grpclib.const.Handler(self.GetInvoicePdf, grpclib.const.Cardinality.UNARY_STREAM, app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse)} class BillingServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetCurrentMonthUsageSummary = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetCurrentMonthUsageSummary', app.v1.billing_pb2.GetCurrentMonthUsageSummaryRequest, app.v1.billing_pb2.GetCurrentMonthUsageSummaryResponse) - self.GetUnpaidBalance = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetUnpaidBalance', app.v1.billing_pb2.GetUnpaidBalanceRequest, app.v1.billing_pb2.GetUnpaidBalanceResponse) - self.GetInvoiceHistory = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetInvoiceHistory', app.v1.billing_pb2.GetInvoiceHistoryRequest, app.v1.billing_pb2.GetInvoiceHistoryResponse) - self.GetItemizedInvoice = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetItemizedInvoice', app.v1.billing_pb2.GetItemizedInvoiceRequest, app.v1.billing_pb2.GetItemizedInvoiceResponse) - self.GetBillingSummary = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetBillingSummary', app.v1.billing_pb2.GetBillingSummaryRequest, app.v1.billing_pb2.GetBillingSummaryResponse) self.GetCurrentMonthUsage = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetCurrentMonthUsage', app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse) self.GetOrgBillingInformation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetOrgBillingInformation', app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse) self.GetInvoicesSummary = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetInvoicesSummary', app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse) diff --git a/src/viam/gen/app/v1/billing_pb2.py b/src/viam/gen/app/v1/billing_pb2.py index 0dab9fe50..3e4b63992 100644 --- a/src/viam/gen/app/v1/billing_pb2.py +++ b/src/viam/gen/app/v1/billing_pb2.py @@ -5,59 +5,37 @@ from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x97\x05\n\x18CurrentMonthUsageSummary\x12.\n\x13cloud_storage_usage\x18\x01 \x01(\x01R\x11cloudStorageUsage\x127\n\x18cloud_storage_usage_cost\x18\x02 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x03 \x01(\x01R\x13dataUploadUsageCost\x12;\n\x1adata_upload_usage_quantity\x18\x04 \x01(\x01R\x17dataUploadUsageQuantity\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19data_egres_usage_quantity\x18\x06 \x01(\x01R\x16dataEgresUsageQuantity\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12E\n\x1fstandard_compute_usage_quantity\x18\x08 \x01(\x01R\x1cstandardComputeUsageQuantity\x120\n\x14total_usage_quantity\x18\t \x01(\x01R\x12totalUsageQuantity\x129\n\x19total_usage_with_discount\x18\n \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\x0b \x01(\x01R\x19totalUsageWithoutDiscount"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"\x8b\x02\n\x15BillableResourceEvent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12%\n\x0eusage_quantity\x18\x03 \x01(\x01R\rusageQuantity\x12.\n\x13usage_quantity_unit\x18\x04 \x01(\tR\x11usageQuantityUnit\x12\x1d\n\nusage_cost\x18\x05 \x01(\tR\tusageCost\x12;\n\x0boccurred_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1b\n\tuser_name\x18\x07 \x01(\tR\x08userName"\xa7\x02\n\x07Invoice\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x128\n\x05items\x18\x06 \x03(\x0b2".viam.app.v1.BillableResourceEventR\x05items\x12\x1d\n\nemailed_to\x18\x07 \x01(\tR\temailedTo"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits";\n"GetCurrentMonthUsageSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xa2\x05\n#GetCurrentMonthUsageSummaryResponse\x12.\n\x13cloud_storage_usage\x18\x01 \x01(\x01R\x11cloudStorageUsage\x127\n\x18cloud_storage_usage_cost\x18\x02 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x03 \x01(\x01R\x13dataUploadUsageCost\x12;\n\x1adata_upload_usage_quantity\x18\x04 \x01(\x01R\x17dataUploadUsageQuantity\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19data_egres_usage_quantity\x18\x06 \x01(\x01R\x16dataEgresUsageQuantity\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12E\n\x1fstandard_compute_usage_quantity\x18\x08 \x01(\x01R\x1cstandardComputeUsageQuantity\x120\n\x14total_usage_quantity\x18\t \x01(\x01R\x12totalUsageQuantity\x129\n\x19total_usage_with_discount\x18\n \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\x0b \x01(\x01R\x19totalUsageWithoutDiscount"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xd0\x04\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x127\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x04 \x01(\x01R\x13dataUploadUsageCost\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19remote_control_usage_cost\x18\x06 \x01(\x01R\x16remoteControlUsageCost\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12\'\n\x0fdiscount_amount\x18\x08 \x01(\x01R\x0ediscountAmount\x129\n\x19total_usage_with_discount\x18\t \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\n \x01(\x01R\x19totalUsageWithoutDiscount"0\n\x17GetUnpaidBalanceRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x94\x01\n\x18GetUnpaidBalanceResponse\x12%\n\x0eunpaid_balance\x18\x01 \x01(\x01R\runpaidBalance\x12Q\n\x17unpaid_balance_due_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14unpaidBalanceDueDate"1\n\x18GetInvoiceHistoryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x19GetInvoiceHistoryResponse\x127\n\x08invoices\x18\x01 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"+\n\x19GetItemizedInvoiceRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"L\n\x1aGetItemizedInvoiceResponse\x12.\n\x07invoice\x18\x01 \x01(\x0b2\x14.viam.app.v1.InvoiceR\x07invoice"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfc\x01\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tier"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"1\n\x18GetBillingSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xe7\x03\n\x19GetBillingSummaryResponse\x12J\n\rusage_summary\x18\x01 \x01(\x0b2%.viam.app.v1.CurrentMonthUsageSummaryR\x0cusageSummary\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices\x12+\n\x11statement_balance\x18\x03 \x01(\x01R\x10statementBalance\x12\'\n\x0fcurrent_balance\x18\x04 \x01(\x01R\x0ecurrentBalance\x122\n\x15current_month_balance\x18\x05 \x01(\x01R\x13currentMonthBalance\x12O\n\x16current_month_due_date\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x13currentMonthDueDate\x12#\n\rinvoice_email\x18\x08 \x01(\tR\x0cinvoiceEmail\x12E\n\x0epayment_method\x18\t \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardR\rpaymentMethod"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk*V\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x012\xca\x07\n\x0eBillingService\x12\x80\x01\n\x1bGetCurrentMonthUsageSummary\x12/.viam.app.v1.GetCurrentMonthUsageSummaryRequest\x1a0.viam.app.v1.GetCurrentMonthUsageSummaryResponse\x12_\n\x10GetUnpaidBalance\x12$.viam.app.v1.GetUnpaidBalanceRequest\x1a%.viam.app.v1.GetUnpaidBalanceResponse\x12b\n\x11GetInvoiceHistory\x12%.viam.app.v1.GetInvoiceHistoryRequest\x1a&.viam.app.v1.GetInvoiceHistoryResponse\x12e\n\x12GetItemizedInvoice\x12&.viam.app.v1.GetItemizedInvoiceRequest\x1a\'.viam.app.v1.GetItemizedInvoiceResponse\x12b\n\x11GetBillingSummary\x12%.viam.app.v1.GetBillingSummaryRequest\x1a&.viam.app.v1.GetBillingSummaryResponse\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01B\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"\x8b\x02\n\x15BillableResourceEvent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12%\n\x0eusage_quantity\x18\x03 \x01(\x01R\rusageQuantity\x12.\n\x13usage_quantity_unit\x18\x04 \x01(\tR\x11usageQuantityUnit\x12\x1d\n\nusage_cost\x18\x05 \x01(\tR\tusageCost\x12;\n\x0boccurred_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1b\n\tuser_name\x18\x07 \x01(\tR\x08userName"\xa7\x02\n\x07Invoice\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x128\n\x05items\x18\x06 \x03(\x0b2".viam.app.v1.BillableResourceEventR\x05items\x12\x1d\n\nemailed_to\x18\x07 \x01(\tR\temailedTo"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xd0\x04\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x127\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x04 \x01(\x01R\x13dataUploadUsageCost\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19remote_control_usage_cost\x18\x06 \x01(\x01R\x16remoteControlUsageCost\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12\'\n\x0fdiscount_amount\x18\x08 \x01(\x01R\x0ediscountAmount\x129\n\x19total_usage_with_discount\x18\t \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\n \x01(\x01R\x19totalUsageWithoutDiscount"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfc\x01\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tier"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk*V\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x012\xb7\x03\n\x0eBillingService\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01B\x18Z\x16go.viam.com/api/app/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.billing_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' - _PAYMENTMETHODTYPE._serialized_start = 4663 - _PAYMENTMETHODTYPE._serialized_end = 4749 - _CURRENTMONTHUSAGESUMMARY._serialized_start = 71 - _CURRENTMONTHUSAGESUMMARY._serialized_end = 734 - _INVOICESUMMARY._serialized_start = 737 - _INVOICESUMMARY._serialized_end = 1007 - _BILLABLERESOURCEEVENT._serialized_start = 1010 - _BILLABLERESOURCEEVENT._serialized_end = 1277 - _INVOICE._serialized_start = 1280 - _INVOICE._serialized_end = 1575 - _PAYMENTMETHODCARD._serialized_start = 1577 - _PAYMENTMETHODCARD._serialized_end = 1660 - _GETCURRENTMONTHUSAGESUMMARYREQUEST._serialized_start = 1662 - _GETCURRENTMONTHUSAGESUMMARYREQUEST._serialized_end = 1721 - _GETCURRENTMONTHUSAGESUMMARYRESPONSE._serialized_start = 1724 - _GETCURRENTMONTHUSAGESUMMARYRESPONSE._serialized_end = 2398 - _GETCURRENTMONTHUSAGEREQUEST._serialized_start = 2400 - _GETCURRENTMONTHUSAGEREQUEST._serialized_end = 2452 - _GETCURRENTMONTHUSAGERESPONSE._serialized_start = 2455 - _GETCURRENTMONTHUSAGERESPONSE._serialized_end = 3047 - _GETUNPAIDBALANCEREQUEST._serialized_start = 3049 - _GETUNPAIDBALANCEREQUEST._serialized_end = 3097 - _GETUNPAIDBALANCERESPONSE._serialized_start = 3100 - _GETUNPAIDBALANCERESPONSE._serialized_end = 3248 - _GETINVOICEHISTORYREQUEST._serialized_start = 3250 - _GETINVOICEHISTORYREQUEST._serialized_end = 3299 - _GETINVOICEHISTORYRESPONSE._serialized_start = 3301 - _GETINVOICEHISTORYRESPONSE._serialized_end = 3385 - _GETITEMIZEDINVOICEREQUEST._serialized_start = 3387 - _GETITEMIZEDINVOICEREQUEST._serialized_end = 3430 - _GETITEMIZEDINVOICERESPONSE._serialized_start = 3432 - _GETITEMIZEDINVOICERESPONSE._serialized_end = 3508 - _GETORGBILLINGINFORMATIONREQUEST._serialized_start = 3510 - _GETORGBILLINGINFORMATIONREQUEST._serialized_end = 3566 - _GETORGBILLINGINFORMATIONRESPONSE._serialized_start = 3569 - _GETORGBILLINGINFORMATIONRESPONSE._serialized_end = 3821 - _GETINVOICESSUMMARYREQUEST._serialized_start = 3823 - _GETINVOICESSUMMARYREQUEST._serialized_end = 3873 - _GETINVOICESSUMMARYRESPONSE._serialized_start = 3876 - _GETINVOICESSUMMARYRESPONSE._serialized_end = 4010 - _GETBILLINGSUMMARYREQUEST._serialized_start = 4012 - _GETBILLINGSUMMARYREQUEST._serialized_end = 4061 - _GETBILLINGSUMMARYRESPONSE._serialized_start = 4064 - _GETBILLINGSUMMARYRESPONSE._serialized_end = 4551 - _GETINVOICEPDFREQUEST._serialized_start = 4553 - _GETINVOICEPDFREQUEST._serialized_end = 4614 - _GETINVOICEPDFRESPONSE._serialized_start = 4616 - _GETINVOICEPDFRESPONSE._serialized_end = 4661 - _BILLINGSERVICE._serialized_start = 4752 - _BILLINGSERVICE._serialized_end = 5722 \ No newline at end of file + _PAYMENTMETHODTYPE._serialized_start = 2257 + _PAYMENTMETHODTYPE._serialized_end = 2343 + _INVOICESUMMARY._serialized_start = 71 + _INVOICESUMMARY._serialized_end = 341 + _BILLABLERESOURCEEVENT._serialized_start = 344 + _BILLABLERESOURCEEVENT._serialized_end = 611 + _INVOICE._serialized_start = 614 + _INVOICE._serialized_end = 909 + _PAYMENTMETHODCARD._serialized_start = 911 + _PAYMENTMETHODCARD._serialized_end = 994 + _GETCURRENTMONTHUSAGEREQUEST._serialized_start = 996 + _GETCURRENTMONTHUSAGEREQUEST._serialized_end = 1048 + _GETCURRENTMONTHUSAGERESPONSE._serialized_start = 1051 + _GETCURRENTMONTHUSAGERESPONSE._serialized_end = 1643 + _GETORGBILLINGINFORMATIONREQUEST._serialized_start = 1645 + _GETORGBILLINGINFORMATIONREQUEST._serialized_end = 1701 + _GETORGBILLINGINFORMATIONRESPONSE._serialized_start = 1704 + _GETORGBILLINGINFORMATIONRESPONSE._serialized_end = 1956 + _GETINVOICESSUMMARYREQUEST._serialized_start = 1958 + _GETINVOICESSUMMARYREQUEST._serialized_end = 2008 + _GETINVOICESSUMMARYRESPONSE._serialized_start = 2011 + _GETINVOICESSUMMARYRESPONSE._serialized_end = 2145 + _GETINVOICEPDFREQUEST._serialized_start = 2147 + _GETINVOICEPDFREQUEST._serialized_end = 2208 + _GETINVOICEPDFRESPONSE._serialized_start = 2210 + _GETINVOICEPDFRESPONSE._serialized_end = 2255 + _BILLINGSERVICE._serialized_start = 2346 + _BILLINGSERVICE._serialized_end = 2785 \ No newline at end of file diff --git a/src/viam/gen/app/v1/billing_pb2.pyi b/src/viam/gen/app/v1/billing_pb2.pyi index 531e4c37c..6aeb77529 100644 --- a/src/viam/gen/app/v1/billing_pb2.pyi +++ b/src/viam/gen/app/v1/billing_pb2.pyi @@ -32,42 +32,6 @@ PAYMENT_METHOD_TYPE_UNSPECIFIED: PaymentMethodType.ValueType PAYMENT_METHOD_TYPE_CARD: PaymentMethodType.ValueType global___PaymentMethodType = PaymentMethodType -@typing_extensions.final -class CurrentMonthUsageSummary(google.protobuf.message.Message): - """TODO(APP-1865) should be deprecated/removed in favor of GetCurrentMonthUsage""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - CLOUD_STORAGE_USAGE_FIELD_NUMBER: builtins.int - CLOUD_STORAGE_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_UPLOAD_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_UPLOAD_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - DATA_EGRES_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_EGRES_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - STANDARD_COMPUTE_USAGE_COST_FIELD_NUMBER: builtins.int - STANDARD_COMPUTE_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - TOTAL_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - TOTAL_USAGE_WITH_DISCOUNT_FIELD_NUMBER: builtins.int - TOTAL_USAGE_WITHOUT_DISCOUNT_FIELD_NUMBER: builtins.int - cloud_storage_usage: builtins.float - cloud_storage_usage_cost: builtins.float - data_upload_usage_cost: builtins.float - data_upload_usage_quantity: builtins.float - data_egres_usage_cost: builtins.float - data_egres_usage_quantity: builtins.float - standard_compute_usage_cost: builtins.float - standard_compute_usage_quantity: builtins.float - total_usage_quantity: builtins.float - total_usage_with_discount: builtins.float - 'returns amt with any discounts applied' - total_usage_without_discount: builtins.float - 'returns amt without any discounts applied' - - def __init__(self, *, cloud_storage_usage: builtins.float=..., cloud_storage_usage_cost: builtins.float=..., data_upload_usage_cost: builtins.float=..., data_upload_usage_quantity: builtins.float=..., data_egres_usage_cost: builtins.float=..., data_egres_usage_quantity: builtins.float=..., standard_compute_usage_cost: builtins.float=..., standard_compute_usage_quantity: builtins.float=..., total_usage_quantity: builtins.float=..., total_usage_with_discount: builtins.float=..., total_usage_without_discount: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud_storage_usage', b'cloud_storage_usage', 'cloud_storage_usage_cost', b'cloud_storage_usage_cost', 'data_egres_usage_cost', b'data_egres_usage_cost', 'data_egres_usage_quantity', b'data_egres_usage_quantity', 'data_upload_usage_cost', b'data_upload_usage_cost', 'data_upload_usage_quantity', b'data_upload_usage_quantity', 'standard_compute_usage_cost', b'standard_compute_usage_cost', 'standard_compute_usage_quantity', b'standard_compute_usage_quantity', 'total_usage_quantity', b'total_usage_quantity', 'total_usage_with_discount', b'total_usage_with_discount', 'total_usage_without_discount', b'total_usage_without_discount']) -> None: - ... -global___CurrentMonthUsageSummary = CurrentMonthUsageSummary - @typing_extensions.final class InvoiceSummary(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -186,56 +150,6 @@ class PaymentMethodCard(google.protobuf.message.Message): ... global___PaymentMethodCard = PaymentMethodCard -@typing_extensions.final -class GetCurrentMonthUsageSummaryRequest(google.protobuf.message.Message): - """TODO(APP-1865) should be deprecated/removed in favor of GetCurrentMonthUsage""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - ORG_ID_FIELD_NUMBER: builtins.int - org_id: builtins.str - - def __init__(self, *, org_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... -global___GetCurrentMonthUsageSummaryRequest = GetCurrentMonthUsageSummaryRequest - -@typing_extensions.final -class GetCurrentMonthUsageSummaryResponse(google.protobuf.message.Message): - """TODO(APP-1865) should be deprecated/removed in favor of GetCurrentMonthUsage""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - CLOUD_STORAGE_USAGE_FIELD_NUMBER: builtins.int - CLOUD_STORAGE_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_UPLOAD_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_UPLOAD_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - DATA_EGRES_USAGE_COST_FIELD_NUMBER: builtins.int - DATA_EGRES_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - STANDARD_COMPUTE_USAGE_COST_FIELD_NUMBER: builtins.int - STANDARD_COMPUTE_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - TOTAL_USAGE_QUANTITY_FIELD_NUMBER: builtins.int - TOTAL_USAGE_WITH_DISCOUNT_FIELD_NUMBER: builtins.int - TOTAL_USAGE_WITHOUT_DISCOUNT_FIELD_NUMBER: builtins.int - cloud_storage_usage: builtins.float - cloud_storage_usage_cost: builtins.float - data_upload_usage_cost: builtins.float - data_upload_usage_quantity: builtins.float - data_egres_usage_cost: builtins.float - data_egres_usage_quantity: builtins.float - standard_compute_usage_cost: builtins.float - standard_compute_usage_quantity: builtins.float - total_usage_quantity: builtins.float - total_usage_with_discount: builtins.float - 'returns amt with any discounts applied' - total_usage_without_discount: builtins.float - 'returns amt without any discounts applied' - - def __init__(self, *, cloud_storage_usage: builtins.float=..., cloud_storage_usage_cost: builtins.float=..., data_upload_usage_cost: builtins.float=..., data_upload_usage_quantity: builtins.float=..., data_egres_usage_cost: builtins.float=..., data_egres_usage_quantity: builtins.float=..., standard_compute_usage_cost: builtins.float=..., standard_compute_usage_quantity: builtins.float=..., total_usage_quantity: builtins.float=..., total_usage_with_discount: builtins.float=..., total_usage_without_discount: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud_storage_usage', b'cloud_storage_usage', 'cloud_storage_usage_cost', b'cloud_storage_usage_cost', 'data_egres_usage_cost', b'data_egres_usage_cost', 'data_egres_usage_quantity', b'data_egres_usage_quantity', 'data_upload_usage_cost', b'data_upload_usage_cost', 'data_upload_usage_quantity', b'data_upload_usage_quantity', 'standard_compute_usage_cost', b'standard_compute_usage_cost', 'standard_compute_usage_quantity', b'standard_compute_usage_quantity', 'total_usage_quantity', b'total_usage_quantity', 'total_usage_with_discount', b'total_usage_with_discount', 'total_usage_without_discount', b'total_usage_without_discount']) -> None: - ... -global___GetCurrentMonthUsageSummaryResponse = GetCurrentMonthUsageSummaryResponse - @typing_extensions.final class GetCurrentMonthUsageRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -289,107 +203,6 @@ class GetCurrentMonthUsageResponse(google.protobuf.message.Message): ... global___GetCurrentMonthUsageResponse = GetCurrentMonthUsageResponse -@typing_extensions.final -class GetUnpaidBalanceRequest(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - ORG_ID_FIELD_NUMBER: builtins.int - org_id: builtins.str - - def __init__(self, *, org_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... -global___GetUnpaidBalanceRequest = GetUnpaidBalanceRequest - -@typing_extensions.final -class GetUnpaidBalanceResponse(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - UNPAID_BALANCE_FIELD_NUMBER: builtins.int - UNPAID_BALANCE_DUE_DATE_FIELD_NUMBER: builtins.int - unpaid_balance: builtins.float - - @property - def unpaid_balance_due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, unpaid_balance: builtins.float=..., unpaid_balance_due_date: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['unpaid_balance_due_date', b'unpaid_balance_due_date']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['unpaid_balance', b'unpaid_balance', 'unpaid_balance_due_date', b'unpaid_balance_due_date']) -> None: - ... -global___GetUnpaidBalanceResponse = GetUnpaidBalanceResponse - -@typing_extensions.final -class GetInvoiceHistoryRequest(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - ORG_ID_FIELD_NUMBER: builtins.int - org_id: builtins.str - - def __init__(self, *, org_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... -global___GetInvoiceHistoryRequest = GetInvoiceHistoryRequest - -@typing_extensions.final -class GetInvoiceHistoryResponse(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - INVOICES_FIELD_NUMBER: builtins.int - - @property - def invoices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InvoiceSummary]: - ... - - def __init__(self, *, invoices: collections.abc.Iterable[global___InvoiceSummary] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['invoices', b'invoices']) -> None: - ... -global___GetInvoiceHistoryResponse = GetInvoiceHistoryResponse - -@typing_extensions.final -class GetItemizedInvoiceRequest(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - ID_FIELD_NUMBER: builtins.int - id: builtins.str - - def __init__(self, *, id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... -global___GetItemizedInvoiceRequest = GetItemizedInvoiceRequest - -@typing_extensions.final -class GetItemizedInvoiceResponse(google.protobuf.message.Message): - """TODO(APP-1865) may want to remove""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - INVOICE_FIELD_NUMBER: builtins.int - - @property - def invoice(self) -> global___Invoice: - ... - - def __init__(self, *, invoice: global___Invoice | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['invoice', b'invoice']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['invoice', b'invoice']) -> None: - ... -global___GetItemizedInvoiceResponse = GetItemizedInvoiceResponse - @typing_extensions.final class GetOrgBillingInformationRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -469,66 +282,6 @@ class GetInvoicesSummaryResponse(google.protobuf.message.Message): ... global___GetInvoicesSummaryResponse = GetInvoicesSummaryResponse -@typing_extensions.final -class GetBillingSummaryRequest(google.protobuf.message.Message): - """TODO(APP-1865) should be deprecated/removed""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - ORG_ID_FIELD_NUMBER: builtins.int - org_id: builtins.str - - def __init__(self, *, org_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... -global___GetBillingSummaryRequest = GetBillingSummaryRequest - -@typing_extensions.final -class GetBillingSummaryResponse(google.protobuf.message.Message): - """TODO(APP-1865) should be deprecated/removed""" - DESCRIPTOR: google.protobuf.descriptor.Descriptor - USAGE_SUMMARY_FIELD_NUMBER: builtins.int - INVOICES_FIELD_NUMBER: builtins.int - STATEMENT_BALANCE_FIELD_NUMBER: builtins.int - CURRENT_BALANCE_FIELD_NUMBER: builtins.int - CURRENT_MONTH_BALANCE_FIELD_NUMBER: builtins.int - CURRENT_MONTH_DUE_DATE_FIELD_NUMBER: builtins.int - INVOICE_EMAIL_FIELD_NUMBER: builtins.int - PAYMENT_METHOD_FIELD_NUMBER: builtins.int - - @property - def usage_summary(self) -> global___CurrentMonthUsageSummary: - ... - - @property - def invoices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InvoiceSummary]: - ... - statement_balance: builtins.float - 'all unpaid balances at the end of the last billing cycle' - current_balance: builtins.float - 'statement_balance + current_month_usage' - current_month_balance: builtins.float - 'current_month_usage_cost' - - @property - def current_month_due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - """due date for current month usage""" - invoice_email: builtins.str - - @property - def payment_method(self) -> global___PaymentMethodCard: - ... - - def __init__(self, *, usage_summary: global___CurrentMonthUsageSummary | None=..., invoices: collections.abc.Iterable[global___InvoiceSummary] | None=..., statement_balance: builtins.float=..., current_balance: builtins.float=..., current_month_balance: builtins.float=..., current_month_due_date: google.protobuf.timestamp_pb2.Timestamp | None=..., invoice_email: builtins.str=..., payment_method: global___PaymentMethodCard | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['current_month_due_date', b'current_month_due_date', 'payment_method', b'payment_method', 'usage_summary', b'usage_summary']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['current_balance', b'current_balance', 'current_month_balance', b'current_month_balance', 'current_month_due_date', b'current_month_due_date', 'invoice_email', b'invoice_email', 'invoices', b'invoices', 'payment_method', b'payment_method', 'statement_balance', b'statement_balance', 'usage_summary', b'usage_summary']) -> None: - ... -global___GetBillingSummaryResponse = GetBillingSummaryResponse - @typing_extensions.final class GetInvoicePdfRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/src/viam/gen/app/v1/robot_grpc.py b/src/viam/gen/app/v1/robot_grpc.py index 848bbb883..b68969221 100644 --- a/src/viam/gen/app/v1/robot_grpc.py +++ b/src/viam/gen/app/v1/robot_grpc.py @@ -4,11 +4,11 @@ import grpclib.client if typing.TYPE_CHECKING: import grpclib.server -from ... import app from ... import common import google.protobuf.duration_pb2 import google.protobuf.struct_pb2 from ... import tagger +from ... import app class RobotServiceBase(abc.ABC): diff --git a/src/viam/gen/app/v1/robot_pb2.py b/src/viam/gen/app/v1/robot_pb2.py index 1fc7bc634..042f062c5 100644 --- a/src/viam/gen/app/v1/robot_pb2.py +++ b/src/viam/gen/app/v1/robot_pb2.py @@ -4,12 +4,11 @@ from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database _sym_db = _symbol_database.Default() -from ...app.v1 import app_pb2 as app_dot_v1_dot_app__pb2 from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x10app/v1/app.proto\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\x89\x05\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packagesB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_start"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\xd8\x02\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xd4\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xc3\x02\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs"\xc5\x01\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xac\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01B\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"G\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12)\n\x04logs\x18\x02 \x03(\x0b2\x15.viam.app.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xac\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\x89\x05\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packagesB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_start"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\x9f\x03\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets\x12$\n\x0eprimary_org_id\x18\n \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x0b \x01(\tR\nlocationId"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xd4\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xc3\x02\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs"\xc5\x01\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xac\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01B\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"J\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x04logs\x18\x02 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xac\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.robot_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -33,87 +32,87 @@ _REMOTECONFIG.fields_by_name['service_configs']._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' _MODULECONFIG_ENVENTRY._options = None _MODULECONFIG_ENVENTRY._serialized_options = b'8\x01' - _CREDENTIALSTYPE._serialized_start = 6505 - _CREDENTIALSTYPE._serialized_end = 6696 - _ROBOTCONFIG._serialized_start = 164 - _ROBOTCONFIG._serialized_end = 813 - _LOCATIONSECRET._serialized_start = 815 - _LOCATIONSECRET._serialized_end = 871 - _APPVALIDATIONSTATUS._serialized_start = 873 - _APPVALIDATIONSTATUS._serialized_end = 916 - _CLOUDCONFIG._serialized_start = 919 - _CLOUDCONFIG._serialized_end = 1263 - _COMPONENTCONFIG._serialized_start = 1266 - _COMPONENTCONFIG._serialized_end = 1709 - _RESOURCELEVELSERVICECONFIG._serialized_start = 1711 - _RESOURCELEVELSERVICECONFIG._serialized_end = 1816 - _PROCESSCONFIG._serialized_start = 1819 - _PROCESSCONFIG._serialized_end = 2159 - _PROCESSCONFIG_ENVENTRY._serialized_start = 2105 - _PROCESSCONFIG_ENVENTRY._serialized_end = 2159 - _SERVICECONFIG._serialized_start = 2162 - _SERVICECONFIG._serialized_end = 2485 - _NETWORKCONFIG._serialized_start = 2488 - _NETWORKCONFIG._serialized_end = 2685 - _SESSIONSCONFIG._serialized_start = 2687 - _SESSIONSCONFIG._serialized_end = 2773 - _AUTHCONFIG._serialized_start = 2776 - _AUTHCONFIG._serialized_end = 3005 - _JWKSFILE._serialized_start = 3007 - _JWKSFILE._serialized_end = 3062 - _EXTERNALAUTHCONFIG._serialized_start = 3064 - _EXTERNALAUTHCONFIG._serialized_end = 3127 - _AUTHHANDLERCONFIG._serialized_start = 3129 - _AUTHHANDLERCONFIG._serialized_end = 3247 - _FRAME._serialized_start = 3250 - _FRAME._serialized_end = 3455 - _LOGCONFIGURATION._serialized_start = 3457 - _LOGCONFIGURATION._serialized_end = 3497 - _TRANSLATION._serialized_start = 3499 - _TRANSLATION._serialized_end = 3554 - _ORIENTATION._serialized_start = 3557 - _ORIENTATION._serialized_end = 4533 - _ORIENTATION_NOORIENTATION._serialized_start = 4055 - _ORIENTATION_NOORIENTATION._serialized_end = 4070 - _ORIENTATION_ORIENTATIONVECTORRADIANS._serialized_start = 4072 - _ORIENTATION_ORIENTATIONVECTORRADIANS._serialized_end = 4178 - _ORIENTATION_ORIENTATIONVECTORDEGREES._serialized_start = 4180 - _ORIENTATION_ORIENTATIONVECTORDEGREES._serialized_end = 4286 - _ORIENTATION_EULERANGLES._serialized_start = 4288 - _ORIENTATION_EULERANGLES._serialized_end = 4361 - _ORIENTATION_AXISANGLES._serialized_start = 4363 - _ORIENTATION_AXISANGLES._serialized_end = 4455 - _ORIENTATION_QUATERNION._serialized_start = 4457 - _ORIENTATION_QUATERNION._serialized_end = 4525 - _REMOTECONFIG._serialized_start = 4536 - _REMOTECONFIG._serialized_end = 5037 - _REMOTEAUTH._serialized_start = 5040 - _REMOTEAUTH._serialized_end = 5238 - _REMOTEAUTH_CREDENTIALS._serialized_start = 5149 - _REMOTEAUTH_CREDENTIALS._serialized_end = 5238 - _AGENTINFO._serialized_start = 5241 - _AGENTINFO._serialized_end = 5413 - _CONFIGREQUEST._serialized_start = 5415 - _CONFIGREQUEST._serialized_end = 5521 - _CONFIGRESPONSE._serialized_start = 5523 - _CONFIGRESPONSE._serialized_end = 5589 - _CERTIFICATEREQUEST._serialized_start = 5591 - _CERTIFICATEREQUEST._serialized_end = 5627 - _CERTIFICATERESPONSE._serialized_start = 5629 - _CERTIFICATERESPONSE._serialized_end = 5747 - _LOGREQUEST._serialized_start = 5749 - _LOGREQUEST._serialized_end = 5820 - _LOGRESPONSE._serialized_start = 5822 - _LOGRESPONSE._serialized_end = 5835 - _NEEDSRESTARTREQUEST._serialized_start = 5837 - _NEEDSRESTARTREQUEST._serialized_end = 5874 - _NEEDSRESTARTRESPONSE._serialized_start = 5877 - _NEEDSRESTARTRESPONSE._serialized_end = 6031 - _MODULECONFIG._serialized_start = 6034 - _MODULECONFIG._serialized_end = 6334 - _MODULECONFIG_ENVENTRY._serialized_start = 2105 - _MODULECONFIG_ENVENTRY._serialized_end = 2159 - _PACKAGECONFIG._serialized_start = 6337 - _PACKAGECONFIG._serialized_end = 6502 - _ROBOTSERVICE._serialized_start = 6699 - _ROBOTSERVICE._serialized_end = 7005 \ No newline at end of file + _CREDENTIALSTYPE._serialized_start = 6561 + _CREDENTIALSTYPE._serialized_end = 6752 + _ROBOTCONFIG._serialized_start = 146 + _ROBOTCONFIG._serialized_end = 795 + _LOCATIONSECRET._serialized_start = 797 + _LOCATIONSECRET._serialized_end = 853 + _APPVALIDATIONSTATUS._serialized_start = 855 + _APPVALIDATIONSTATUS._serialized_end = 898 + _CLOUDCONFIG._serialized_start = 901 + _CLOUDCONFIG._serialized_end = 1316 + _COMPONENTCONFIG._serialized_start = 1319 + _COMPONENTCONFIG._serialized_end = 1762 + _RESOURCELEVELSERVICECONFIG._serialized_start = 1764 + _RESOURCELEVELSERVICECONFIG._serialized_end = 1869 + _PROCESSCONFIG._serialized_start = 1872 + _PROCESSCONFIG._serialized_end = 2212 + _PROCESSCONFIG_ENVENTRY._serialized_start = 2158 + _PROCESSCONFIG_ENVENTRY._serialized_end = 2212 + _SERVICECONFIG._serialized_start = 2215 + _SERVICECONFIG._serialized_end = 2538 + _NETWORKCONFIG._serialized_start = 2541 + _NETWORKCONFIG._serialized_end = 2738 + _SESSIONSCONFIG._serialized_start = 2740 + _SESSIONSCONFIG._serialized_end = 2826 + _AUTHCONFIG._serialized_start = 2829 + _AUTHCONFIG._serialized_end = 3058 + _JWKSFILE._serialized_start = 3060 + _JWKSFILE._serialized_end = 3115 + _EXTERNALAUTHCONFIG._serialized_start = 3117 + _EXTERNALAUTHCONFIG._serialized_end = 3180 + _AUTHHANDLERCONFIG._serialized_start = 3182 + _AUTHHANDLERCONFIG._serialized_end = 3300 + _FRAME._serialized_start = 3303 + _FRAME._serialized_end = 3508 + _LOGCONFIGURATION._serialized_start = 3510 + _LOGCONFIGURATION._serialized_end = 3550 + _TRANSLATION._serialized_start = 3552 + _TRANSLATION._serialized_end = 3607 + _ORIENTATION._serialized_start = 3610 + _ORIENTATION._serialized_end = 4586 + _ORIENTATION_NOORIENTATION._serialized_start = 4108 + _ORIENTATION_NOORIENTATION._serialized_end = 4123 + _ORIENTATION_ORIENTATIONVECTORRADIANS._serialized_start = 4125 + _ORIENTATION_ORIENTATIONVECTORRADIANS._serialized_end = 4231 + _ORIENTATION_ORIENTATIONVECTORDEGREES._serialized_start = 4233 + _ORIENTATION_ORIENTATIONVECTORDEGREES._serialized_end = 4339 + _ORIENTATION_EULERANGLES._serialized_start = 4341 + _ORIENTATION_EULERANGLES._serialized_end = 4414 + _ORIENTATION_AXISANGLES._serialized_start = 4416 + _ORIENTATION_AXISANGLES._serialized_end = 4508 + _ORIENTATION_QUATERNION._serialized_start = 4510 + _ORIENTATION_QUATERNION._serialized_end = 4578 + _REMOTECONFIG._serialized_start = 4589 + _REMOTECONFIG._serialized_end = 5090 + _REMOTEAUTH._serialized_start = 5093 + _REMOTEAUTH._serialized_end = 5291 + _REMOTEAUTH_CREDENTIALS._serialized_start = 5202 + _REMOTEAUTH_CREDENTIALS._serialized_end = 5291 + _AGENTINFO._serialized_start = 5294 + _AGENTINFO._serialized_end = 5466 + _CONFIGREQUEST._serialized_start = 5468 + _CONFIGREQUEST._serialized_end = 5574 + _CONFIGRESPONSE._serialized_start = 5576 + _CONFIGRESPONSE._serialized_end = 5642 + _CERTIFICATEREQUEST._serialized_start = 5644 + _CERTIFICATEREQUEST._serialized_end = 5680 + _CERTIFICATERESPONSE._serialized_start = 5682 + _CERTIFICATERESPONSE._serialized_end = 5800 + _LOGREQUEST._serialized_start = 5802 + _LOGREQUEST._serialized_end = 5876 + _LOGRESPONSE._serialized_start = 5878 + _LOGRESPONSE._serialized_end = 5891 + _NEEDSRESTARTREQUEST._serialized_start = 5893 + _NEEDSRESTARTREQUEST._serialized_end = 5930 + _NEEDSRESTARTRESPONSE._serialized_start = 5933 + _NEEDSRESTARTRESPONSE._serialized_end = 6087 + _MODULECONFIG._serialized_start = 6090 + _MODULECONFIG._serialized_end = 6390 + _MODULECONFIG_ENVENTRY._serialized_start = 2158 + _MODULECONFIG_ENVENTRY._serialized_end = 2212 + _PACKAGECONFIG._serialized_start = 6393 + _PACKAGECONFIG._serialized_end = 6558 + _ROBOTSERVICE._serialized_start = 6755 + _ROBOTSERVICE._serialized_end = 7061 \ No newline at end of file diff --git a/src/viam/gen/app/v1/robot_pb2.pyi b/src/viam/gen/app/v1/robot_pb2.pyi index 51f713a2b..db9da5798 100644 --- a/src/viam/gen/app/v1/robot_pb2.pyi +++ b/src/viam/gen/app/v1/robot_pb2.pyi @@ -2,7 +2,6 @@ @generated by mypy-protobuf. Do not edit manually! isort:skip_file """ -from ... import app import builtins import collections.abc from ... import common @@ -163,6 +162,8 @@ class CloudConfig(google.protobuf.message.Message): LOCATION_SECRET_FIELD_NUMBER: builtins.int SECRET_FIELD_NUMBER: builtins.int LOCATION_SECRETS_FIELD_NUMBER: builtins.int + PRIMARY_ORG_ID_FIELD_NUMBER: builtins.int + LOCATION_ID_FIELD_NUMBER: builtins.int id: builtins.str 'Robot part id.' fqdn: builtins.str @@ -178,11 +179,13 @@ class CloudConfig(google.protobuf.message.Message): @property def location_secrets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocationSecret]: """All valid location secrets.""" + primary_org_id: builtins.str + location_id: builtins.str - def __init__(self, *, id: builtins.str=..., fqdn: builtins.str=..., local_fqdn: builtins.str=..., managed_by: builtins.str=..., signaling_address: builtins.str=..., signaling_insecure: builtins.bool=..., location_secret: builtins.str=..., secret: builtins.str=..., location_secrets: collections.abc.Iterable[global___LocationSecret] | None=...) -> None: + def __init__(self, *, id: builtins.str=..., fqdn: builtins.str=..., local_fqdn: builtins.str=..., managed_by: builtins.str=..., signaling_address: builtins.str=..., signaling_insecure: builtins.bool=..., location_secret: builtins.str=..., secret: builtins.str=..., location_secrets: collections.abc.Iterable[global___LocationSecret] | None=..., primary_org_id: builtins.str=..., location_id: builtins.str=...) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['fqdn', b'fqdn', 'id', b'id', 'local_fqdn', b'local_fqdn', 'location_secret', b'location_secret', 'location_secrets', b'location_secrets', 'managed_by', b'managed_by', 'secret', b'secret', 'signaling_address', b'signaling_address', 'signaling_insecure', b'signaling_insecure']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['fqdn', b'fqdn', 'id', b'id', 'local_fqdn', b'local_fqdn', 'location_id', b'location_id', 'location_secret', b'location_secret', 'location_secrets', b'location_secrets', 'managed_by', b'managed_by', 'primary_org_id', b'primary_org_id', 'secret', b'secret', 'signaling_address', b'signaling_address', 'signaling_insecure', b'signaling_insecure']) -> None: ... global___CloudConfig = CloudConfig @@ -943,10 +946,10 @@ class LogRequest(google.protobuf.message.Message): 'Robot part id.' @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[app.v1.app_pb2.LogEntry]: + def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: ... - def __init__(self, *, id: builtins.str=..., logs: collections.abc.Iterable[app.v1.app_pb2.LogEntry] | None=...) -> None: + def __init__(self, *, id: builtins.str=..., logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: ... def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'logs', b'logs']) -> None: diff --git a/src/viam/gen/common/v1/common_pb2.py b/src/viam/gen/common/v1/common_pb2.py index 274f0a54a..4a3ee7107 100644 --- a/src/viam/gen/common/v1/common_pb2.py +++ b/src/viam/gen/common/v1/common_pb2.py @@ -7,7 +7,7 @@ from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"n\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name"\xfc\x02\n\x0bBoardStatus\x12B\n\x07analogs\x18\x01 \x03(\x0b2(.viam.common.v1.BoardStatus.AnalogsEntryR\x07analogs\x12a\n\x12digital_interrupts\x18\x02 \x03(\x0b22.viam.common.v1.BoardStatus.DigitalInterruptsEntryR\x11digitalInterrupts\x1aX\n\x0cAnalogsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.viam.common.v1.AnalogStatusR\x05value:\x028\x01\x1al\n\x16DigitalInterruptsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.common.v1.DigitalInterruptStatusR\x05value:\x028\x01"$\n\x0cAnalogStatus\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value".\n\x16DigitalInterruptStatus\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"\xfc\x01\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoObstacle\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xe2\x01\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01B\x12\n\x10_physical_object"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"n\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name"\xfc\x02\n\x0bBoardStatus\x12B\n\x07analogs\x18\x01 \x03(\x0b2(.viam.common.v1.BoardStatus.AnalogsEntryR\x07analogs\x12a\n\x12digital_interrupts\x18\x02 \x03(\x0b22.viam.common.v1.BoardStatus.DigitalInterruptsEntryR\x11digitalInterrupts\x1aX\n\x0cAnalogsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.viam.common.v1.AnalogStatusR\x05value:\x028\x01\x1al\n\x16DigitalInterruptsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.common.v1.DigitalInterruptStatusR\x05value:\x028\x01"$\n\x0cAnalogStatus\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value".\n\x16DigitalInterruptStatus\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"\xfc\x01\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoObstacle\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xe2\x01\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01B\x12\n\x10_physical_object"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'common.v1.common_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -20,8 +20,8 @@ _BOARDSTATUS_DIGITALINTERRUPTSENTRY._serialized_options = b'8\x01' _GETREADINGSRESPONSE_READINGSENTRY._options = None _GETREADINGSRESPONSE_READINGSENTRY._serialized_options = b'8\x01' - _KINEMATICSFILEFORMAT._serialized_start = 3300 - _KINEMATICSFILEFORMAT._serialized_end = 3427 + _KINEMATICSFILEFORMAT._serialized_start = 3582 + _KINEMATICSFILEFORMAT._serialized_end = 3709 _RESOURCENAME._serialized_start = 139 _RESOURCENAME._serialized_end = 249 _BOARDSTATUS._serialized_start = 252 @@ -83,4 +83,6 @@ _GETREADINGSRESPONSE._serialized_start = 3113 _GETREADINGSRESPONSE._serialized_end = 3298 _GETREADINGSRESPONSE_READINGSENTRY._serialized_start = 3215 - _GETREADINGSRESPONSE_READINGSENTRY._serialized_end = 3298 \ No newline at end of file + _GETREADINGSRESPONSE_READINGSENTRY._serialized_end = 3298 + _LOGENTRY._serialized_start = 3301 + _LOGENTRY._serialized_end = 3580 \ No newline at end of file diff --git a/src/viam/gen/common/v1/common_pb2.pyi b/src/viam/gen/common/v1/common_pb2.pyi index 6fe65c851..ad8379919 100644 --- a/src/viam/gen/common/v1/common_pb2.pyi +++ b/src/viam/gen/common/v1/common_pb2.pyi @@ -703,6 +703,45 @@ class GetReadingsResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['readings', b'readings']) -> None: ... global___GetReadingsResponse = GetReadingsResponse + +@typing_extensions.final +class LogEntry(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + HOST_FIELD_NUMBER: builtins.int + LEVEL_FIELD_NUMBER: builtins.int + TIME_FIELD_NUMBER: builtins.int + LOGGER_NAME_FIELD_NUMBER: builtins.int + MESSAGE_FIELD_NUMBER: builtins.int + CALLER_FIELD_NUMBER: builtins.int + STACK_FIELD_NUMBER: builtins.int + FIELDS_FIELD_NUMBER: builtins.int + host: builtins.str + level: builtins.str + + @property + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: + ... + logger_name: builtins.str + message: builtins.str + + @property + def caller(self) -> google.protobuf.struct_pb2.Struct: + ... + stack: builtins.str + + @property + def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]: + ... + + def __init__(self, *, host: builtins.str=..., level: builtins.str=..., time: google.protobuf.timestamp_pb2.Timestamp | None=..., logger_name: builtins.str=..., message: builtins.str=..., caller: google.protobuf.struct_pb2.Struct | None=..., stack: builtins.str=..., fields: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['caller', b'caller', 'time', b'time']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['caller', b'caller', 'fields', b'fields', 'host', b'host', 'level', b'level', 'logger_name', b'logger_name', 'message', b'message', 'stack', b'stack', 'time', b'time']) -> None: + ... +global___LogEntry = LogEntry SAFETY_HEARTBEAT_MONITORED_FIELD_NUMBER: builtins.int safety_heartbeat_monitored: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MethodOptions, builtins.bool] 'safety_heartbeat_monitored is used on methods to signify that if a session is in use\nand the session was the last to call this method, the resource associated with the\nmethod will be stopped.\n' \ No newline at end of file diff --git a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py index b09032a5c..4cb0875bd 100644 --- a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py +++ b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py @@ -7,7 +7,7 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0component/movementsensor/v1/movementsensor.proto\x12 viam.component.movementsensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"]\n\x18GetLinearVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"]\n\x19GetLinearVelocityResponse\x12@\n\x0flinear_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0elinearVelocity"^\n\x19GetAngularVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x1aGetAngularVelocityResponse\x12B\n\x10angular_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0fangularVelocity"]\n\x18GetCompassHeadingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x19GetCompassHeadingResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value"Z\n\x15GetOrientationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x16GetOrientationResponse\x12=\n\x0borientation\x18\x01 \x01(\x0b2\x1b.viam.common.v1.OrientationR\x0borientation"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x13GetPositionResponse\x128\n\ncoordinate\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\ncoordinate\x12\x1d\n\naltitude_m\x18\x02 \x01(\x02R\taltitudeM"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xf5\x02\n\x15GetPropertiesResponse\x12:\n\x19linear_velocity_supported\x18\x01 \x01(\x08R\x17linearVelocitySupported\x12<\n\x1aangular_velocity_supported\x18\x02 \x01(\x08R\x18angularVelocitySupported\x123\n\x15orientation_supported\x18\x03 \x01(\x08R\x14orientationSupported\x12-\n\x12position_supported\x18\x04 \x01(\x08R\x11positionSupported\x12:\n\x19compass_heading_supported\x18\x05 \x01(\x08R\x17compassHeadingSupported\x12B\n\x1dlinear_acceleration_supported\x18\x06 \x01(\x08R\x1blinearAccelerationSupported"W\n\x12GetAccuracyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xfe\x03\n\x13GetAccuracyResponse\x12_\n\x08accuracy\x18\x01 \x03(\x0b2C.viam.component.movementsensor.v1.GetAccuracyResponse.AccuracyEntryR\x08accuracy\x12(\n\rposition_hdop\x18\x02 \x01(\x02H\x00R\x0cpositionHdop\x88\x01\x01\x12(\n\rposition_vdop\x18\x03 \x01(\x02H\x01R\x0cpositionVdop\x88\x01\x01\x12d\n\x15position_nmea_gga_fix\x18\x04 \x01(\x0e2,.viam.component.movementsensor.v1.NmeaGGAFixH\x02R\x12positionNmeaGgaFix\x88\x01\x01\x127\n\x15compass_degrees_error\x18\x05 \x01(\x02H\x03R\x13compassDegreesError\x88\x01\x01\x1a;\n\rAccuracyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01B\x10\n\x0e_position_hdopB\x10\n\x0e_position_vdopB\x18\n\x16_position_nmea_gga_fixB\x18\n\x16_compass_degrees_error"a\n\x1cGetLinearAccelerationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"i\n\x1dGetLinearAccelerationResponse\x12H\n\x13linear_acceleration\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x12linearAcceleration*\x85\x02\n\nNmeaGGAFix\x12$\n NMEA_GGA_FIX_INVALID_UNSPECIFIED\x10\x00\x12\x15\n\x11NMEA_GGA_FIX_GNSS\x10\x01\x12\x15\n\x11NMEA_GGA_FIX_DGPS\x10\x02\x12\x14\n\x10NMEA_GGA_FIX_PPS\x10\x03\x12\x1a\n\x16NMEA_GGA_FIX_RTK_FIXED\x10\x04\x12\x1a\n\x16NMEA_GGA_FIX_RTK_FLOAT\x10\x05\x12\x1f\n\x1bNMEA_GGA_FIX_DEAD_RECKONING\x10\x06\x12\x17\n\x13NMEA_GGA_FIX_MANUAL\x10\x07\x12\x1b\n\x17NMEA_GGA_FIX_SIMULATION\x10\x082\xcf\x10\n\x15MovementSensorService\x12\xd2\x01\n\x11GetLinearVelocity\x12:.viam.component.movementsensor.v1.GetLinearVelocityRequest\x1a;.viam.component.movementsensor.v1.GetLinearVelocityResponse"D\x82\xd3\xe4\x93\x02>\x12\x12.viam.component.movementsensor.v1.GetLinearAccelerationRequest\x1a?.viam.component.movementsensor.v1.GetLinearAccelerationResponse"H\x82\xd3\xe4\x93\x02B\x12@/viam/api/v1/component/movementsensor/{name}/linear_acceleration\x12\x91\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"?\x82\xd3\xe4\x93\x029"7/viam/api/v1/component/movementsensor/{name}/do_command\x12\x9d\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"?\x82\xd3\xe4\x93\x029\x127/viam/api/v1/component/movementsensor/{name}/geometries\x12\x95\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/movementsensor/{name}/readingsBS\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0component/movementsensor/v1/movementsensor.proto\x12 viam.component.movementsensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"]\n\x18GetLinearVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"]\n\x19GetLinearVelocityResponse\x12@\n\x0flinear_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0elinearVelocity"^\n\x19GetAngularVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x1aGetAngularVelocityResponse\x12B\n\x10angular_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0fangularVelocity"]\n\x18GetCompassHeadingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x19GetCompassHeadingResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value"Z\n\x15GetOrientationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x16GetOrientationResponse\x12=\n\x0borientation\x18\x01 \x01(\x0b2\x1b.viam.common.v1.OrientationR\x0borientation"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x13GetPositionResponse\x128\n\ncoordinate\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\ncoordinate\x12\x1d\n\naltitude_m\x18\x02 \x01(\x02R\taltitudeM"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xf5\x02\n\x15GetPropertiesResponse\x12:\n\x19linear_velocity_supported\x18\x01 \x01(\x08R\x17linearVelocitySupported\x12<\n\x1aangular_velocity_supported\x18\x02 \x01(\x08R\x18angularVelocitySupported\x123\n\x15orientation_supported\x18\x03 \x01(\x08R\x14orientationSupported\x12-\n\x12position_supported\x18\x04 \x01(\x08R\x11positionSupported\x12:\n\x19compass_heading_supported\x18\x05 \x01(\x08R\x17compassHeadingSupported\x12B\n\x1dlinear_acceleration_supported\x18\x06 \x01(\x08R\x1blinearAccelerationSupported"W\n\x12GetAccuracyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xd0\x03\n\x13GetAccuracyResponse\x12_\n\x08accuracy\x18\x01 \x03(\x0b2C.viam.component.movementsensor.v1.GetAccuracyResponse.AccuracyEntryR\x08accuracy\x12(\n\rposition_hdop\x18\x02 \x01(\x02H\x00R\x0cpositionHdop\x88\x01\x01\x12(\n\rposition_vdop\x18\x03 \x01(\x02H\x01R\x0cpositionVdop\x88\x01\x01\x126\n\x15position_nmea_gga_fix\x18\x04 \x01(\x05H\x02R\x12positionNmeaGgaFix\x88\x01\x01\x127\n\x15compass_degrees_error\x18\x05 \x01(\x02H\x03R\x13compassDegreesError\x88\x01\x01\x1a;\n\rAccuracyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01B\x10\n\x0e_position_hdopB\x10\n\x0e_position_vdopB\x18\n\x16_position_nmea_gga_fixB\x18\n\x16_compass_degrees_error"a\n\x1cGetLinearAccelerationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"i\n\x1dGetLinearAccelerationResponse\x12H\n\x13linear_acceleration\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x12linearAcceleration2\xcf\x10\n\x15MovementSensorService\x12\xd2\x01\n\x11GetLinearVelocity\x12:.viam.component.movementsensor.v1.GetLinearVelocityRequest\x1a;.viam.component.movementsensor.v1.GetLinearVelocityResponse"D\x82\xd3\xe4\x93\x02>\x12\x12.viam.component.movementsensor.v1.GetLinearAccelerationRequest\x1a?.viam.component.movementsensor.v1.GetLinearAccelerationResponse"H\x82\xd3\xe4\x93\x02B\x12@/viam/api/v1/component/movementsensor/{name}/linear_acceleration\x12\x91\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"?\x82\xd3\xe4\x93\x029"7/viam/api/v1/component/movementsensor/{name}/do_command\x12\x9d\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"?\x82\xd3\xe4\x93\x029\x127/viam/api/v1/component/movementsensor/{name}/geometries\x12\x95\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/movementsensor/{name}/readingsBS\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.movementsensor.v1.movementsensor_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -37,8 +37,6 @@ _MOVEMENTSENSORSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x029\x127/viam/api/v1/component/movementsensor/{name}/geometries' _MOVEMENTSENSORSERVICE.methods_by_name['GetReadings']._options = None _MOVEMENTSENSORSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/movementsensor/{name}/readings' - _NMEAGGAFIX._serialized_start = 2358 - _NMEAGGAFIX._serialized_end = 2619 _GETLINEARVELOCITYREQUEST._serialized_start = 170 _GETLINEARVELOCITYREQUEST._serialized_end = 263 _GETLINEARVELOCITYRESPONSE._serialized_start = 265 @@ -66,12 +64,12 @@ _GETACCURACYREQUEST._serialized_start = 1549 _GETACCURACYREQUEST._serialized_end = 1636 _GETACCURACYRESPONSE._serialized_start = 1639 - _GETACCURACYRESPONSE._serialized_end = 2149 - _GETACCURACYRESPONSE_ACCURACYENTRY._serialized_start = 2002 - _GETACCURACYRESPONSE_ACCURACYENTRY._serialized_end = 2061 - _GETLINEARACCELERATIONREQUEST._serialized_start = 2151 - _GETLINEARACCELERATIONREQUEST._serialized_end = 2248 - _GETLINEARACCELERATIONRESPONSE._serialized_start = 2250 - _GETLINEARACCELERATIONRESPONSE._serialized_end = 2355 - _MOVEMENTSENSORSERVICE._serialized_start = 2622 - _MOVEMENTSENSORSERVICE._serialized_end = 4749 \ No newline at end of file + _GETACCURACYRESPONSE._serialized_end = 2103 + _GETACCURACYRESPONSE_ACCURACYENTRY._serialized_start = 1956 + _GETACCURACYRESPONSE_ACCURACYENTRY._serialized_end = 2015 + _GETLINEARACCELERATIONREQUEST._serialized_start = 2105 + _GETLINEARACCELERATIONREQUEST._serialized_end = 2202 + _GETLINEARACCELERATIONRESPONSE._serialized_start = 2204 + _GETLINEARACCELERATIONRESPONSE._serialized_end = 2309 + _MOVEMENTSENSORSERVICE._serialized_start = 2312 + _MOVEMENTSENSORSERVICE._serialized_end = 4439 \ No newline at end of file diff --git a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi index 889f83b8e..eacddc035 100644 --- a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi +++ b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.pyi @@ -7,53 +7,16 @@ import collections.abc from .... import common import google.protobuf.descriptor import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import sys import typing -if sys.version_info >= (3, 10): +if sys.version_info >= (3, 8): import typing as typing_extensions else: import typing_extensions DESCRIPTOR: google.protobuf.descriptor.FileDescriptor -class _NmeaGGAFix: - ValueType = typing.NewType('ValueType', builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _NmeaGGAFixEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NmeaGGAFix.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - NMEA_GGA_FIX_INVALID_UNSPECIFIED: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_GNSS: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_DGPS: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_PPS: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_RTK_FIXED: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_RTK_FLOAT: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_DEAD_RECKONING: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_MANUAL: _NmeaGGAFix.ValueType - NMEA_GGA_FIX_SIMULATION: _NmeaGGAFix.ValueType - -class NmeaGGAFix(_NmeaGGAFix, metaclass=_NmeaGGAFixEnumTypeWrapper): - """NmeaGGAFix includes fix quality of a GPS which is obtained from the GGA message. - More information on GGA messages here - https://receiverhelp.trimble.com/alloy-gnss/en-us/NMEA-0183messages_GGA.html - Generally a fix of 1 or 2 lends to large position errors, ideally we want a - fix of 4-5. Other fixes are unsuitable for outdoor navigation. - The meaning of each fix value is documented here - https://docs.novatel.com/OEM7/Content/Logs/GPGGA.htm#GPSQualityIndicators - """ -NMEA_GGA_FIX_INVALID_UNSPECIFIED: NmeaGGAFix.ValueType -NMEA_GGA_FIX_GNSS: NmeaGGAFix.ValueType -NMEA_GGA_FIX_DGPS: NmeaGGAFix.ValueType -NMEA_GGA_FIX_PPS: NmeaGGAFix.ValueType -NMEA_GGA_FIX_RTK_FIXED: NmeaGGAFix.ValueType -NMEA_GGA_FIX_RTK_FLOAT: NmeaGGAFix.ValueType -NMEA_GGA_FIX_DEAD_RECKONING: NmeaGGAFix.ValueType -NMEA_GGA_FIX_MANUAL: NmeaGGAFix.ValueType -NMEA_GGA_FIX_SIMULATION: NmeaGGAFix.ValueType -global___NmeaGGAFix = NmeaGGAFix - @typing_extensions.final class GetLinearVelocityRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -355,10 +318,10 @@ class GetAccuracyResponse(google.protobuf.message.Message): ... position_hdop: builtins.float position_vdop: builtins.float - position_nmea_gga_fix: global___NmeaGGAFix.ValueType + position_nmea_gga_fix: builtins.int compass_degrees_error: builtins.float - def __init__(self, *, accuracy: collections.abc.Mapping[builtins.str, builtins.float] | None=..., position_hdop: builtins.float | None=..., position_vdop: builtins.float | None=..., position_nmea_gga_fix: global___NmeaGGAFix.ValueType | None=..., compass_degrees_error: builtins.float | None=...) -> None: + def __init__(self, *, accuracy: collections.abc.Mapping[builtins.str, builtins.float] | None=..., position_hdop: builtins.float | None=..., position_vdop: builtins.float | None=..., position_nmea_gga_fix: builtins.int | None=..., compass_degrees_error: builtins.float | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['_compass_degrees_error', b'_compass_degrees_error', '_position_hdop', b'_position_hdop', '_position_nmea_gga_fix', b'_position_nmea_gga_fix', '_position_vdop', b'_position_vdop', 'compass_degrees_error', b'compass_degrees_error', 'position_hdop', b'position_hdop', 'position_nmea_gga_fix', b'position_nmea_gga_fix', 'position_vdop', b'position_vdop']) -> builtins.bool: diff --git a/src/viam/gen/provisioning/__init__.py b/src/viam/gen/provisioning/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/provisioning/v1/__init__.py b/src/viam/gen/provisioning/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/provisioning/v1/provisioning_grpc.py b/src/viam/gen/provisioning/v1/provisioning_grpc.py new file mode 100644 index 000000000..120491edb --- /dev/null +++ b/src/viam/gen/provisioning/v1/provisioning_grpc.py @@ -0,0 +1,36 @@ +import abc +import typing +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server +from ... import provisioning + +class ProvisioningServiceBase(abc.ABC): + + @abc.abstractmethod + async def GetSmartMachineStatus(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse]') -> None: + pass + + @abc.abstractmethod + async def SetNetworkCredentials(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse]') -> None: + pass + + @abc.abstractmethod + async def SetSmartMachineCredentials(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse]') -> None: + pass + + @abc.abstractmethod + async def GetNetworkList(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return {'/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus': grpclib.const.Handler(self.GetSmartMachineStatus, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse), '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials': grpclib.const.Handler(self.SetNetworkCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials': grpclib.const.Handler(self.SetSmartMachineCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/GetNetworkList': grpclib.const.Handler(self.GetNetworkList, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse)} + +class ProvisioningServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.GetSmartMachineStatus = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus', provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse) + self.SetNetworkCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials', provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse) + self.SetSmartMachineCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials', provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse) + self.GetNetworkList = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetNetworkList', provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse) \ No newline at end of file diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.py b/src/viam/gen/provisioning/v1/provisioning_pb2.py new file mode 100644 index 000000000..227c397d4 --- /dev/null +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.py @@ -0,0 +1,36 @@ +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"provisioning/v1/provisioning.proto\x12\x14viam.provisioning.v1"\x1e\n\x1cGetSmartMachineStatusRequest"\xcb\x02\n\x1dGetSmartMachineStatusResponse\x12S\n\x11provisioning_info\x18\x01 \x01(\x0b2&.viam.provisioning.v1.ProvisioningInfoR\x10provisioningInfo\x12A\n\x1dhas_smart_machine_credentials\x18\x02 \x01(\x08R\x1ahasSmartMachineCredentials\x12\x1b\n\tis_online\x18\x03 \x01(\x08R\x08isOnline\x12]\n\x19latest_connection_attempt\x18\x04 \x01(\x0b2!.viam.provisioning.v1.NetworkInfoR\x17latestConnectionAttempt\x12\x16\n\x06errors\x18\x05 \x03(\tR\x06errors"X\n\x1cSetNetworkCredentialsRequest\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x10\n\x03psk\x18\x03 \x01(\tR\x03psk"\x1f\n\x1dSetNetworkCredentialsResponse"\\\n!SetSmartMachineCredentialsRequest\x127\n\x05cloud\x18\x01 \x01(\x0b2!.viam.provisioning.v1.CloudConfigR\x05cloud"$\n"SetSmartMachineCredentialsResponse"\x17\n\x15GetNetworkListRequest"W\n\x16GetNetworkListResponse\x12=\n\x08networks\x18\x01 \x03(\x0b2!.viam.provisioning.v1.NetworkInfoR\x08networks"m\n\x10ProvisioningInfo\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12"\n\x0cmanufacturer\x18\x03 \x01(\tR\x0cmanufacturer"\xa6\x01\n\x0bNetworkInfo\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x1a\n\x08security\x18\x03 \x01(\tR\x08security\x12\x16\n\x06signal\x18\x04 \x01(\x05R\x06signal\x12\x1c\n\tconnected\x18\x05 \x01(\x08R\tconnected\x12\x1d\n\nlast_error\x18\x06 \x01(\tR\tlastError"V\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\x12\x1f\n\x0bapp_address\x18\x03 \x01(\tR\nappAddress2\x9a\x04\n\x13ProvisioningService\x12\x80\x01\n\x15GetSmartMachineStatus\x122.viam.provisioning.v1.GetSmartMachineStatusRequest\x1a3.viam.provisioning.v1.GetSmartMachineStatusResponse\x12\x80\x01\n\x15SetNetworkCredentials\x122.viam.provisioning.v1.SetNetworkCredentialsRequest\x1a3.viam.provisioning.v1.SetNetworkCredentialsResponse\x12\x8f\x01\n\x1aSetSmartMachineCredentials\x127.viam.provisioning.v1.SetSmartMachineCredentialsRequest\x1a8.viam.provisioning.v1.SetSmartMachineCredentialsResponse\x12k\n\x0eGetNetworkList\x12+.viam.provisioning.v1.GetNetworkListRequest\x1a,.viam.provisioning.v1.GetNetworkListResponseB!Z\x1fgo.viam.com/api/provisioning/v1b\x06proto3') +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'provisioning.v1.provisioning_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'Z\x1fgo.viam.com/api/provisioning/v1' + _GETSMARTMACHINESTATUSREQUEST._serialized_start = 60 + _GETSMARTMACHINESTATUSREQUEST._serialized_end = 90 + _GETSMARTMACHINESTATUSRESPONSE._serialized_start = 93 + _GETSMARTMACHINESTATUSRESPONSE._serialized_end = 424 + _SETNETWORKCREDENTIALSREQUEST._serialized_start = 426 + _SETNETWORKCREDENTIALSREQUEST._serialized_end = 514 + _SETNETWORKCREDENTIALSRESPONSE._serialized_start = 516 + _SETNETWORKCREDENTIALSRESPONSE._serialized_end = 547 + _SETSMARTMACHINECREDENTIALSREQUEST._serialized_start = 549 + _SETSMARTMACHINECREDENTIALSREQUEST._serialized_end = 641 + _SETSMARTMACHINECREDENTIALSRESPONSE._serialized_start = 643 + _SETSMARTMACHINECREDENTIALSRESPONSE._serialized_end = 679 + _GETNETWORKLISTREQUEST._serialized_start = 681 + _GETNETWORKLISTREQUEST._serialized_end = 704 + _GETNETWORKLISTRESPONSE._serialized_start = 706 + _GETNETWORKLISTRESPONSE._serialized_end = 793 + _PROVISIONINGINFO._serialized_start = 795 + _PROVISIONINGINFO._serialized_end = 904 + _NETWORKINFO._serialized_start = 907 + _NETWORKINFO._serialized_end = 1073 + _CLOUDCONFIG._serialized_start = 1075 + _CLOUDCONFIG._serialized_end = 1161 + _PROVISIONINGSERVICE._serialized_start = 1164 + _PROVISIONINGSERVICE._serialized_end = 1702 \ No newline at end of file diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.pyi b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi new file mode 100644 index 000000000..c0ca26901 --- /dev/null +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi @@ -0,0 +1,192 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import builtins +import collections.abc +import google.protobuf.descriptor +import google.protobuf.internal.containers +import google.protobuf.message +import sys +if sys.version_info >= (3, 8): + import typing as typing_extensions +else: + import typing_extensions +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing_extensions.final +class GetSmartMachineStatusRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___GetSmartMachineStatusRequest = GetSmartMachineStatusRequest + +@typing_extensions.final +class GetSmartMachineStatusResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + PROVISIONING_INFO_FIELD_NUMBER: builtins.int + HAS_SMART_MACHINE_CREDENTIALS_FIELD_NUMBER: builtins.int + IS_ONLINE_FIELD_NUMBER: builtins.int + LATEST_CONNECTION_ATTEMPT_FIELD_NUMBER: builtins.int + ERRORS_FIELD_NUMBER: builtins.int + + @property + def provisioning_info(self) -> global___ProvisioningInfo: + ... + has_smart_machine_credentials: builtins.bool + is_online: builtins.bool + + @property + def latest_connection_attempt(self) -> global___NetworkInfo: + ... + + @property + def errors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + ... + + def __init__(self, *, provisioning_info: global___ProvisioningInfo | None=..., has_smart_machine_credentials: builtins.bool=..., is_online: builtins.bool=..., latest_connection_attempt: global___NetworkInfo | None=..., errors: collections.abc.Iterable[builtins.str] | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['errors', b'errors', 'has_smart_machine_credentials', b'has_smart_machine_credentials', 'is_online', b'is_online', 'latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> None: + ... +global___GetSmartMachineStatusResponse = GetSmartMachineStatusResponse + +@typing_extensions.final +class SetNetworkCredentialsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + TYPE_FIELD_NUMBER: builtins.int + SSID_FIELD_NUMBER: builtins.int + PSK_FIELD_NUMBER: builtins.int + type: builtins.str + ssid: builtins.str + psk: builtins.str + + def __init__(self, *, type: builtins.str=..., ssid: builtins.str=..., psk: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['psk', b'psk', 'ssid', b'ssid', 'type', b'type']) -> None: + ... +global___SetNetworkCredentialsRequest = SetNetworkCredentialsRequest + +@typing_extensions.final +class SetNetworkCredentialsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___SetNetworkCredentialsResponse = SetNetworkCredentialsResponse + +@typing_extensions.final +class SetSmartMachineCredentialsRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + CLOUD_FIELD_NUMBER: builtins.int + + @property + def cloud(self) -> global___CloudConfig: + ... + + def __init__(self, *, cloud: global___CloudConfig | None=...) -> None: + ... + + def HasField(self, field_name: typing_extensions.Literal['cloud', b'cloud']) -> builtins.bool: + ... + + def ClearField(self, field_name: typing_extensions.Literal['cloud', b'cloud']) -> None: + ... +global___SetSmartMachineCredentialsRequest = SetSmartMachineCredentialsRequest + +@typing_extensions.final +class SetSmartMachineCredentialsResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___SetSmartMachineCredentialsResponse = SetSmartMachineCredentialsResponse + +@typing_extensions.final +class GetNetworkListRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___GetNetworkListRequest = GetNetworkListRequest + +@typing_extensions.final +class GetNetworkListResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + NETWORKS_FIELD_NUMBER: builtins.int + + @property + def networks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInfo]: + ... + + def __init__(self, *, networks: collections.abc.Iterable[global___NetworkInfo] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['networks', b'networks']) -> None: + ... +global___GetNetworkListResponse = GetNetworkListResponse + +@typing_extensions.final +class ProvisioningInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + FRAGMENT_ID_FIELD_NUMBER: builtins.int + MODEL_FIELD_NUMBER: builtins.int + MANUFACTURER_FIELD_NUMBER: builtins.int + fragment_id: builtins.str + model: builtins.str + manufacturer: builtins.str + + def __init__(self, *, fragment_id: builtins.str=..., model: builtins.str=..., manufacturer: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['fragment_id', b'fragment_id', 'manufacturer', b'manufacturer', 'model', b'model']) -> None: + ... +global___ProvisioningInfo = ProvisioningInfo + +@typing_extensions.final +class NetworkInfo(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + TYPE_FIELD_NUMBER: builtins.int + SSID_FIELD_NUMBER: builtins.int + SECURITY_FIELD_NUMBER: builtins.int + SIGNAL_FIELD_NUMBER: builtins.int + CONNECTED_FIELD_NUMBER: builtins.int + LAST_ERROR_FIELD_NUMBER: builtins.int + type: builtins.str + ssid: builtins.str + security: builtins.str + signal: builtins.int + connected: builtins.bool + last_error: builtins.str + + def __init__(self, *, type: builtins.str=..., ssid: builtins.str=..., security: builtins.str=..., signal: builtins.int=..., connected: builtins.bool=..., last_error: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['connected', b'connected', 'last_error', b'last_error', 'security', b'security', 'signal', b'signal', 'ssid', b'ssid', 'type', b'type']) -> None: + ... +global___NetworkInfo = NetworkInfo + +@typing_extensions.final +class CloudConfig(google.protobuf.message.Message): + """minimal CloudConfig to create /etc/viam.json""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ID_FIELD_NUMBER: builtins.int + SECRET_FIELD_NUMBER: builtins.int + APP_ADDRESS_FIELD_NUMBER: builtins.int + id: builtins.str + 'SmartMachine part id' + secret: builtins.str + 'SmartMachine part secret' + app_address: builtins.str + + def __init__(self, *, id: builtins.str=..., secret: builtins.str=..., app_address: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['app_address', b'app_address', 'id', b'id', 'secret', b'secret']) -> None: + ... +global___CloudConfig = CloudConfig \ No newline at end of file diff --git a/src/viam/gen/robot/v1/robot_grpc.py b/src/viam/gen/robot/v1/robot_grpc.py index 4591afb0c..dc8fc3ee3 100644 --- a/src/viam/gen/robot/v1/robot_grpc.py +++ b/src/viam/gen/robot/v1/robot_grpc.py @@ -73,8 +73,16 @@ async def StartSession(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.S async def SendSessionHeartbeat(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse]') -> None: pass + @abc.abstractmethod + async def Log(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse]') -> None: + pass + + @abc.abstractmethod + async def GetCloudMetadata(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse]') -> None: + pass + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.robot.v1.RobotService/GetOperations': grpclib.const.Handler(self.GetOperations, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse), '/viam.robot.v1.RobotService/GetSessions': grpclib.const.Handler(self.GetSessions, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse), '/viam.robot.v1.RobotService/ResourceNames': grpclib.const.Handler(self.ResourceNames, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse), '/viam.robot.v1.RobotService/ResourceRPCSubtypes': grpclib.const.Handler(self.ResourceRPCSubtypes, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse), '/viam.robot.v1.RobotService/CancelOperation': grpclib.const.Handler(self.CancelOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse), '/viam.robot.v1.RobotService/BlockForOperation': grpclib.const.Handler(self.BlockForOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse), '/viam.robot.v1.RobotService/DiscoverComponents': grpclib.const.Handler(self.DiscoverComponents, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse), '/viam.robot.v1.RobotService/FrameSystemConfig': grpclib.const.Handler(self.FrameSystemConfig, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse), '/viam.robot.v1.RobotService/TransformPose': grpclib.const.Handler(self.TransformPose, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse), '/viam.robot.v1.RobotService/TransformPCD': grpclib.const.Handler(self.TransformPCD, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse), '/viam.robot.v1.RobotService/GetStatus': grpclib.const.Handler(self.GetStatus, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse), '/viam.robot.v1.RobotService/StreamStatus': grpclib.const.Handler(self.StreamStatus, grpclib.const.Cardinality.UNARY_STREAM, robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse), '/viam.robot.v1.RobotService/StopAll': grpclib.const.Handler(self.StopAll, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse), '/viam.robot.v1.RobotService/StartSession': grpclib.const.Handler(self.StartSession, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse), '/viam.robot.v1.RobotService/SendSessionHeartbeat': grpclib.const.Handler(self.SendSessionHeartbeat, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse)} + return {'/viam.robot.v1.RobotService/GetOperations': grpclib.const.Handler(self.GetOperations, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse), '/viam.robot.v1.RobotService/GetSessions': grpclib.const.Handler(self.GetSessions, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse), '/viam.robot.v1.RobotService/ResourceNames': grpclib.const.Handler(self.ResourceNames, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse), '/viam.robot.v1.RobotService/ResourceRPCSubtypes': grpclib.const.Handler(self.ResourceRPCSubtypes, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse), '/viam.robot.v1.RobotService/CancelOperation': grpclib.const.Handler(self.CancelOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse), '/viam.robot.v1.RobotService/BlockForOperation': grpclib.const.Handler(self.BlockForOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse), '/viam.robot.v1.RobotService/DiscoverComponents': grpclib.const.Handler(self.DiscoverComponents, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse), '/viam.robot.v1.RobotService/FrameSystemConfig': grpclib.const.Handler(self.FrameSystemConfig, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse), '/viam.robot.v1.RobotService/TransformPose': grpclib.const.Handler(self.TransformPose, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse), '/viam.robot.v1.RobotService/TransformPCD': grpclib.const.Handler(self.TransformPCD, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse), '/viam.robot.v1.RobotService/GetStatus': grpclib.const.Handler(self.GetStatus, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse), '/viam.robot.v1.RobotService/StreamStatus': grpclib.const.Handler(self.StreamStatus, grpclib.const.Cardinality.UNARY_STREAM, robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse), '/viam.robot.v1.RobotService/StopAll': grpclib.const.Handler(self.StopAll, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse), '/viam.robot.v1.RobotService/StartSession': grpclib.const.Handler(self.StartSession, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse), '/viam.robot.v1.RobotService/SendSessionHeartbeat': grpclib.const.Handler(self.SendSessionHeartbeat, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse), '/viam.robot.v1.RobotService/Log': grpclib.const.Handler(self.Log, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse), '/viam.robot.v1.RobotService/GetCloudMetadata': grpclib.const.Handler(self.GetCloudMetadata, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse)} class RobotServiceStub: @@ -93,4 +101,6 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.StreamStatus = grpclib.client.UnaryStreamMethod(channel, '/viam.robot.v1.RobotService/StreamStatus', robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse) self.StopAll = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/StopAll', robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse) self.StartSession = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/StartSession', robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse) - self.SendSessionHeartbeat = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/SendSessionHeartbeat', robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse) \ No newline at end of file + self.SendSessionHeartbeat = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/SendSessionHeartbeat', robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse) + self.Log = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/Log', robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse) + self.GetCloudMetadata = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/GetCloudMetadata', robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse) \ No newline at end of file diff --git a/src/viam/gen/robot/v1/robot_pb2.py b/src/viam/gen/robot/v1/robot_pb2.py index dca971eb0..b230f2191 100644 --- a/src/viam/gen/robot/v1/robot_pb2.py +++ b/src/viam/gen/robot/v1/robot_pb2.py @@ -9,7 +9,7 @@ from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14robot/v1/robot.proto\x12\rviam.robot.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"}\n\x11FrameSystemConfig\x12/\n\x05frame\x18\x01 \x01(\x0b2\x19.viam.common.v1.TransformR\x05frame\x127\n\nkinematics\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nkinematics"n\n\x18FrameSystemConfigRequest\x12R\n\x17supplemental_transforms\x18\x01 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"o\n\x19FrameSystemConfigResponse\x12R\n\x14frame_system_configs\x18\x01 \x03(\x0b2 .viam.robot.v1.FrameSystemConfigR\x12frameSystemConfigs"\xc1\x01\n\x14TransformPoseRequest\x123\n\x06source\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x06source\x12 \n\x0bdestination\x18\x02 \x01(\tR\x0bdestination\x12R\n\x17supplemental_transforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"H\n\x15TransformPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"w\n\x13TransformPCDRequest\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd\x12\x16\n\x06source\x18\x02 \x01(\tR\x06source\x12 \n\x0bdestination\x18\x03 \x01(\tR\x0bdestination">\n\x14TransformPCDResponse\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd"\x16\n\x14ResourceNamesRequest"S\n\x15ResourceNamesResponse\x12:\n\tresources\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\tresources"q\n\x12ResourceRPCSubtype\x126\n\x07subtype\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x07subtype\x12#\n\rproto_service\x18\x02 \x01(\tR\x0cprotoService"\x1c\n\x1aResourceRPCSubtypesRequest"t\n\x1bResourceRPCSubtypesResponse\x12U\n\x15resource_rpc_subtypes\x18\x01 \x03(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x13resourceRpcSubtypes"\xd3\x01\n\tOperation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x125\n\targuments\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\targuments\x124\n\x07started\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07started\x12"\n\nsession_id\x18\x05 \x01(\tH\x00R\tsessionId\x88\x01\x01B\r\n\x0b_session_id"\x16\n\x14GetOperationsRequest"Q\n\x15GetOperationsResponse\x128\n\noperations\x18\x01 \x03(\x0b2\x18.viam.robot.v1.OperationR\noperations"(\n\x16CancelOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17CancelOperationResponse"*\n\x18BlockForOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19BlockForOperationResponse"\xc6\x01\n\x12PeerConnectionInfo\x125\n\x04type\x18\x01 \x01(\x0e2!.viam.robot.v1.PeerConnectionTypeR\x04type\x12*\n\x0eremote_address\x18\x02 \x01(\tH\x00R\rremoteAddress\x88\x01\x01\x12(\n\rlocal_address\x18\x03 \x01(\tH\x01R\x0clocalAddress\x88\x01\x01B\x11\n\x0f_remote_addressB\x10\n\x0e_local_address"\x8c\x01\n\x07Session\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12X\n\x14peer_connection_info\x18\x02 \x01(\x0b2!.viam.robot.v1.PeerConnectionInfoH\x00R\x12peerConnectionInfo\x88\x01\x01B\x17\n\x15_peer_connection_info"\x14\n\x12GetSessionsRequest"I\n\x13GetSessionsResponse\x122\n\x08sessions\x18\x01 \x03(\x0b2\x16.viam.robot.v1.SessionR\x08sessions"@\n\x0eDiscoveryQuery\x12\x18\n\x07subtype\x18\x01 \x01(\tR\x07subtype\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"s\n\tDiscovery\x123\n\x05query\x18\x01 \x01(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x05query\x121\n\x07results\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07results"T\n\x19DiscoverComponentsRequest\x127\n\x07queries\x18\x01 \x03(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x07queries"T\n\x1aDiscoverComponentsResponse\x126\n\tdiscovery\x18\x01 \x03(\x0b2\x18.viam.robot.v1.DiscoveryR\tdiscovery"\xb4\x01\n\x06Status\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06status\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06status\x12G\n\x11last_reconfigured\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10lastReconfigured"W\n\x10GetStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames"B\n\x11GetStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"\x8b\x01\n\x13StreamStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames\x12/\n\x05every\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x05every"E\n\x14StreamStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"x\n\x13StopExtraParameters\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06params\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06params"J\n\x0eStopAllRequest\x128\n\x05extra\x18c \x03(\x0b2".viam.robot.v1.StopExtraParametersR\x05extra"\x11\n\x0fStopAllResponse"-\n\x13StartSessionRequest\x12\x16\n\x06resume\x18\x01 \x01(\tR\x06resume"l\n\x14StartSessionResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x10heartbeat_window\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"-\n\x1bSendSessionHeartbeatRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1e\n\x1cSendSessionHeartbeatResponse*z\n\x12PeerConnectionType\x12$\n PEER_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19PEER_CONNECTION_TYPE_GRPC\x10\x01\x12\x1f\n\x1bPEER_CONNECTION_TYPE_WEBRTC\x10\x022\xf8\x0f\n\x0cRobotService\x12\x80\x01\n\rGetOperations\x12#.viam.robot.v1.GetOperationsRequest\x1a$.viam.robot.v1.GetOperationsResponse"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list\x12x\n\x0bGetSessions\x12!.viam.robot.v1.GetSessionsRequest\x1a".viam.robot.v1.GetSessionsResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list\x12\x7f\n\rResourceNames\x12#.viam.robot.v1.ResourceNamesRequest\x1a$.viam.robot.v1.ResourceNamesResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list\x12\x9d\x01\n\x13ResourceRPCSubtypes\x12).viam.robot.v1.ResourceRPCSubtypesRequest\x1a*.viam.robot.v1.ResourceRPCSubtypesResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/resource_rpc_subtypes/list\x12\x88\x01\n\x0fCancelOperation\x12%.viam.robot.v1.CancelOperationRequest\x1a&.viam.robot.v1.CancelOperationResponse"&\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel\x12\x8d\x01\n\x11BlockForOperation\x12\'.viam.robot.v1.BlockForOperationRequest\x1a(.viam.robot.v1.BlockForOperationResponse"%\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block\x12\x94\x01\n\x12DiscoverComponents\x12(.viam.robot.v1.DiscoverComponentsRequest\x1a).viam.robot.v1.DiscoverComponentsResponse")\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components\x12\x90\x01\n\x11FrameSystemConfig\x12\'.viam.robot.v1.FrameSystemConfigRequest\x1a(.viam.robot.v1.FrameSystemConfigResponse"(\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config\x12\x8c\x01\n\rTransformPose\x12#.viam.robot.v1.TransformPoseRequest\x1a$.viam.robot.v1.TransformPoseResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose\x12\x88\x01\n\x0cTransformPCD\x12".viam.robot.v1.TransformPCDRequest\x1a#.viam.robot.v1.TransformPCDResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/frame_system/transform_pcd\x12k\n\tGetStatus\x12\x1f.viam.robot.v1.GetStatusRequest\x1a .viam.robot.v1.GetStatusResponse"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status\x12}\n\x0cStreamStatus\x12".viam.robot.v1.StreamStatusRequest\x1a#.viam.robot.v1.StreamStatusResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream0\x01\x12g\n\x07StopAll\x12\x1d.viam.robot.v1.StopAllRequest\x1a\x1e.viam.robot.v1.StopAllResponse"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all\x12v\n\x0cStartSession\x12".viam.robot.v1.StartSessionRequest\x1a#.viam.robot.v1.StartSessionResponse"\x1d\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions\x12\x9d\x01\n\x14SendSessionHeartbeat\x12*.viam.robot.v1.SendSessionHeartbeatRequest\x1a+.viam.robot.v1.SendSessionHeartbeatResponse",\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeatB-\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14robot/v1/robot.proto\x12\rviam.robot.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"}\n\x11FrameSystemConfig\x12/\n\x05frame\x18\x01 \x01(\x0b2\x19.viam.common.v1.TransformR\x05frame\x127\n\nkinematics\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nkinematics"n\n\x18FrameSystemConfigRequest\x12R\n\x17supplemental_transforms\x18\x01 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"o\n\x19FrameSystemConfigResponse\x12R\n\x14frame_system_configs\x18\x01 \x03(\x0b2 .viam.robot.v1.FrameSystemConfigR\x12frameSystemConfigs"\xc1\x01\n\x14TransformPoseRequest\x123\n\x06source\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x06source\x12 \n\x0bdestination\x18\x02 \x01(\tR\x0bdestination\x12R\n\x17supplemental_transforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"H\n\x15TransformPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"w\n\x13TransformPCDRequest\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd\x12\x16\n\x06source\x18\x02 \x01(\tR\x06source\x12 \n\x0bdestination\x18\x03 \x01(\tR\x0bdestination">\n\x14TransformPCDResponse\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd"\x16\n\x14ResourceNamesRequest"S\n\x15ResourceNamesResponse\x12:\n\tresources\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\tresources"q\n\x12ResourceRPCSubtype\x126\n\x07subtype\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x07subtype\x12#\n\rproto_service\x18\x02 \x01(\tR\x0cprotoService"\x1c\n\x1aResourceRPCSubtypesRequest"t\n\x1bResourceRPCSubtypesResponse\x12U\n\x15resource_rpc_subtypes\x18\x01 \x03(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x13resourceRpcSubtypes"\xd3\x01\n\tOperation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x125\n\targuments\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\targuments\x124\n\x07started\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07started\x12"\n\nsession_id\x18\x05 \x01(\tH\x00R\tsessionId\x88\x01\x01B\r\n\x0b_session_id"\x16\n\x14GetOperationsRequest"Q\n\x15GetOperationsResponse\x128\n\noperations\x18\x01 \x03(\x0b2\x18.viam.robot.v1.OperationR\noperations"(\n\x16CancelOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17CancelOperationResponse"*\n\x18BlockForOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19BlockForOperationResponse"\xc6\x01\n\x12PeerConnectionInfo\x125\n\x04type\x18\x01 \x01(\x0e2!.viam.robot.v1.PeerConnectionTypeR\x04type\x12*\n\x0eremote_address\x18\x02 \x01(\tH\x00R\rremoteAddress\x88\x01\x01\x12(\n\rlocal_address\x18\x03 \x01(\tH\x01R\x0clocalAddress\x88\x01\x01B\x11\n\x0f_remote_addressB\x10\n\x0e_local_address"\x8c\x01\n\x07Session\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12X\n\x14peer_connection_info\x18\x02 \x01(\x0b2!.viam.robot.v1.PeerConnectionInfoH\x00R\x12peerConnectionInfo\x88\x01\x01B\x17\n\x15_peer_connection_info"\x14\n\x12GetSessionsRequest"I\n\x13GetSessionsResponse\x122\n\x08sessions\x18\x01 \x03(\x0b2\x16.viam.robot.v1.SessionR\x08sessions"@\n\x0eDiscoveryQuery\x12\x18\n\x07subtype\x18\x01 \x01(\tR\x07subtype\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"s\n\tDiscovery\x123\n\x05query\x18\x01 \x01(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x05query\x121\n\x07results\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07results"T\n\x19DiscoverComponentsRequest\x127\n\x07queries\x18\x01 \x03(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x07queries"T\n\x1aDiscoverComponentsResponse\x126\n\tdiscovery\x18\x01 \x03(\x0b2\x18.viam.robot.v1.DiscoveryR\tdiscovery"\xb4\x01\n\x06Status\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06status\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06status\x12G\n\x11last_reconfigured\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10lastReconfigured"W\n\x10GetStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames"B\n\x11GetStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"\x8b\x01\n\x13StreamStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames\x12/\n\x05every\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x05every"E\n\x14StreamStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"x\n\x13StopExtraParameters\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06params\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06params"J\n\x0eStopAllRequest\x128\n\x05extra\x18c \x03(\x0b2".viam.robot.v1.StopExtraParametersR\x05extra"\x11\n\x0fStopAllResponse"-\n\x13StartSessionRequest\x12\x16\n\x06resume\x18\x01 \x01(\tR\x06resume"l\n\x14StartSessionResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x10heartbeat_window\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"-\n\x1bSendSessionHeartbeatRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1e\n\x1cSendSessionHeartbeatResponse":\n\nLogRequest\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"\x19\n\x17GetCloudMetadataRequest"\x85\x01\n\x18GetCloudMetadataResponse\x12"\n\rrobot_part_id\x18\x01 \x01(\tR\x0brobotPartId\x12$\n\x0eprimary_org_id\x18\x02 \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId*z\n\x12PeerConnectionType\x12$\n PEER_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19PEER_CONNECTION_TYPE_GRPC\x10\x01\x12\x1f\n\x1bPEER_CONNECTION_TYPE_WEBRTC\x10\x022\xdb\x11\n\x0cRobotService\x12\x80\x01\n\rGetOperations\x12#.viam.robot.v1.GetOperationsRequest\x1a$.viam.robot.v1.GetOperationsResponse"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list\x12x\n\x0bGetSessions\x12!.viam.robot.v1.GetSessionsRequest\x1a".viam.robot.v1.GetSessionsResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list\x12\x7f\n\rResourceNames\x12#.viam.robot.v1.ResourceNamesRequest\x1a$.viam.robot.v1.ResourceNamesResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list\x12\x9d\x01\n\x13ResourceRPCSubtypes\x12).viam.robot.v1.ResourceRPCSubtypesRequest\x1a*.viam.robot.v1.ResourceRPCSubtypesResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/resource_rpc_subtypes/list\x12\x88\x01\n\x0fCancelOperation\x12%.viam.robot.v1.CancelOperationRequest\x1a&.viam.robot.v1.CancelOperationResponse"&\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel\x12\x8d\x01\n\x11BlockForOperation\x12\'.viam.robot.v1.BlockForOperationRequest\x1a(.viam.robot.v1.BlockForOperationResponse"%\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block\x12\x94\x01\n\x12DiscoverComponents\x12(.viam.robot.v1.DiscoverComponentsRequest\x1a).viam.robot.v1.DiscoverComponentsResponse")\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components\x12\x90\x01\n\x11FrameSystemConfig\x12\'.viam.robot.v1.FrameSystemConfigRequest\x1a(.viam.robot.v1.FrameSystemConfigResponse"(\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config\x12\x8c\x01\n\rTransformPose\x12#.viam.robot.v1.TransformPoseRequest\x1a$.viam.robot.v1.TransformPoseResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose\x12\x88\x01\n\x0cTransformPCD\x12".viam.robot.v1.TransformPCDRequest\x1a#.viam.robot.v1.TransformPCDResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/frame_system/transform_pcd\x12k\n\tGetStatus\x12\x1f.viam.robot.v1.GetStatusRequest\x1a .viam.robot.v1.GetStatusResponse"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status\x12}\n\x0cStreamStatus\x12".viam.robot.v1.StreamStatusRequest\x1a#.viam.robot.v1.StreamStatusResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream0\x01\x12g\n\x07StopAll\x12\x1d.viam.robot.v1.StopAllRequest\x1a\x1e.viam.robot.v1.StopAllResponse"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all\x12v\n\x0cStartSession\x12".viam.robot.v1.StartSessionRequest\x1a#.viam.robot.v1.StartSessionResponse"\x1d\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions\x12\x9d\x01\n\x14SendSessionHeartbeat\x12*.viam.robot.v1.SendSessionHeartbeatRequest\x1a+.viam.robot.v1.SendSessionHeartbeatResponse",\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat\x12V\n\x03Log\x12\x19.viam.robot.v1.LogRequest\x1a\x1a.viam.robot.v1.LogResponse"\x18\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log\x12\x88\x01\n\x10GetCloudMetadata\x12&.viam.robot.v1.GetCloudMetadataRequest\x1a\'.viam.robot.v1.GetCloudMetadataResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadataB-\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'robot.v1.robot_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -45,8 +45,12 @@ _ROBOTSERVICE.methods_by_name['StartSession']._serialized_options = b'\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions' _ROBOTSERVICE.methods_by_name['SendSessionHeartbeat']._options = None _ROBOTSERVICE.methods_by_name['SendSessionHeartbeat']._serialized_options = b'\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat' - _PEERCONNECTIONTYPE._serialized_start = 3632 - _PEERCONNECTIONTYPE._serialized_end = 3754 + _ROBOTSERVICE.methods_by_name['Log']._options = None + _ROBOTSERVICE.methods_by_name['Log']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log' + _ROBOTSERVICE.methods_by_name['GetCloudMetadata']._options = None + _ROBOTSERVICE.methods_by_name['GetCloudMetadata']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadata' + _PEERCONNECTIONTYPE._serialized_start = 3870 + _PEERCONNECTIONTYPE._serialized_end = 3992 _FRAMESYSTEMCONFIG._serialized_start = 188 _FRAMESYSTEMCONFIG._serialized_end = 313 _FRAMESYSTEMCONFIGREQUEST._serialized_start = 315 @@ -125,5 +129,13 @@ _SENDSESSIONHEARTBEATREQUEST._serialized_end = 3598 _SENDSESSIONHEARTBEATRESPONSE._serialized_start = 3600 _SENDSESSIONHEARTBEATRESPONSE._serialized_end = 3630 - _ROBOTSERVICE._serialized_start = 3757 - _ROBOTSERVICE._serialized_end = 5797 \ No newline at end of file + _LOGREQUEST._serialized_start = 3632 + _LOGREQUEST._serialized_end = 3690 + _LOGRESPONSE._serialized_start = 3692 + _LOGRESPONSE._serialized_end = 3705 + _GETCLOUDMETADATAREQUEST._serialized_start = 3707 + _GETCLOUDMETADATAREQUEST._serialized_end = 3732 + _GETCLOUDMETADATARESPONSE._serialized_start = 3735 + _GETCLOUDMETADATARESPONSE._serialized_end = 3868 + _ROBOTSERVICE._serialized_start = 3995 + _ROBOTSERVICE._serialized_end = 6262 \ No newline at end of file diff --git a/src/viam/gen/robot/v1/robot_pb2.pyi b/src/viam/gen/robot/v1/robot_pb2.pyi index d91e9bbab..e794f243b 100644 --- a/src/viam/gen/robot/v1/robot_pb2.pyi +++ b/src/viam/gen/robot/v1/robot_pb2.pyi @@ -698,4 +698,53 @@ class SendSessionHeartbeatResponse(google.protobuf.message.Message): def __init__(self) -> None: ... -global___SendSessionHeartbeatResponse = SendSessionHeartbeatResponse \ No newline at end of file +global___SendSessionHeartbeatResponse = SendSessionHeartbeatResponse + +@typing_extensions.final +class LogRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + LOGS_FIELD_NUMBER: builtins.int + + @property + def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: + ... + + def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs']) -> None: + ... +global___LogRequest = LogRequest + +@typing_extensions.final +class LogResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___LogResponse = LogResponse + +@typing_extensions.final +class GetCloudMetadataRequest(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + def __init__(self) -> None: + ... +global___GetCloudMetadataRequest = GetCloudMetadataRequest + +@typing_extensions.final +class GetCloudMetadataResponse(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + ROBOT_PART_ID_FIELD_NUMBER: builtins.int + PRIMARY_ORG_ID_FIELD_NUMBER: builtins.int + LOCATION_ID_FIELD_NUMBER: builtins.int + robot_part_id: builtins.str + primary_org_id: builtins.str + location_id: builtins.str + + def __init__(self, *, robot_part_id: builtins.str=..., primary_org_id: builtins.str=..., location_id: builtins.str=...) -> None: + ... + + def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'primary_org_id', b'primary_org_id', 'robot_part_id', b'robot_part_id']) -> None: + ... +global___GetCloudMetadataResponse = GetCloudMetadataResponse \ No newline at end of file diff --git a/src/viam/gen/service/generic/__init__.py b/src/viam/gen/service/generic/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/service/generic/v1/__init__.py b/src/viam/gen/service/generic/v1/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/viam/gen/service/generic/v1/generic_grpc.py b/src/viam/gen/service/generic/v1/generic_grpc.py new file mode 100644 index 000000000..abab3a538 --- /dev/null +++ b/src/viam/gen/service/generic/v1/generic_grpc.py @@ -0,0 +1,23 @@ +import abc +import typing +import grpclib.const +import grpclib.client +if typing.TYPE_CHECKING: + import grpclib.server +from .... import common +import google.api.annotations_pb2 +from .... import service + +class GenericServiceBase(abc.ABC): + + @abc.abstractmethod + async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + pass + + def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: + return {'/viam.service.generic.v1.GenericService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + +class GenericServiceStub: + + def __init__(self, channel: grpclib.client.Channel) -> None: + self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.generic.v1.GenericService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file diff --git a/src/viam/gen/service/generic/v1/generic_pb2.py b/src/viam/gen/service/generic/v1/generic_pb2.py new file mode 100644 index 000000000..c34fca258 --- /dev/null +++ b/src/viam/gen/service/generic/v1/generic_pb2.py @@ -0,0 +1,18 @@ +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +_sym_db = _symbol_database.Default() +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 +from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/generic/v1/generic.proto\x12\x17viam.service.generic.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\x9b\x01\n\x0eGenericService\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_commandBA\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1b\x06proto3') +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.generic.v1.generic_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + DESCRIPTOR._options = None + DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1' + _GENERICSERVICE.methods_by_name['DoCommand']._options = None + _GENERICSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_command' + _GENERICSERVICE._serialized_start = 116 + _GENERICSERVICE._serialized_end = 271 \ No newline at end of file diff --git a/src/viam/gen/service/generic/v1/generic_pb2.pyi b/src/viam/gen/service/generic/v1/generic_pb2.pyi new file mode 100644 index 000000000..ab0716881 --- /dev/null +++ b/src/viam/gen/service/generic/v1/generic_pb2.pyi @@ -0,0 +1,6 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" +import google.protobuf.descriptor +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor \ No newline at end of file diff --git a/src/viam/gen/service/motion/v1/motion_grpc.py b/src/viam/gen/service/motion/v1/motion_grpc.py index 807749639..0bc4e57d9 100644 --- a/src/viam/gen/service/motion/v1/motion_grpc.py +++ b/src/viam/gen/service/motion/v1/motion_grpc.py @@ -20,10 +20,6 @@ async def Move(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2 async def MoveOnMap(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse]') -> None: pass - @abc.abstractmethod - async def MoveOnMapNew(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnMapNewRequest, service.motion.v1.motion_pb2.MoveOnMapNewResponse]') -> None: - pass - @abc.abstractmethod async def MoveOnGlobe(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse]') -> None: pass @@ -49,14 +45,13 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.motion.v1.MotionService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse), '/viam.service.motion.v1.MotionService/MoveOnMap': grpclib.const.Handler(self.MoveOnMap, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse), '/viam.service.motion.v1.MotionService/MoveOnMapNew': grpclib.const.Handler(self.MoveOnMapNew, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapNewRequest, service.motion.v1.motion_pb2.MoveOnMapNewResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobe': grpclib.const.Handler(self.MoveOnGlobe, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse), '/viam.service.motion.v1.MotionService/GetPose': grpclib.const.Handler(self.GetPose, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse), '/viam.service.motion.v1.MotionService/StopPlan': grpclib.const.Handler(self.StopPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse), '/viam.service.motion.v1.MotionService/ListPlanStatuses': grpclib.const.Handler(self.ListPlanStatuses, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse), '/viam.service.motion.v1.MotionService/GetPlan': grpclib.const.Handler(self.GetPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse), '/viam.service.motion.v1.MotionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return {'/viam.service.motion.v1.MotionService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse), '/viam.service.motion.v1.MotionService/MoveOnMap': grpclib.const.Handler(self.MoveOnMap, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobe': grpclib.const.Handler(self.MoveOnGlobe, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse), '/viam.service.motion.v1.MotionService/GetPose': grpclib.const.Handler(self.GetPose, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse), '/viam.service.motion.v1.MotionService/StopPlan': grpclib.const.Handler(self.StopPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse), '/viam.service.motion.v1.MotionService/ListPlanStatuses': grpclib.const.Handler(self.ListPlanStatuses, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse), '/viam.service.motion.v1.MotionService/GetPlan': grpclib.const.Handler(self.GetPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse), '/viam.service.motion.v1.MotionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} class MotionServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: self.Move = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/Move', service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse) self.MoveOnMap = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnMap', service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse) - self.MoveOnMapNew = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnMapNew', service.motion.v1.motion_pb2.MoveOnMapNewRequest, service.motion.v1.motion_pb2.MoveOnMapNewResponse) self.MoveOnGlobe = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnGlobe', service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse) self.GetPose = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/GetPose', service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse) self.StopPlan = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/StopPlan', service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse) diff --git a/src/viam/gen/service/motion/v1/motion_pb2.py b/src/viam/gen/service/motion/v1/motion_pb2.py index 1b6c36997..4e6f6ea77 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.py +++ b/src/viam/gen/service/motion/v1/motion_pb2.py @@ -8,7 +8,7 @@ from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x9d\x03\n\x13MoveOnMapNewRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"9\n\x14MoveOnMapNewResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x9c\x02\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x11MoveOnMapResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xf1\n\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa5\x01\n\x0cMoveOnMapNew\x12+.viam.service.motion.v1.MoveOnMapNewRequest\x1a,.viam.service.motion.v1.MoveOnMapNewResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/service/motion/{name}/move_on_map_new\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xd2\x03\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x126\n\tobstacles\x18\x06 \x03(\x0b2\x18.viam.common.v1.GeometryR\tobstacles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"6\n\x11MoveOnMapResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xc9\t\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.motion.v1.motion_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -20,8 +20,6 @@ _MOTIONSERVICE.methods_by_name['Move']._serialized_options = b'\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move' _MOTIONSERVICE.methods_by_name['MoveOnMap']._options = None _MOTIONSERVICE.methods_by_name['MoveOnMap']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map' - _MOTIONSERVICE.methods_by_name['MoveOnMapNew']._options = None - _MOTIONSERVICE.methods_by_name['MoveOnMapNew']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/service/motion/{name}/move_on_map_new' _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._options = None _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe' _MOTIONSERVICE.methods_by_name['GetPose']._options = None @@ -34,67 +32,63 @@ _MOTIONSERVICE.methods_by_name['GetPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan' _MOTIONSERVICE.methods_by_name['DoCommand']._options = None _MOTIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_command' - _PLANSTATE._serialized_start = 5742 - _PLANSTATE._serialized_end = 5882 + _PLANSTATE._serialized_start = 5458 + _PLANSTATE._serialized_end = 5598 _MOVEREQUEST._serialized_start = 176 _MOVEREQUEST._serialized_end = 562 _MOVERESPONSE._serialized_start = 564 _MOVERESPONSE._serialized_end = 604 - _MOVEONMAPNEWREQUEST._serialized_start = 607 - _MOVEONMAPNEWREQUEST._serialized_end = 1020 - _MOVEONMAPNEWRESPONSE._serialized_start = 1022 - _MOVEONMAPNEWRESPONSE._serialized_end = 1079 - _MOVEONMAPREQUEST._serialized_start = 1082 - _MOVEONMAPREQUEST._serialized_end = 1366 - _MOVEONMAPRESPONSE._serialized_start = 1368 - _MOVEONMAPRESPONSE._serialized_end = 1413 - _OBSTACLEDETECTOR._serialized_start = 1416 - _OBSTACLEDETECTOR._serialized_end = 1557 - _MOTIONCONFIGURATION._serialized_start = 1560 - _MOTIONCONFIGURATION._serialized_end = 2096 - _MOVEONGLOBEREQUEST._serialized_start = 2099 - _MOVEONGLOBEREQUEST._serialized_end = 2623 - _MOVEONGLOBERESPONSE._serialized_start = 2625 - _MOVEONGLOBERESPONSE._serialized_end = 2681 - _GETPOSEREQUEST._serialized_start = 2684 - _GETPOSEREQUEST._serialized_end = 2965 - _GETPOSERESPONSE._serialized_start = 2967 - _GETPOSERESPONSE._serialized_end = 3033 - _STOPPLANREQUEST._serialized_start = 3036 - _STOPPLANREQUEST._serialized_end = 3189 - _STOPPLANRESPONSE._serialized_start = 3191 - _STOPPLANRESPONSE._serialized_end = 3209 - _LISTPLANSTATUSESREQUEST._serialized_start = 3212 - _LISTPLANSTATUSESREQUEST._serialized_end = 3348 - _LISTPLANSTATUSESRESPONSE._serialized_start = 3350 - _LISTPLANSTATUSESRESPONSE._serialized_end = 3471 - _GETPLANREQUEST._serialized_start = 3474 - _GETPLANREQUEST._serialized_end = 3721 - _GETPLANRESPONSE._serialized_start = 3724 - _GETPLANRESPONSE._serialized_end = 3917 - _CONSTRAINTS._serialized_start = 3920 - _CONSTRAINTS._serialized_end = 4227 - _LINEARCONSTRAINT._serialized_start = 4230 - _LINEARCONSTRAINT._serialized_end = 4417 - _ORIENTATIONCONSTRAINT._serialized_start = 4419 - _ORIENTATIONCONSTRAINT._serialized_end = 4540 - _COLLISIONSPECIFICATION._serialized_start = 4543 - _COLLISIONSPECIFICATION._serialized_end = 4736 - _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_start = 4664 - _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_end = 4736 - _PLANWITHSTATUS._serialized_start = 4739 - _PLANWITHSTATUS._serialized_end = 4940 - _PLANSTATUSWITHID._serialized_start = 4943 - _PLANSTATUSWITHID._serialized_end = 5150 - _PLANSTATUS._serialized_start = 5153 - _PLANSTATUS._serialized_end = 5320 - _PLAN._serialized_start = 5323 - _PLAN._serialized_end = 5505 - _PLANSTEP._serialized_start = 5508 - _PLANSTEP._serialized_end = 5679 - _PLANSTEP_STEPENTRY._serialized_start = 5584 - _PLANSTEP_STEPENTRY._serialized_end = 5679 - _COMPONENTSTATE._serialized_start = 5681 - _COMPONENTSTATE._serialized_end = 5739 - _MOTIONSERVICE._serialized_start = 5885 - _MOTIONSERVICE._serialized_end = 7278 \ No newline at end of file + _MOVEONMAPREQUEST._serialized_start = 607 + _MOVEONMAPREQUEST._serialized_end = 1073 + _MOVEONMAPRESPONSE._serialized_start = 1075 + _MOVEONMAPRESPONSE._serialized_end = 1129 + _OBSTACLEDETECTOR._serialized_start = 1132 + _OBSTACLEDETECTOR._serialized_end = 1273 + _MOTIONCONFIGURATION._serialized_start = 1276 + _MOTIONCONFIGURATION._serialized_end = 1812 + _MOVEONGLOBEREQUEST._serialized_start = 1815 + _MOVEONGLOBEREQUEST._serialized_end = 2339 + _MOVEONGLOBERESPONSE._serialized_start = 2341 + _MOVEONGLOBERESPONSE._serialized_end = 2397 + _GETPOSEREQUEST._serialized_start = 2400 + _GETPOSEREQUEST._serialized_end = 2681 + _GETPOSERESPONSE._serialized_start = 2683 + _GETPOSERESPONSE._serialized_end = 2749 + _STOPPLANREQUEST._serialized_start = 2752 + _STOPPLANREQUEST._serialized_end = 2905 + _STOPPLANRESPONSE._serialized_start = 2907 + _STOPPLANRESPONSE._serialized_end = 2925 + _LISTPLANSTATUSESREQUEST._serialized_start = 2928 + _LISTPLANSTATUSESREQUEST._serialized_end = 3064 + _LISTPLANSTATUSESRESPONSE._serialized_start = 3066 + _LISTPLANSTATUSESRESPONSE._serialized_end = 3187 + _GETPLANREQUEST._serialized_start = 3190 + _GETPLANREQUEST._serialized_end = 3437 + _GETPLANRESPONSE._serialized_start = 3440 + _GETPLANRESPONSE._serialized_end = 3633 + _CONSTRAINTS._serialized_start = 3636 + _CONSTRAINTS._serialized_end = 3943 + _LINEARCONSTRAINT._serialized_start = 3946 + _LINEARCONSTRAINT._serialized_end = 4133 + _ORIENTATIONCONSTRAINT._serialized_start = 4135 + _ORIENTATIONCONSTRAINT._serialized_end = 4256 + _COLLISIONSPECIFICATION._serialized_start = 4259 + _COLLISIONSPECIFICATION._serialized_end = 4452 + _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_start = 4380 + _COLLISIONSPECIFICATION_ALLOWEDFRAMECOLLISIONS._serialized_end = 4452 + _PLANWITHSTATUS._serialized_start = 4455 + _PLANWITHSTATUS._serialized_end = 4656 + _PLANSTATUSWITHID._serialized_start = 4659 + _PLANSTATUSWITHID._serialized_end = 4866 + _PLANSTATUS._serialized_start = 4869 + _PLANSTATUS._serialized_end = 5036 + _PLAN._serialized_start = 5039 + _PLAN._serialized_end = 5221 + _PLANSTEP._serialized_start = 5224 + _PLANSTEP._serialized_end = 5395 + _PLANSTEP_STEPENTRY._serialized_start = 5300 + _PLANSTEP_STEPENTRY._serialized_end = 5395 + _COMPONENTSTATE._serialized_start = 5397 + _COMPONENTSTATE._serialized_end = 5455 + _MOTIONSERVICE._serialized_start = 5601 + _MOTIONSERVICE._serialized_end = 6826 \ No newline at end of file diff --git a/src/viam/gen/service/motion/v1/motion_pb2.pyi b/src/viam/gen/service/motion/v1/motion_pb2.pyi index 6ba555a7f..f6f740171 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.pyi +++ b/src/viam/gen/service/motion/v1/motion_pb2.pyi @@ -112,13 +112,14 @@ class MoveResponse(google.protobuf.message.Message): global___MoveResponse = MoveResponse @typing_extensions.final -class MoveOnMapNewRequest(google.protobuf.message.Message): +class MoveOnMapRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int DESTINATION_FIELD_NUMBER: builtins.int COMPONENT_NAME_FIELD_NUMBER: builtins.int SLAM_SERVICE_NAME_FIELD_NUMBER: builtins.int MOTION_CONFIGURATION_FIELD_NUMBER: builtins.int + OBSTACLES_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str 'Name of the motion service' @@ -139,25 +140,29 @@ class MoveOnMapNewRequest(google.protobuf.message.Message): def motion_configuration(self) -> global___MotionConfiguration: """Optional set of motion configuration options""" + @property + def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Geometry]: + """Obstacles to be considered for motion planning""" + @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.Pose | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., slam_service_name: common.v1.common_pb2.ResourceName | None=..., motion_configuration: global___MotionConfiguration | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: + def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.Pose | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., slam_service_name: common.v1.common_pb2.ResourceName | None=..., motion_configuration: global___MotionConfiguration | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.Geometry] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: ... def HasField(self, field_name: typing_extensions.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'slam_service_name', b'slam_service_name']) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'name', b'name', 'slam_service_name', b'slam_service_name']) -> None: + def ClearField(self, field_name: typing_extensions.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'name', b'name', 'obstacles', b'obstacles', 'slam_service_name', b'slam_service_name']) -> None: ... def WhichOneof(self, oneof_group: typing_extensions.Literal['_motion_configuration', b'_motion_configuration']) -> typing_extensions.Literal['motion_configuration'] | None: ... -global___MoveOnMapNewRequest = MoveOnMapNewRequest +global___MoveOnMapRequest = MoveOnMapRequest @typing_extensions.final -class MoveOnMapNewResponse(google.protobuf.message.Message): +class MoveOnMapResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor EXECUTION_ID_FIELD_NUMBER: builtins.int execution_id: builtins.str @@ -168,56 +173,6 @@ class MoveOnMapNewResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing_extensions.Literal['execution_id', b'execution_id']) -> None: ... -global___MoveOnMapNewResponse = MoveOnMapNewResponse - -@typing_extensions.final -class MoveOnMapRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - DESTINATION_FIELD_NUMBER: builtins.int - COMPONENT_NAME_FIELD_NUMBER: builtins.int - SLAM_SERVICE_NAME_FIELD_NUMBER: builtins.int - EXTRA_FIELD_NUMBER: builtins.int - name: builtins.str - 'Name of the motion service' - - @property - def destination(self) -> common.v1.common_pb2.Pose: - """Specify a destination to, which can be any pose with respect to the SLAM map's origin""" - - @property - def component_name(self) -> common.v1.common_pb2.ResourceName: - """Component on the robot to move to the specified destination""" - - @property - def slam_service_name(self) -> common.v1.common_pb2.ResourceName: - """Name of the slam service from which the SLAM map is requested""" - - @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - """Additional arguments to the method""" - - def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.Pose | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., slam_service_name: common.v1.common_pb2.ResourceName | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'slam_service_name', b'slam_service_name']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'name', b'name', 'slam_service_name', b'slam_service_name']) -> None: - ... -global___MoveOnMapRequest = MoveOnMapRequest - -@typing_extensions.final -class MoveOnMapResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - SUCCESS_FIELD_NUMBER: builtins.int - success: builtins.bool - - def __init__(self, *, success: builtins.bool=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['success', b'success']) -> None: - ... global___MoveOnMapResponse = MoveOnMapResponse @typing_extensions.final diff --git a/src/viam/gen/service/navigation/v1/navigation_pb2.pyi b/src/viam/gen/service/navigation/v1/navigation_pb2.pyi index 6a5603a82..f394a7d3e 100644 --- a/src/viam/gen/service/navigation/v1/navigation_pb2.pyi +++ b/src/viam/gen/service/navigation/v1/navigation_pb2.pyi @@ -29,7 +29,7 @@ class _MapTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTy MAP_TYPE_GPS: _MapType.ValueType class MapType(_MapType, metaclass=_MapTypeEnumTypeWrapper): - """MapType represents the various types of map the navigation service can ingest.""" + """MapType represents the various types of maps the navigation service can ingest.""" MAP_TYPE_UNSPECIFIED: MapType.ValueType MAP_TYPE_NONE: MapType.ValueType MAP_TYPE_GPS: MapType.ValueType diff --git a/src/viam/gen/service/sensors/v1/sensors_pb2.py b/src/viam/gen/service/sensors/v1/sensors_pb2.py index eed135610..8c4fac9dd 100644 --- a/src/viam/gen/service/sensors/v1/sensors_pb2.py +++ b/src/viam/gen/service/sensors/v1/sensors_pb2.py @@ -7,31 +7,59 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/sensors/v1/sensors.proto\x12\x17viam.service.sensors.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"V\n\x11GetSensorsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"U\n\x12GetSensorsResponse\x12?\n\x0csensor_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\x0bsensorNames"\x98\x01\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12?\n\x0csensor_names\x18\x02 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\x0bsensorNames\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xde\x01\n\x08Readings\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12K\n\x08readings\x18\x02 \x03(\x0b2/.viam.service.sensors.v1.Readings.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"T\n\x13GetReadingsResponse\x12=\n\x08readings\x18\x01 \x03(\x0b2!.viam.service.sensors.v1.ReadingsR\x08readings2\xd1\x03\n\x0eSensorsService\x12\x92\x01\n\nGetSensors\x12*.viam.service.sensors.v1.GetSensorsRequest\x1a+.viam.service.sensors.v1.GetSensorsResponse"+\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors\x12\x9e\x01\n\x0bGetReadings\x12+.viam.service.sensors.v1.GetReadingsRequest\x1a,.viam.service.sensors.v1.GetReadingsResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_commandBA\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/sensors/v1/sensors.proto\x12\x17viam.service.sensors.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"b\n\x11GetSensorsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"]\n\x12GetSensorsResponse\x12C\n\x0csensor_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames:\x02\x18\x01"\xa8\x01\n\x12GetReadingsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x12C\n\x0csensor_names\x18\x02 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"\xea\x01\n\x08Readings\x124\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x04name\x12O\n\x08readings\x18\x02 \x03(\x0b2/.viam.service.sensors.v1.Readings.ReadingsEntryB\x02\x18\x01R\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01:\x02\x18\x01"\\\n\x13GetReadingsResponse\x12A\n\x08readings\x18\x01 \x03(\x0b2!.viam.service.sensors.v1.ReadingsB\x02\x18\x01R\x08readings:\x02\x18\x012\xda\x03\n\x0eSensorsService\x12\x95\x01\n\nGetSensors\x12*.viam.service.sensors.v1.GetSensorsRequest\x1a+.viam.service.sensors.v1.GetSensorsResponse".\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors\x12\xa1\x01\n\x0bGetReadings\x12+.viam.service.sensors.v1.GetReadingsRequest\x1a,.viam.service.sensors.v1.GetReadingsResponse"7\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings\x12\x8b\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"9\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_commandBD\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1\xb8\x01\x01b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.sensors.v1.sensors_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1' + DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1\xb8\x01\x01' + _GETSENSORSREQUEST.fields_by_name['name']._options = None + _GETSENSORSREQUEST.fields_by_name['name']._serialized_options = b'\x18\x01' + _GETSENSORSREQUEST.fields_by_name['extra']._options = None + _GETSENSORSREQUEST.fields_by_name['extra']._serialized_options = b'\x18\x01' + _GETSENSORSREQUEST._options = None + _GETSENSORSREQUEST._serialized_options = b'\x18\x01' + _GETSENSORSRESPONSE.fields_by_name['sensor_names']._options = None + _GETSENSORSRESPONSE.fields_by_name['sensor_names']._serialized_options = b'\x18\x01' + _GETSENSORSRESPONSE._options = None + _GETSENSORSRESPONSE._serialized_options = b'\x18\x01' + _GETREADINGSREQUEST.fields_by_name['name']._options = None + _GETREADINGSREQUEST.fields_by_name['name']._serialized_options = b'\x18\x01' + _GETREADINGSREQUEST.fields_by_name['sensor_names']._options = None + _GETREADINGSREQUEST.fields_by_name['sensor_names']._serialized_options = b'\x18\x01' + _GETREADINGSREQUEST.fields_by_name['extra']._options = None + _GETREADINGSREQUEST.fields_by_name['extra']._serialized_options = b'\x18\x01' + _GETREADINGSREQUEST._options = None + _GETREADINGSREQUEST._serialized_options = b'\x18\x01' _READINGS_READINGSENTRY._options = None _READINGS_READINGSENTRY._serialized_options = b'8\x01' + _READINGS.fields_by_name['name']._options = None + _READINGS.fields_by_name['name']._serialized_options = b'\x18\x01' + _READINGS.fields_by_name['readings']._options = None + _READINGS.fields_by_name['readings']._serialized_options = b'\x18\x01' + _READINGS._options = None + _READINGS._serialized_options = b'\x18\x01' + _GETREADINGSRESPONSE.fields_by_name['readings']._options = None + _GETREADINGSRESPONSE.fields_by_name['readings']._serialized_options = b'\x18\x01' + _GETREADINGSRESPONSE._options = None + _GETREADINGSRESPONSE._serialized_options = b'\x18\x01' _SENSORSSERVICE.methods_by_name['GetSensors']._options = None - _SENSORSSERVICE.methods_by_name['GetSensors']._serialized_options = b'\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors' + _SENSORSSERVICE.methods_by_name['GetSensors']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors' _SENSORSSERVICE.methods_by_name['GetReadings']._options = None - _SENSORSSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings' + _SENSORSSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings' _SENSORSSERVICE.methods_by_name['DoCommand']._options = None - _SENSORSSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_command' + _SENSORSSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_command' _GETSENSORSREQUEST._serialized_start = 145 - _GETSENSORSREQUEST._serialized_end = 231 - _GETSENSORSRESPONSE._serialized_start = 233 - _GETSENSORSRESPONSE._serialized_end = 318 - _GETREADINGSREQUEST._serialized_start = 321 - _GETREADINGSREQUEST._serialized_end = 473 - _READINGS._serialized_start = 476 - _READINGS._serialized_end = 698 - _READINGS_READINGSENTRY._serialized_start = 615 - _READINGS_READINGSENTRY._serialized_end = 698 - _GETREADINGSRESPONSE._serialized_start = 700 - _GETREADINGSRESPONSE._serialized_end = 784 - _SENSORSSERVICE._serialized_start = 787 - _SENSORSSERVICE._serialized_end = 1252 \ No newline at end of file + _GETSENSORSREQUEST._serialized_end = 243 + _GETSENSORSRESPONSE._serialized_start = 245 + _GETSENSORSRESPONSE._serialized_end = 338 + _GETREADINGSREQUEST._serialized_start = 341 + _GETREADINGSREQUEST._serialized_end = 509 + _READINGS._serialized_start = 512 + _READINGS._serialized_end = 746 + _READINGS_READINGSENTRY._serialized_start = 659 + _READINGS_READINGSENTRY._serialized_end = 742 + _GETREADINGSRESPONSE._serialized_start = 748 + _GETREADINGSRESPONSE._serialized_end = 840 + _SENSORSSERVICE._serialized_start = 843 + _SENSORSSERVICE._serialized_end = 1317 \ No newline at end of file diff --git a/src/viam/gen/service/sensors/v1/sensors_pb2.pyi b/src/viam/gen/service/sensors/v1/sensors_pb2.pyi index c607bb896..92dee1fa9 100644 --- a/src/viam/gen/service/sensors/v1/sensors_pb2.pyi +++ b/src/viam/gen/service/sensors/v1/sensors_pb2.pyi @@ -18,6 +18,7 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing_extensions.final class GetSensorsRequest(google.protobuf.message.Message): + """The sensors service messages are deprecated""" DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int diff --git a/src/viam/gen/service/slam/v1/slam_grpc.py b/src/viam/gen/service/slam/v1/slam_grpc.py index 5eb0f4d85..567cd9b39 100644 --- a/src/viam/gen/service/slam/v1/slam_grpc.py +++ b/src/viam/gen/service/slam/v1/slam_grpc.py @@ -7,7 +7,6 @@ from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -import google.protobuf.timestamp_pb2 from .... import service class SLAMServiceBase(abc.ABC): @@ -24,10 +23,6 @@ async def GetPointCloudMap(self, stream: 'grpclib.server.Stream[service.slam.v1. async def GetInternalState(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse]') -> None: pass - @abc.abstractmethod - async def GetLatestMapInfo(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetLatestMapInfoRequest, service.slam.v1.slam_pb2.GetLatestMapInfoResponse]') -> None: - pass - @abc.abstractmethod async def GetProperties(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse]') -> None: pass @@ -37,7 +32,7 @@ async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.Do pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.slam.v1.SLAMService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse), '/viam.service.slam.v1.SLAMService/GetPointCloudMap': grpclib.const.Handler(self.GetPointCloudMap, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse), '/viam.service.slam.v1.SLAMService/GetInternalState': grpclib.const.Handler(self.GetInternalState, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse), '/viam.service.slam.v1.SLAMService/GetLatestMapInfo': grpclib.const.Handler(self.GetLatestMapInfo, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetLatestMapInfoRequest, service.slam.v1.slam_pb2.GetLatestMapInfoResponse), '/viam.service.slam.v1.SLAMService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse), '/viam.service.slam.v1.SLAMService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return {'/viam.service.slam.v1.SLAMService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse), '/viam.service.slam.v1.SLAMService/GetPointCloudMap': grpclib.const.Handler(self.GetPointCloudMap, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse), '/viam.service.slam.v1.SLAMService/GetInternalState': grpclib.const.Handler(self.GetInternalState, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse), '/viam.service.slam.v1.SLAMService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse), '/viam.service.slam.v1.SLAMService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} class SLAMServiceStub: @@ -45,6 +40,5 @@ def __init__(self, channel: grpclib.client.Channel) -> None: self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetPosition', service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse) self.GetPointCloudMap = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetPointCloudMap', service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse) self.GetInternalState = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetInternalState', service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse) - self.GetLatestMapInfo = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetLatestMapInfo', service.slam.v1.slam_pb2.GetLatestMapInfoRequest, service.slam.v1.slam_pb2.GetLatestMapInfoResponse) self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetProperties', service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse) self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file diff --git a/src/viam/gen/service/slam/v1/slam_pb2.py b/src/viam/gen/service/slam/v1/slam_pb2.py index 55f550f47..5b4da01bc 100644 --- a/src/viam/gen/service/slam/v1/slam_pb2.py +++ b/src/viam/gen/service/slam/v1/slam_pb2.py @@ -7,8 +7,7 @@ from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aservice/slam/v1/slam.proto\x12\x14viam.service.slam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"(\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9f\x01\n\x13GetPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose\x12/\n\x13component_reference\x18\x02 \x01(\tR\x12componentReference\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x17GetPointCloudMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"M\n\x18GetPointCloudMapResponse\x121\n\x15point_cloud_pcd_chunk\x18\x01 \x01(\x0cR\x12pointCloudPcdChunk"-\n\x17GetInternalStateRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"L\n\x18GetInternalStateResponse\x120\n\x14internal_state_chunk\x18\x01 \x01(\x0cR\x12internalStateChunk"-\n\x17GetLatestMapInfoRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"^\n\x18GetLatestMapInfoResponse\x12B\n\x0flast_map_update\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\rlastMapUpdate"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"|\n\x15GetPropertiesResponse\x12\x1d\n\ncloud_slam\x18\x01 \x01(\x08R\tcloudSlam\x12D\n\x0cmapping_mode\x18\x02 \x01(\x0e2!.viam.service.slam.v1.MappingModeR\x0bmappingMode*\x92\x01\n\x0bMappingMode\x12\x1c\n\x18MAPPING_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bMAPPING_MODE_CREATE_NEW_MAP\x10\x01\x12\x1e\n\x1aMAPPING_MODE_LOCALIZE_ONLY\x10\x02\x12$\n MAPPING_MODE_UPDATE_EXISTING_MAP\x10\x032\xdc\x07\n\x0bSLAMService\x12\x95\x01\n\x0bGetPosition\x12(.viam.service.slam.v1.GetPositionRequest\x1a).viam.service.slam.v1.GetPositionResponse"1\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position\x12\xad\x01\n\x10GetPointCloudMap\x12-.viam.service.slam.v1.GetPointCloudMapRequest\x1a..viam.service.slam.v1.GetPointCloudMapResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map0\x01\x12\xac\x01\n\x10GetInternalState\x12-.viam.service.slam.v1.GetInternalStateRequest\x1a..viam.service.slam.v1.GetInternalStateResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state0\x01\x12\xad\x01\n\x10GetLatestMapInfo\x12-.viam.service.slam.v1.GetLatestMapInfoRequest\x1a..viam.service.slam.v1.GetLatestMapInfoResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/slam/{name}/latest_map_info\x12\x9d\x01\n\rGetProperties\x12*.viam.service.slam.v1.GetPropertiesRequest\x1a+.viam.service.slam.v1.GetPropertiesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties\x12\x85\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_commandB;\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aservice/slam/v1/slam.proto\x12\x14viam.service.slam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"(\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9f\x01\n\x13GetPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose\x12/\n\x13component_reference\x18\x02 \x01(\tR\x12componentReference\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x17GetPointCloudMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"M\n\x18GetPointCloudMapResponse\x121\n\x15point_cloud_pcd_chunk\x18\x01 \x01(\x0cR\x12pointCloudPcdChunk"-\n\x17GetInternalStateRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"L\n\x18GetInternalStateResponse\x120\n\x14internal_state_chunk\x18\x01 \x01(\x0cR\x12internalStateChunk"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"|\n\x15GetPropertiesResponse\x12\x1d\n\ncloud_slam\x18\x01 \x01(\x08R\tcloudSlam\x12D\n\x0cmapping_mode\x18\x02 \x01(\x0e2!.viam.service.slam.v1.MappingModeR\x0bmappingMode*\x92\x01\n\x0bMappingMode\x12\x1c\n\x18MAPPING_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bMAPPING_MODE_CREATE_NEW_MAP\x10\x01\x12\x1e\n\x1aMAPPING_MODE_LOCALIZE_ONLY\x10\x02\x12$\n MAPPING_MODE_UPDATE_EXISTING_MAP\x10\x032\xac\x06\n\x0bSLAMService\x12\x95\x01\n\x0bGetPosition\x12(.viam.service.slam.v1.GetPositionRequest\x1a).viam.service.slam.v1.GetPositionResponse"1\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position\x12\xad\x01\n\x10GetPointCloudMap\x12-.viam.service.slam.v1.GetPointCloudMapRequest\x1a..viam.service.slam.v1.GetPointCloudMapResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map0\x01\x12\xac\x01\n\x10GetInternalState\x12-.viam.service.slam.v1.GetInternalStateRequest\x1a..viam.service.slam.v1.GetInternalStateResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state0\x01\x12\x9d\x01\n\rGetProperties\x12*.viam.service.slam.v1.GetPropertiesRequest\x1a+.viam.service.slam.v1.GetPropertiesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties\x12\x85\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_commandB;\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1b\x06proto3') _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.slam.v1.slam_pb2', globals()) if _descriptor._USE_C_DESCRIPTORS == False: @@ -20,33 +19,27 @@ _SLAMSERVICE.methods_by_name['GetPointCloudMap']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map' _SLAMSERVICE.methods_by_name['GetInternalState']._options = None _SLAMSERVICE.methods_by_name['GetInternalState']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state' - _SLAMSERVICE.methods_by_name['GetLatestMapInfo']._options = None - _SLAMSERVICE.methods_by_name['GetLatestMapInfo']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/slam/{name}/latest_map_info' _SLAMSERVICE.methods_by_name['GetProperties']._options = None _SLAMSERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties' _SLAMSERVICE.methods_by_name['DoCommand']._options = None _SLAMSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_command' - _MAPPINGMODE._serialized_start = 938 - _MAPPINGMODE._serialized_end = 1084 - _GETPOSITIONREQUEST._serialized_start = 169 - _GETPOSITIONREQUEST._serialized_end = 209 - _GETPOSITIONRESPONSE._serialized_start = 212 - _GETPOSITIONRESPONSE._serialized_end = 371 - _GETPOINTCLOUDMAPREQUEST._serialized_start = 373 - _GETPOINTCLOUDMAPREQUEST._serialized_end = 418 - _GETPOINTCLOUDMAPRESPONSE._serialized_start = 420 - _GETPOINTCLOUDMAPRESPONSE._serialized_end = 497 - _GETINTERNALSTATEREQUEST._serialized_start = 499 - _GETINTERNALSTATEREQUEST._serialized_end = 544 - _GETINTERNALSTATERESPONSE._serialized_start = 546 - _GETINTERNALSTATERESPONSE._serialized_end = 622 - _GETLATESTMAPINFOREQUEST._serialized_start = 624 - _GETLATESTMAPINFOREQUEST._serialized_end = 669 - _GETLATESTMAPINFORESPONSE._serialized_start = 671 - _GETLATESTMAPINFORESPONSE._serialized_end = 765 - _GETPROPERTIESREQUEST._serialized_start = 767 - _GETPROPERTIESREQUEST._serialized_end = 809 - _GETPROPERTIESRESPONSE._serialized_start = 811 - _GETPROPERTIESRESPONSE._serialized_end = 935 - _SLAMSERVICE._serialized_start = 1087 - _SLAMSERVICE._serialized_end = 2075 \ No newline at end of file + _MAPPINGMODE._serialized_start = 762 + _MAPPINGMODE._serialized_end = 908 + _GETPOSITIONREQUEST._serialized_start = 136 + _GETPOSITIONREQUEST._serialized_end = 176 + _GETPOSITIONRESPONSE._serialized_start = 179 + _GETPOSITIONRESPONSE._serialized_end = 338 + _GETPOINTCLOUDMAPREQUEST._serialized_start = 340 + _GETPOINTCLOUDMAPREQUEST._serialized_end = 385 + _GETPOINTCLOUDMAPRESPONSE._serialized_start = 387 + _GETPOINTCLOUDMAPRESPONSE._serialized_end = 464 + _GETINTERNALSTATEREQUEST._serialized_start = 466 + _GETINTERNALSTATEREQUEST._serialized_end = 511 + _GETINTERNALSTATERESPONSE._serialized_start = 513 + _GETINTERNALSTATERESPONSE._serialized_end = 589 + _GETPROPERTIESREQUEST._serialized_start = 591 + _GETPROPERTIESREQUEST._serialized_end = 633 + _GETPROPERTIESRESPONSE._serialized_start = 635 + _GETPROPERTIESRESPONSE._serialized_end = 759 + _SLAMSERVICE._serialized_start = 911 + _SLAMSERVICE._serialized_end = 1723 \ No newline at end of file diff --git a/src/viam/gen/service/slam/v1/slam_pb2.pyi b/src/viam/gen/service/slam/v1/slam_pb2.pyi index 9d5612894..74e92d413 100644 --- a/src/viam/gen/service/slam/v1/slam_pb2.pyi +++ b/src/viam/gen/service/slam/v1/slam_pb2.pyi @@ -8,7 +8,6 @@ import google.protobuf.descriptor import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import google.protobuf.timestamp_pb2 import sys import typing if sys.version_info >= (3, 10): @@ -136,39 +135,6 @@ class GetInternalStateResponse(google.protobuf.message.Message): ... global___GetInternalStateResponse = GetInternalStateResponse -@typing_extensions.final -class GetLatestMapInfoRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - NAME_FIELD_NUMBER: builtins.int - name: builtins.str - 'Name of the SLAM algo' - - def __init__(self, *, name: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... -global___GetLatestMapInfoRequest = GetLatestMapInfoRequest - -@typing_extensions.final -class GetLatestMapInfoResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - LAST_MAP_UPDATE_FIELD_NUMBER: builtins.int - - @property - def last_map_update(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, last_map_update: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['last_map_update', b'last_map_update']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['last_map_update', b'last_map_update']) -> None: - ... -global___GetLatestMapInfoResponse = GetLatestMapInfoResponse - @typing_extensions.final class GetPropertiesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/src/viam/logging.py b/src/viam/logging.py index 640927db5..1d7b369c3 100644 --- a/src/viam/logging.py +++ b/src/viam/logging.py @@ -44,6 +44,8 @@ def getLogger(name: str) -> logging.Logger: def addHandlers(logger: logging.Logger): + logger.handlers.clear() + format = ColorFormatter("%(asctime)s\t\t" + "%(levelname)s\t" + "%(name)s (%(filename)s:%(lineno)d)\t" + "%(message)s\t") handler = logging.StreamHandler(stream=sys.stdout) @@ -65,8 +67,6 @@ def setLevel(level: int): LOG_LEVEL = level for logger in LOGGERS.values(): logger.setLevel(LOG_LEVEL) - for handler in logger.handlers: - logger.removeHandler(handler) addHandlers(logger) diff --git a/src/viam/media/media.py b/src/viam/media/media.py index ebce22858..0865c7926 100644 --- a/src/viam/media/media.py +++ b/src/viam/media/media.py @@ -14,10 +14,7 @@ class MediaStream(Protocol[MediaType]): async def next(self) -> MediaType: ... - async def close(self): - ... - - def __aiter__(self): + def __aiter__(self) -> AsyncIterator: return self async def __anext__(self) -> MediaType: @@ -25,12 +22,12 @@ async def __anext__(self) -> MediaType: class MediaReader(Protocol[MediaType]): - def read(self) -> MediaType: + async def read(self) -> MediaType: ... class MediaSource(Protocol[MediaType]): - def stream(self) -> MediaStream[MediaType]: + async def stream(self) -> MediaStream[MediaType]: ... @@ -48,6 +45,3 @@ def __aiter__(self): async def __anext__(self) -> MediaType: return await self._stream.__anext__() - - async def close(self): - return await super().close() diff --git a/src/viam/media/viam_rgba_plugin.py b/src/viam/media/viam_rgba_plugin.py index 087af561e..620701328 100644 --- a/src/viam/media/viam_rgba_plugin.py +++ b/src/viam/media/viam_rgba_plugin.py @@ -1,8 +1,8 @@ -from typing import Tuple +from typing import ClassVar, Tuple from PIL import Image -from PIL.ImageFile import ImageFile, PyDecoder, PyEncoder, _safe_read -from PIL.ImageFile import _save as image_save +from PIL.ImageFile import ImageFile, PyDecoder, PyEncoder, _safe_read # type: ignore -- (njooma) this exists, manually checked +from PIL.ImageFile import _save as image_save # type: ignore -- (njooma) this exists, manually checked # Viam uses a special header prepended to raw RGBA data. The header is composed of a # 4-byte magic number followed by a 4-byte line of the width as a uint32 number @@ -25,7 +25,7 @@ class RGBAEncoder(PyEncoder): _pushes_fd = True - def encode(self, bufsize): + def encode(self, bufsize): # pyright: ignore [reportIncompatibleMethodOverride] data_arr = bytearray() width, height = self.im.size for y in range(height): @@ -46,7 +46,7 @@ def _save_rgba(img, fp, filename): class RGBAImage(ImageFile): - format: str = RGBA_FORMAT_LABEL + format: ClassVar[str] = RGBA_FORMAT_LABEL # pyright: ignore [reportIncompatibleVariableOverride] format_description = "Viam's Raw RGBA Format" def _open(self): @@ -58,7 +58,7 @@ def _open(self): if hasattr(self, "_mode"): self._mode = "RGBA" else: - self.mode = "RGBA" + self.mode = "RGBA" # type: ignore -- (njooma) newer versions of PIL hide this behind _mode, which is why we check # data descriptor self.tile = [(RGBAEncoder.ENCODER_NAME, (0, 0, width, height), RGBA_HEADER_LENGTH, (self.mode, 0, 1))] diff --git a/src/viam/media/video.py b/src/viam/media/video.py index 1280c8461..a74db0cf9 100644 --- a/src/viam/media/video.py +++ b/src/viam/media/video.py @@ -119,7 +119,7 @@ def is_supported(cls, mime_type: str) -> bool: return mime_type in set(item.value for item in cls) @classmethod - def from_proto(cls, format: Format.ValueType) -> Self: + def from_proto(cls, format: Format.ValueType) -> "CameraMimeType": """Returns the mimetype from a proto enum. Args: diff --git a/src/viam/operations.py b/src/viam/operations.py index 6e6cbef95..cc82510cf 100644 --- a/src/viam/operations.py +++ b/src/viam/operations.py @@ -1,14 +1,15 @@ import asyncio import functools +import sys import time from typing import Any, Callable, Coroutine, Mapping, Optional, TypeVar, cast from uuid import UUID, uuid4 from typing_extensions import Self -try: +if sys.version_info >= (3, 10): from typing import ParamSpec -except ImportError: +else: from typing_extensions import ParamSpec diff --git a/src/viam/proto/app/__init__.py b/src/viam/proto/app/__init__.py index b7f6a6f4c..4c407eb1e 100644 --- a/src/viam/proto/app/__init__.py +++ b/src/viam/proto/app/__init__.py @@ -113,7 +113,6 @@ LocationAuthRequest, LocationAuthResponse, LocationOrganization, - LogEntry, MarkPartAsMainRequest, MarkPartAsMainResponse, MarkPartForRestartRequest, @@ -288,7 +287,6 @@ "LocationAuthRequest", "LocationAuthResponse", "LocationOrganization", - "LogEntry", "MLModelMetadata", "MarkPartAsMainRequest", "MarkPartAsMainResponse", diff --git a/src/viam/proto/app/billing.py b/src/viam/proto/app/billing.py index 8c6864694..732666ebd 100644 --- a/src/viam/proto/app/billing.py +++ b/src/viam/proto/app/billing.py @@ -5,25 +5,14 @@ from ...gen.app.v1.billing_grpc import BillingServiceBase, BillingServiceStub from ...gen.app.v1.billing_pb2 import ( BillableResourceEvent, - CurrentMonthUsageSummary, - GetBillingSummaryRequest, - GetBillingSummaryResponse, GetCurrentMonthUsageRequest, GetCurrentMonthUsageResponse, - GetCurrentMonthUsageSummaryRequest, - GetCurrentMonthUsageSummaryResponse, - GetInvoiceHistoryRequest, - GetInvoiceHistoryResponse, GetInvoicePdfRequest, GetInvoicePdfResponse, GetInvoicesSummaryRequest, GetInvoicesSummaryResponse, - GetItemizedInvoiceRequest, - GetItemizedInvoiceResponse, GetOrgBillingInformationRequest, GetOrgBillingInformationResponse, - GetUnpaidBalanceRequest, - GetUnpaidBalanceResponse, Invoice, InvoiceSummary, PaymentMethodCard, @@ -34,25 +23,14 @@ "BillingServiceBase", "BillingServiceStub", "BillableResourceEvent", - "CurrentMonthUsageSummary", - "GetBillingSummaryRequest", - "GetBillingSummaryResponse", "GetCurrentMonthUsageRequest", "GetCurrentMonthUsageResponse", - "GetCurrentMonthUsageSummaryRequest", - "GetCurrentMonthUsageSummaryResponse", - "GetInvoiceHistoryRequest", - "GetInvoiceHistoryResponse", "GetInvoicePdfRequest", "GetInvoicePdfResponse", "GetInvoicesSummaryRequest", "GetInvoicesSummaryResponse", - "GetItemizedInvoiceRequest", - "GetItemizedInvoiceResponse", "GetOrgBillingInformationRequest", "GetOrgBillingInformationResponse", - "GetUnpaidBalanceRequest", - "GetUnpaidBalanceResponse", "Invoice", "InvoiceSummary", "PaymentMethodCard", diff --git a/src/viam/proto/common/__init__.py b/src/viam/proto/common/__init__.py index 46298485b..f6e8dfdaa 100644 --- a/src/viam/proto/common/__init__.py +++ b/src/viam/proto/common/__init__.py @@ -21,6 +21,7 @@ GetReadingsRequest, GetReadingsResponse, KinematicsFileFormat, + LogEntry, Orientation, PointCloudObject, Pose, @@ -53,6 +54,7 @@ "GetReadingsRequest", "GetReadingsResponse", "KinematicsFileFormat", + "LogEntry", "Orientation", "PointCloudObject", "Pose", diff --git a/src/viam/proto/component/movementsensor/__init__.py b/src/viam/proto/component/movementsensor/__init__.py index 9c5a30b74..62719b809 100644 --- a/src/viam/proto/component/movementsensor/__init__.py +++ b/src/viam/proto/component/movementsensor/__init__.py @@ -20,7 +20,6 @@ GetPositionResponse, GetPropertiesRequest, GetPropertiesResponse, - NmeaGGAFix, ) __all__ = [ @@ -42,5 +41,4 @@ "GetPositionResponse", "GetPropertiesRequest", "GetPropertiesResponse", - "NmeaGGAFix", ] diff --git a/src/viam/proto/provisioning/__init__.py b/src/viam/proto/provisioning/__init__.py new file mode 100644 index 000000000..d2a7ba0e5 --- /dev/null +++ b/src/viam/proto/provisioning/__init__.py @@ -0,0 +1,34 @@ +""" +@generated by Viam. +Do not edit manually! +""" +from ...gen.provisioning.v1.provisioning_grpc import ProvisioningServiceBase, ProvisioningServiceStub +from ...gen.provisioning.v1.provisioning_pb2 import ( + CloudConfig, + GetNetworkListRequest, + GetNetworkListResponse, + GetSmartMachineStatusRequest, + GetSmartMachineStatusResponse, + NetworkInfo, + ProvisioningInfo, + SetNetworkCredentialsRequest, + SetNetworkCredentialsResponse, + SetSmartMachineCredentialsRequest, + SetSmartMachineCredentialsResponse, +) + +__all__ = [ + "ProvisioningServiceBase", + "ProvisioningServiceStub", + "CloudConfig", + "GetNetworkListRequest", + "GetNetworkListResponse", + "GetSmartMachineStatusRequest", + "GetSmartMachineStatusResponse", + "NetworkInfo", + "ProvisioningInfo", + "SetNetworkCredentialsRequest", + "SetNetworkCredentialsResponse", + "SetSmartMachineCredentialsRequest", + "SetSmartMachineCredentialsResponse", +] diff --git a/src/viam/proto/robot/__init__.py b/src/viam/proto/robot/__init__.py index 8a6cebed9..827372f62 100644 --- a/src/viam/proto/robot/__init__.py +++ b/src/viam/proto/robot/__init__.py @@ -15,12 +15,16 @@ FrameSystemConfig, FrameSystemConfigRequest, FrameSystemConfigResponse, + GetCloudMetadataRequest, + GetCloudMetadataResponse, GetOperationsRequest, GetOperationsResponse, GetSessionsRequest, GetSessionsResponse, GetStatusRequest, GetStatusResponse, + LogRequest, + LogResponse, Operation, PeerConnectionInfo, PeerConnectionType, @@ -60,12 +64,16 @@ "FrameSystemConfig", "FrameSystemConfigRequest", "FrameSystemConfigResponse", + "GetCloudMetadataRequest", + "GetCloudMetadataResponse", "GetOperationsRequest", "GetOperationsResponse", "GetSessionsRequest", "GetSessionsResponse", "GetStatusRequest", "GetStatusResponse", + "LogRequest", + "LogResponse", "Operation", "PeerConnectionInfo", "PeerConnectionType", diff --git a/src/viam/proto/service/generic/__init__.py b/src/viam/proto/service/generic/__init__.py new file mode 100644 index 000000000..ab4e26098 --- /dev/null +++ b/src/viam/proto/service/generic/__init__.py @@ -0,0 +1,10 @@ +""" +@generated by Viam. +Do not edit manually! +""" +from ....gen.service.generic.v1.generic_grpc import GenericServiceBase, GenericServiceStub + +__all__ = [ + "GenericServiceBase", + "GenericServiceStub", +] diff --git a/src/viam/proto/service/motion/__init__.py b/src/viam/proto/service/motion/__init__.py index ca9a379ed..5d3cf61dc 100644 --- a/src/viam/proto/service/motion/__init__.py +++ b/src/viam/proto/service/motion/__init__.py @@ -17,8 +17,6 @@ MotionConfiguration, MoveOnGlobeRequest, MoveOnGlobeResponse, - MoveOnMapNewRequest, - MoveOnMapNewResponse, MoveOnMapRequest, MoveOnMapResponse, MoveRequest, @@ -51,8 +49,6 @@ "MotionConfiguration", "MoveOnGlobeRequest", "MoveOnGlobeResponse", - "MoveOnMapNewRequest", - "MoveOnMapNewResponse", "MoveOnMapRequest", "MoveOnMapResponse", "MoveRequest", diff --git a/src/viam/proto/service/slam/__init__.py b/src/viam/proto/service/slam/__init__.py index 556a61b47..5755203a9 100644 --- a/src/viam/proto/service/slam/__init__.py +++ b/src/viam/proto/service/slam/__init__.py @@ -6,8 +6,6 @@ from ....gen.service.slam.v1.slam_pb2 import ( GetInternalStateRequest, GetInternalStateResponse, - GetLatestMapInfoRequest, - GetLatestMapInfoResponse, GetPointCloudMapRequest, GetPointCloudMapResponse, GetPositionRequest, @@ -22,8 +20,6 @@ "SLAMServiceStub", "GetInternalStateRequest", "GetInternalStateResponse", - "GetLatestMapInfoRequest", - "GetLatestMapInfoResponse", "GetPointCloudMapRequest", "GetPointCloudMapResponse", "GetPositionRequest", diff --git a/src/viam/resource/base.py b/src/viam/resource/base.py index 50136a277..0e7e256a5 100644 --- a/src/viam/resource/base.py +++ b/src/viam/resource/base.py @@ -1,4 +1,4 @@ -from abc import abstractclassmethod, abstractmethod +from abc import abstractmethod from typing import TYPE_CHECKING, Any, ClassVar, Mapping, Optional, Protocol, runtime_checkable from typing_extensions import Self @@ -40,10 +40,16 @@ def get_resource_name(cls, name: str) -> ResourceName: name=name, ) - @abstractclassmethod + @classmethod + @abstractmethod def from_robot(cls, robot: "RobotClient", name: str) -> Self: """Get the Resource named ``name`` from the provided robot. + :: + + # Can be used with any resource, using an arm as an example + my_arm = Arm.from_robot(robot, "my_arm") + Args: robot (RobotClient): The robot name (str): The name of the Resource @@ -59,6 +65,11 @@ async def do_command( ) -> Mapping[str, "ValueTypes"]: """Send/Receive arbitrary commands to the Resource + :: + + command = {"cmd": "test", "data1": 500} + result = component.do(command) + Args: command (Mapping[str, ValueTypes]): The command to execute @@ -91,5 +102,10 @@ async def close(self): Close must be idempotent. Later configuration may allow a resource to be "open" again. If a resource does not want or need a close function, it is assumed that the resource does not need to retun errors when future non-Close methods are called. + + :: + + await component.close() + """ return diff --git a/src/viam/resource/rpc_service_base.py b/src/viam/resource/rpc_service_base.py index fcd555bf4..9fbca2e03 100644 --- a/src/viam/resource/rpc_service_base.py +++ b/src/viam/resource/rpc_service_base.py @@ -1,8 +1,9 @@ import abc -from typing import TYPE_CHECKING, Type +from typing import TYPE_CHECKING, Generic, Type from viam.components.component_base import ComponentBase from viam.errors import ResourceNotFoundError +from viam.resource.manager import ResourceType from viam.rpc.types import RPCServiceBase from viam.services.service_base import ServiceBase @@ -12,7 +13,7 @@ from viam.resource.manager import ResourceManager -class ResourceRPCServiceBase(abc.ABC, RPCServiceBase): +class ResourceRPCServiceBase(abc.ABC, RPCServiceBase, Generic[ResourceType]): """ Base RPC service for a resource. All resource RPC services must inherit from this class. @@ -24,7 +25,7 @@ class ResourceRPCServiceBase(abc.ABC, RPCServiceBase): def __init__(self, manager: "ResourceManager"): self.manager = manager - def get_resource(self, name: str) -> RESOURCE_TYPE: + def get_resource(self, name: str) -> ResourceType: """ Return the resource with the given name if it exists in the registry. If the resource does not exist in the registry, diff --git a/src/viam/resource/types.py b/src/viam/resource/types.py index d03deeeff..057c986fe 100644 --- a/src/viam/resource/types.py +++ b/src/viam/resource/types.py @@ -1,13 +1,12 @@ import re import sys -from typing import TYPE_CHECKING, Callable, ClassVar, Mapping, Protocol, Sequence, runtime_checkable +from typing import TYPE_CHECKING, Callable, ClassVar, Mapping, Optional, Protocol, Sequence, runtime_checkable if sys.version_info >= (3, 10): from typing import TypeAlias else: from typing_extensions import TypeAlias -from grpclib.server import Stream from typing_extensions import Self from viam.proto.app.robot import ComponentConfig @@ -47,8 +46,10 @@ def __repr__(self) -> str: def __hash__(self) -> int: return hash(str(self)) - def __eq__(self, other: "Subtype") -> bool: - return str(self) == str(other) + def __eq__(self, other: object) -> bool: + if isinstance(other, Subtype): + return str(self) == str(other) + return False @classmethod def from_resource_name(cls, resource_name: ResourceName) -> Self: @@ -108,8 +109,10 @@ def __repr__(self) -> str: def __hash__(self) -> int: return hash(str(self)) - def __eq__(self, other: "ModelFamily") -> bool: - return str(self) == str(other) + def __eq__(self, other: object) -> bool: + if isinstance(other, ModelFamily): + return str(self) == str(other) + return False ModelFamily.DEFAULT = ModelFamily(RESOURCE_NAMESPACE_RDK, ModelFamily.DEFAULT_FAMILY_NAME) @@ -137,8 +140,10 @@ def __repr__(self) -> str: def __hash__(self) -> int: return hash(str(self)) - def __eq__(self, other: "Model") -> bool: - return str(self) == str(other) + def __eq__(self, other: object) -> bool: + if isinstance(other, Model): + return str(self) == str(other) + return False @classmethod def from_string(cls, model: str, *, ignore_errors=False) -> Self: @@ -205,5 +210,5 @@ def resource_name_from_string(string: str) -> ResourceName: class SupportsGetGeometries(Protocol): """The SupportsGetGeometries protocol defines the requirements for a resource to call get_geometries.""" - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries(self, request: GetGeometriesRequest, *, timeout: Optional[float] = None) -> GetGeometriesResponse: ... diff --git a/src/viam/robot/client.py b/src/viam/robot/client.py index 9d9cbdc41..cad36ce5f 100644 --- a/src/viam/robot/client.py +++ b/src/viam/robot/client.py @@ -102,7 +102,7 @@ class Options: """ @classmethod - def with_api_key(cls, api_key: str, api_key_id: str) -> Self: + def with_api_key(cls, api_key: str, api_key_id: str, **kwargs) -> Self: """ Create RobotClient.Options with an API key for credentials and default values for other arguments. @@ -116,8 +116,8 @@ def with_api_key(cls, api_key: str, api_key_id: str) -> Self: Returns: Self: the RobotClient.Options """ + self = cls(**kwargs) dial_opts = DialOptions.with_api_key(api_key, api_key_id) - self = cls() self.dial_options = dial_opts return self @@ -286,7 +286,7 @@ async def _check_connection(self, check_every: int, reconnect_every: int): connection_error = None for _ in range(3): try: - _: ResourceNamesResponse = await self._client.ResourceNames(ResourceNamesRequest(), timeout=1) + await self._client.ResourceNames(ResourceNamesRequest(), timeout=1) connection_error = None break except Exception as e: @@ -321,7 +321,7 @@ async def _check_connection(self, check_every: int, reconnect_every: int): client = RobotServiceStub(channel) else: client = RobotServiceStub(channel.channel) - _: ResourceNamesResponse = await client.ResourceNames(ResourceNamesRequest()) + await client.ResourceNames(ResourceNamesRequest()) if isinstance(channel, Channel): self._channel = channel diff --git a/src/viam/robot/service.py b/src/viam/robot/service.py index 9b3fed1c6..35794476a 100644 --- a/src/viam/robot/service.py +++ b/src/viam/robot/service.py @@ -17,12 +17,16 @@ DiscoverComponentsResponse, FrameSystemConfigRequest, FrameSystemConfigResponse, + GetCloudMetadataRequest, + GetCloudMetadataResponse, GetOperationsRequest, GetOperationsResponse, GetSessionsRequest, GetSessionsResponse, GetStatusRequest, GetStatusResponse, + LogRequest, + LogResponse, ResourceNamesRequest, ResourceNamesResponse, ResourceRPCSubtypesRequest, @@ -170,3 +174,9 @@ async def SendSessionHeartbeat(self, stream: Stream[SendSessionHeartbeatRequest, async def TransformPCD(self, stream: Stream[TransformPCDRequest, TransformPCDResponse]) -> None: raise MethodNotImplementedError("TransformPCD").grpc_error + + async def Log(self, stream: Stream[LogRequest, LogResponse]) -> None: + raise MethodNotImplementedError("Log").grpc_error + + async def GetCloudMetadata(self, stream: Stream[GetCloudMetadataRequest, GetCloudMetadataResponse]) -> None: + raise MethodNotImplementedError("GetCloudMetadata").grpc_error diff --git a/src/viam/services/generic/__init__.py b/src/viam/services/generic/__init__.py new file mode 100644 index 000000000..509803fec --- /dev/null +++ b/src/viam/services/generic/__init__.py @@ -0,0 +1,18 @@ +import viam.gen.service.generic.v1.generic_pb2 # Need this import for Generic service descriptors to resolve +from viam.resource.registry import Registry, ResourceRegistration + +from .client import GenericClient +from .generic import Generic +from .service import GenericRPCService + +__all__ = [ + "Generic", +] + +Registry.register_subtype( + ResourceRegistration( + Generic, + GenericRPCService, + lambda name, channel: GenericClient(name, channel), + ) +) diff --git a/src/viam/services/generic/client.py b/src/viam/services/generic/client.py new file mode 100644 index 000000000..fb352c041 --- /dev/null +++ b/src/viam/services/generic/client.py @@ -0,0 +1,55 @@ +from typing import Any, Mapping, Optional + +from grpclib import GRPCError, Status +from grpclib.client import Channel + +from viam.proto.common import DoCommandRequest, DoCommandResponse +from viam.proto.service.generic import GenericServiceStub +from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase +from viam.utils import ValueTypes, dict_to_struct, struct_to_dict + +from .generic import Generic + + +class GenericClient(Generic, ReconfigurableResourceRPCClientBase): + """ + gRPC client for the Generic service. + """ + + def __init__(self, name: str, channel: Channel): + self.client = GenericServiceStub(channel) + super().__init__(name) + + async def do_command( + self, + command: Mapping[str, Any], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, Any]: + request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) + try: + response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + except GRPCError as e: + if e.status == Status.UNIMPLEMENTED: + raise NotImplementedError() + raise e + + return struct_to_dict(response.result) + + +async def do_command( + channel: Channel, name: str, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None +) -> Mapping[str, ValueTypes]: + """Convenience method to allow service clients to execute ``do_command`` functions + + Args: + channel (Channel): A gRPC channel + name (str): The name of the component + command (Dict[str, Any]): The command to execute + + Returns: + Dict[str, Any]: The result of the executed command + """ + client = GenericClient(name, channel) + return await client.do_command(command, timeout=timeout) diff --git a/src/viam/services/generic/generic.py b/src/viam/services/generic/generic.py new file mode 100644 index 000000000..5343a0826 --- /dev/null +++ b/src/viam/services/generic/generic.py @@ -0,0 +1,58 @@ +from typing import Final + +from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, Subtype + +from ..service_base import ServiceBase + + +class Generic(ServiceBase): + """ + Generic service, which represents any type of service that can execute arbitrary commands + + This acts as an abstract base class for any drivers representing generic services. + This cannot be used on its own. If the ``__init__()`` function is overridden, it must call the ``super().__init__()`` function. + + To create a Generic service (an arbitrary service that can process commands), this ``Generic`` service should be subclassed + and the ``do_command`` function implemented. + + Example:: + + class ComplexService(Generic): + + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **kwargs + ) -> Mapping[str, ValueTypes]: + result = {key: False for key in command.keys()} + for (name, args) in command.items(): + if name == 'set_val': + self.set_val(*args) + result[name] = True + if name == 'get_val': + result[name] = self.val + if name == 'complex_command': + self.complex_command(*args) + result[name] = True + return result + + def set_val(self, val: int): + self.val = val + + def complex_command(self, arg1, arg2, arg3): + ... + + To execute commands, simply call the ``do_command`` function with the appropriate parameters. + :: + + await service.do_command({'set_val': 10}) + service.val # 10 + await service.do_command({'set_val': 5}) + service.val # 5 + """ + + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "generic" + ) diff --git a/src/viam/services/generic/service.py b/src/viam/services/generic/service.py new file mode 100644 index 000000000..f7381fddb --- /dev/null +++ b/src/viam/services/generic/service.py @@ -0,0 +1,29 @@ +from grpclib import GRPCError, Status +from grpclib.server import Stream + +from viam.proto.common import DoCommandRequest, DoCommandResponse +from viam.proto.service.generic import GenericServiceBase +from viam.resource.rpc_service_base import ResourceRPCServiceBase +from viam.services.service_base import ServiceBase +from viam.utils import dict_to_struct, struct_to_dict + + +class GenericRPCService(GenericServiceBase, ResourceRPCServiceBase): + """ + gRPC Service for a Generic service + """ + + RESOURCE_TYPE = ServiceBase + + async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + request = await stream.recv_message() + assert request is not None + name = request.name + service = self.get_resource(name) + try: + timeout = stream.deadline.time_remaining() if stream.deadline else None + result = await service.do_command(struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + except NotImplementedError: + raise GRPCError(Status.UNIMPLEMENTED, f"``DO`` command is unimplemented for service named: {name}") + response = DoCommandResponse(result=dict_to_struct(result)) + await stream.send_message(response) diff --git a/src/viam/services/mlmodel/mlmodel.py b/src/viam/services/mlmodel/mlmodel.py index c8229ca6b..46507662e 100644 --- a/src/viam/services/mlmodel/mlmodel.py +++ b/src/viam/services/mlmodel/mlmodel.py @@ -18,7 +18,9 @@ class MLModel(ServiceBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "mlmodel") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "mlmodel" + ) @abc.abstractmethod async def infer(self, input_tensors: Dict[str, NDArray], *, timeout: Optional[float]) -> Dict[str, NDArray]: diff --git a/src/viam/services/motion/client.py b/src/viam/services/motion/client.py index 58cdf91de..3058c3ef7 100644 --- a/src/viam/services/motion/client.py +++ b/src/viam/services/motion/client.py @@ -1,10 +1,11 @@ -from typing import Any, Final, List, Mapping, Optional, Sequence +from typing import Any, Final, List, Mapping, Optional, Sequence, Iterable from grpclib.client import Channel from viam.proto.common import ( DoCommandRequest, DoCommandResponse, + Geometry, GeoObstacle, GeoPoint, Pose, @@ -45,7 +46,9 @@ class MotionClient(ServiceClientBase, ReconfigurableResourceRPCClientBase): ``world_state`` message, the motion planning service will also account for those. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "motion") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "motion" + ) client: MotionServiceStub def __init__(self, name: str, channel: Channel): @@ -119,16 +122,34 @@ async def move_on_globe( You can monitor the progress of the ``move_on_globe()`` call by querying ``get_plan()`` and ``list_plan_statuses()``. Args: - component_name (ResourceName): The component to move - destination (GeoPoint): The destination point - movement_sensor_name (ResourceName): The ``MovementSensor`` which will be used to check robot location - obstacles (Optional[Sequence[GeoObstacle]]): Obstacles to be considered for motion planning. Defaults to None. - heading (Optional[float]): Compass heading to achieve at the destination, in degrees [0-360]. Defaults to None. - linear_meters_per_sec (Optional[float]): Linear velocity to target when moving. Defaults to None. - angular_deg_per_sec (Optional[float]): Angular velocity to target when turning. Defaults to None. + component_name (ResourceName): The ResourceName of the base to move. + destination (GeoPoint): The location of the component’s destination, represented in geographic notation as a + GeoPoint (lat, lng). + movement_sensor_name (ResourceName): The ResourceName of the movement sensor that you want to use to check + the machine’s location. + obstacles (Optional[Sequence[GeoObstacle]]): Obstacles to consider when planning the motion of the component, + with each represented as a GeoObstacle. + - Default: None + heading (Optional[float]): The compass heading, in degrees, that the machine’s movement sensor should report + at the destination point. + Range: [0-360) 0: North, 90: East, 180: South, 270: West + Default: None + configuration (Optional[MotionConfiguration]): The configuration you want to set across this machine for this + motion service. This parameter and each of its fields are optional. + obstacle_detectors (Iterable[ObstacleDetector]): The names of each vision service and camera resource pair + you want to use for transient obstacle avoidance. + position_polling_frequency_hz (float): The frequency in hz to poll the position of the machine. + obstacle_polling_frequency_hz (float): The frequency in hz to poll the vision service for new obstacles. + plan_deviation_m (float): The distance in meters that the machine can deviate from the motion plan. + linear_m_per_sec (float): Linear velocity this machine should target when moving. + angular_degs_per_sec (float): Angular velocity this machine should target when turning. + extra (Optional[Dict[str, Any]]): Extra options to pass to the underlying RPC call. + timeout (Optional[float]): An option to set how long to wait (in seconds) before calling a time-out and closing + the underlying RPC call. + Returns: - str: ExecutionID of the move_on_globe call, which can be used to track execution progress. + str: ExecutionID of the ``move_on_globe()`` call, which can be used to track execution progress. """ if extra is None: extra = {} @@ -150,20 +171,43 @@ async def move_on_map( component_name: ResourceName, destination: Pose, slam_service_name: ResourceName, + configuration: Optional[MotionConfiguration] = None, + obstacles: Optional[Iterable[Geometry]] = None, *, extra: Optional[Mapping[str, ValueTypes]] = None, timeout: Optional[float] = None, - ) -> bool: + ) -> str: """ - Move a component to a specific pose, using a ``SlamService`` for the SLAM map + Move a component to a specific pose, using a ``SlamService`` for the SLAM map, using a ``SLAM Service`` to check the location. + + ``move_on_map()`` is non blocking, meaning the motion service will move the component to the destination + Pose point after ``move_on_map()`` returns. + + Each successful ``move_on_map()`` call retuns a unique ExectionID which you can use to identify all plans + generated durring the ``move_on_map()`` call. + + You can monitor the progress of the ``move_on_map()`` call by querying ``get_plan()`` and ``list_plan_statuses()``. Args: - component_name (ResourceName): The component to move - destination (Pose): The destination, which can be any pose with respect to the SLAM map's origin - slam_service_name (ResourceName): The slam service from which the SLAM map is requested + component_name (ResourceName): The ResourceName of the base to move. + destination (Pose): The destination, which can be any Pose with respect to the SLAM map’s origin. + slam_service_name (ResourceName): The ResourceName of the SLAM service from which the SLAM map is requested. + configuration (Optional[MotionConfiguration]): The configuration you want to set across this machine for this motion service. + This parameter and each of its fields are optional. + obstacle_detectors (Iterable[ObstacleDetector]): The names of each vision service and camera resource pair you want to use + for transient obstacle avoidance. + position_polling_frequency_hz (float): The frequency in hz to poll the position of the machine. + obstacle_polling_frequency_hz (float): The frequency in hz to poll the vision service for new obstacles. + plan_deviation_m (float): The distance in meters that the machine can deviate from the motion plan. + linear_m_per_sec (float): Linear velocity this machine should target when moving. + angular_degs_per_sec (float): Angular velocity this machine should target when turning. + obstacles (Optional[Iterable[Geometry]]): Obstacles to be considered for motion planning. + extra (Optional[Dict[str, Any]]): Extra options to pass to the underlying RPC call. + timeout (Optional[float]): An option to set how long to wait (in seconds) before calling a time-out and closing the underlying + RPC call. Returns: - bool: Whether the request was successful + str: ExecutionID of the ``move_on_map()`` call, which can be used to track execution progress. """ if extra is None: extra = {} @@ -172,10 +216,12 @@ async def move_on_map( destination=destination, component_name=component_name, slam_service_name=slam_service_name, + motion_configuration=configuration, + obstacles=obstacles, extra=dict_to_struct(extra), ) response: MoveOnMapResponse = await self.client.MoveOnMap(request, timeout=timeout) - return response.success + return response.execution_id async def stop_plan( self, @@ -184,7 +230,7 @@ async def stop_plan( extra: Optional[Mapping[str, ValueTypes]] = None, timeout: Optional[float] = None, ): - """Stop a component being moved by an in progress ``move_on_globe()`` call. + """Stop a component being moved by an in progress ``move_on_globe()`` or ``move_on_map()`` call. Args: component_name (ResourceName): The component to stop @@ -212,13 +258,13 @@ async def get_plan( extra: Optional[Mapping[str, ValueTypes]] = None, timeout: Optional[float] = None, ) -> GetPlanResponse: - """By default: returns the plan history of the most recent ``move_on_globe()`` call to move a component. + """By default: returns the plan history of the most recent ``move_on_globe()`` or ``move_on_map()``call to move a component. The plan history for executions before the most recent can be requested by providing an ExecutionID in the request. Returns a result if both of the following conditions are met: - - the execution (call to ``move_on_globe()``) is still executing **or** changed state within the last 24 hours + - the execution (call to ``move_on_globe()`` or ``move_on_map()``) is still executing **or** changed state within the last 24 hours - the robot has not reinitialized Plans never change. @@ -257,7 +303,7 @@ async def list_plan_statuses( extra: Optional[Mapping[str, ValueTypes]] = None, timeout: Optional[float] = None, ) -> ListPlanStatusesResponse: - """Returns the statuses of plans created by `move_on_globe()` calls that meet at least one of the following + """Returns the statuses of plans created by `move_on_globe()` or ``move_on_map()`` calls that meet at least one of the following conditions since the motion service initialized: - the plan's status is in progress @@ -322,7 +368,7 @@ async def get_pose( response: GetPoseResponse = await self.client.GetPose(request, timeout=timeout) return response.pose - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: """Send/receive arbitrary commands Args: diff --git a/src/viam/services/navigation/client.py b/src/viam/services/navigation/client.py index 8fac60a19..b2daf8009 100644 --- a/src/viam/services/navigation/client.py +++ b/src/viam/services/navigation/client.py @@ -83,7 +83,7 @@ async def get_properties(self, *, timeout: Optional[float] = None) -> MapType.Va response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) return response.map_type - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/services/navigation/navigation.py b/src/viam/services/navigation/navigation.py index d6ec21322..8af8616aa 100644 --- a/src/viam/services/navigation/navigation.py +++ b/src/viam/services/navigation/navigation.py @@ -16,7 +16,9 @@ class Navigation(ServiceBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "navigation") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "navigation" + ) @abc.abstractmethod async def get_paths(self, *, timeout: Optional[float]) -> List[Path]: diff --git a/src/viam/services/sensors/client.py b/src/viam/services/sensors/client.py index bb2b54b23..4e0c98ac1 100644 --- a/src/viam/services/sensors/client.py +++ b/src/viam/services/sensors/client.py @@ -13,7 +13,9 @@ class SensorsClient(ServiceClientBase, ReconfigurableResourceRPCClientBase): """Connect to the SensorService, which centralizes all Sensors in a single place""" - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "sensors") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "sensors" + ) client: SensorsServiceStub def __init__(self, name: str, channel: Channel): @@ -49,7 +51,7 @@ async def get_readings( response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) return {reading.name: sensor_readings_value_to_native(reading.readings) for reading in response.readings} - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: """Send/receive arbitrary commands Args: diff --git a/src/viam/services/service_base.py b/src/viam/services/service_base.py index a7fad3784..44af41914 100644 --- a/src/viam/services/service_base.py +++ b/src/viam/services/service_base.py @@ -36,4 +36,12 @@ def from_robot(cls, robot: "RobotClient", name: str) -> Self: return cast(cls, service) async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + """Send/receive arbitrary commands + + Args: + command (Dict[str, ValueTypes]): The command to execute + + Returns: + Dict[str, ValueTypes]: Result of the executed command + """ raise NotImplementedError() diff --git a/src/viam/services/service_client_base.py b/src/viam/services/service_client_base.py index 7872452cc..5c3ad4de8 100644 --- a/src/viam/services/service_client_base.py +++ b/src/viam/services/service_client_base.py @@ -42,5 +42,5 @@ def from_robot(cls, robot: "RobotClient", name: str = "builtin") -> Self: raise ResourceNotFoundError(resource_name.subtype, resource_name.name) return cls(name, robot._channel) - def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: raise NotImplementedError() diff --git a/src/viam/services/slam/client.py b/src/viam/services/slam/client.py index d34a05367..285f35ff4 100644 --- a/src/viam/services/slam/client.py +++ b/src/viam/services/slam/client.py @@ -1,4 +1,3 @@ -from datetime import datetime from typing import List, Mapping, Optional, Tuple from grpclib.client import Channel @@ -7,8 +6,6 @@ from viam.proto.service.slam import ( GetInternalStateRequest, GetInternalStateResponse, - GetLatestMapInfoRequest, - GetLatestMapInfoResponse, GetPointCloudMapRequest, GetPointCloudMapResponse, GetPositionRequest, @@ -41,27 +38,22 @@ async def get_position(self, *, timeout: Optional[float] = None) -> Pose: response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) return response.pose - async def get_point_cloud_map(self, *, timeout: Optional[float] = None) -> List[GetPointCloudMapResponse]: + async def get_point_cloud_map(self, *, timeout: Optional[float] = None) -> List[bytes]: request = GetPointCloudMapRequest(name=self.name) response: List[GetPointCloudMapResponse] = await self.client.GetPointCloudMap(request, timeout=timeout) - return response + return [r.point_cloud_pcd_chunk for r in response] - async def get_internal_state(self, *, timeout: Optional[float] = None) -> List[GetInternalStateResponse]: + async def get_internal_state(self, *, timeout: Optional[float] = None) -> List[bytes]: request = GetInternalStateRequest(name=self.name) response: List[GetInternalStateResponse] = await self.client.GetInternalState(request, timeout=timeout) - return response - - async def get_latest_map_info(self, *, timeout: Optional[float] = None) -> datetime: - request = GetLatestMapInfoRequest(name=self.name) - response: GetLatestMapInfoResponse = await self.client.GetLatestMapInfo(request, timeout=timeout) - return response.last_map_update.ToDatetime() + return [r.internal_state_chunk for r in response] async def get_properties(self, *, timeout: Optional[float] = None) -> Tuple[bool, MappingMode.ValueType]: request = GetPropertiesRequest(name=self.name) response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) return (response.cloud_slam, response.mapping_mode) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/services/slam/service.py b/src/viam/services/slam/service.py index 853fa0c4a..ff0b79d85 100644 --- a/src/viam/services/slam/service.py +++ b/src/viam/services/slam/service.py @@ -4,8 +4,6 @@ from viam.proto.service.slam import ( GetInternalStateRequest, GetInternalStateResponse, - GetLatestMapInfoRequest, - GetLatestMapInfoResponse, GetPointCloudMapRequest, GetPointCloudMapResponse, GetPositionRequest, @@ -15,7 +13,7 @@ SLAMServiceBase, ) from viam.resource.rpc_service_base import ResourceRPCServiceBase -from viam.utils import datetime_to_timestamp, dict_to_struct, struct_to_dict +from viam.utils import dict_to_struct, struct_to_dict from .slam import SLAM @@ -59,15 +57,6 @@ async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionRespon response = GetPositionResponse(pose=position) await stream.send_message(response) - async def GetLatestMapInfo(self, stream: Stream[GetLatestMapInfoRequest, GetLatestMapInfoResponse]) -> None: - request = await stream.recv_message() - assert request is not None - slam = self.get_resource(request.name) - timeout = stream.deadline.time_remaining() if stream.deadline else None - time = await slam.get_latest_map_info(timeout=timeout) - response = GetLatestMapInfoResponse(last_map_update=datetime_to_timestamp(time)) - await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: request = await stream.recv_message() assert request is not None diff --git a/src/viam/services/slam/slam.py b/src/viam/services/slam/slam.py index 011241150..7a245db26 100644 --- a/src/viam/services/slam/slam.py +++ b/src/viam/services/slam/slam.py @@ -1,5 +1,4 @@ import abc -from datetime import datetime from typing import Final, List, Optional, Tuple from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, Subtype @@ -17,7 +16,7 @@ class SLAM(ServiceBase): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "slam") + SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "slam") # pyright: ignore [reportIncompatibleVariableOverride] @abc.abstractmethod async def get_internal_state(self, *, timeout: Optional[float]) -> List[bytes]: @@ -40,16 +39,6 @@ async def get_point_cloud_map(self, *, timeout: Optional[float]) -> List[bytes]: """ ... - @abc.abstractmethod - async def get_latest_map_info(self, *, timeout: Optional[float]) -> datetime: - """ - Get the timestamp of the last update to the point cloud SLAM map. - - Returns: - datetime: The timestamp of the last update. - """ - ... - @abc.abstractmethod async def get_position(self, *, timeout: Optional[float]) -> Pose: """ diff --git a/src/viam/services/vision/client.py b/src/viam/services/vision/client.py index f4c505c6d..35c6a9aa1 100644 --- a/src/viam/services/vision/client.py +++ b/src/viam/services/vision/client.py @@ -41,7 +41,11 @@ def __init__(self, name: str, channel: Channel): self.client = VisionServiceStub(channel) async def get_detections_from_camera( - self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + camera_name: str, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, ) -> List[Detection]: if extra is None: extra = {} @@ -114,7 +118,11 @@ async def get_classifications( return list(response.classifications) async def get_object_point_clouds( - self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + camera_name: str, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, ) -> List[PointCloudObject]: if extra is None: extra = {} @@ -127,7 +135,13 @@ async def get_object_point_clouds( response: GetObjectPointCloudsResponse = await self.client.GetObjectPointClouds(request, timeout=timeout) return list(response.objects) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) return struct_to_dict(response.result) diff --git a/src/viam/services/vision/vision.py b/src/viam/services/vision/vision.py index bcd7e8a38..dec3b04dc 100644 --- a/src/viam/services/vision/vision.py +++ b/src/viam/services/vision/vision.py @@ -7,12 +7,11 @@ from viam.proto.common import PointCloudObject from viam.proto.service.vision import Classification, Detection from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, Subtype -from viam.utils import ValueTypes from ..service_base import ServiceBase -class Vision(ServiceBase, abc.ABC): +class Vision(ServiceBase): """ Vision represents a Vision service. @@ -21,11 +20,17 @@ class Vision(ServiceBase, abc.ABC): overridden, it must call the ``super().__init__()`` function. """ - SUBTYPE: Final = Subtype(RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "vision") + SUBTYPE: Final = Subtype( # pyright: ignore [reportIncompatibleVariableOverride] + RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, "vision" + ) @abc.abstractmethod async def get_detections_from_camera( - self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + camera_name: str, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, ) -> List[Detection]: """Get a list of detections in the next image given a camera and a detector @@ -101,7 +106,11 @@ async def get_classifications( @abc.abstractmethod async def get_object_point_clouds( - self, camera_name: str, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + camera_name: str, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, ) -> List[PointCloudObject]: """ Returns a list of the 3D point cloud objects and associated metadata in the latest @@ -128,15 +137,3 @@ async def get_object_point_clouds( List[viam.proto.common.PointCloudObject]: The pointcloud objects with metadata """ ... - - @abc.abstractmethod - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None) -> Mapping[str, ValueTypes]: - """Send/receive arbitrary commands - - Args: - command (Dict[str, ValueTypes]): The command to execute - - Returns: - Dict[str, ValueTypes]: Result of the executed command - """ - ... diff --git a/src/viam/utils.py b/src/viam/utils.py index 4e079d555..d6fe9e03b 100644 --- a/src/viam/utils.py +++ b/src/viam/utils.py @@ -284,6 +284,7 @@ def create_filter( end_time: Optional[datetime] = None, tags: Optional[List[str]] = None, bbox_labels: Optional[List[str]] = None, + dataset_id: Optional[str] = None, ) -> Filter: """Create a `Filter`. @@ -303,6 +304,7 @@ def create_filter( tags (Optional[List[str]]): Optional list of tags attached to the data being filtered (e.g., ["test"]). bbox_labels (Optional[List[str]]): Optional list of bounding box labels attached to the data being filtered (e.g., ["square", "circle"]). + dataset_id (Optional[str]): Optional ID of dataset associated with data being filtered Returns: viam.proto.app.data.Filter: The `Filter` object. @@ -328,4 +330,5 @@ def create_filter( else None, tags_filter=TagsFilter(tags=tags), bbox_labels=bbox_labels, + dataset_id=dataset_id if dataset_id else "", ) diff --git a/tests/mocks/components.py b/tests/mocks/components.py index 6a57f6222..482eff31e 100644 --- a/tests/mocks/components.py +++ b/tests/mocks/components.py @@ -525,7 +525,6 @@ async def home(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optiona self.homed = True self.extra = extra self.timeout = timeout - print("called home") return self.homed async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[float]: @@ -550,7 +549,7 @@ async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Option return {"command": command} -class MockGeneric(GenericComponent): +class MockGenericComponent(GenericComponent): timeout: Optional[float] = None geometries = GEOMETRIES @@ -811,7 +810,7 @@ def __init__( heading: float, orientation: Orientation, properties: MovementSensor.Properties, - accuracy: Mapping[str, float], + accuracy: MovementSensor.Accuracy, readings: Mapping[str, float], ): super().__init__(name) @@ -872,7 +871,7 @@ async def get_properties( async def get_accuracy( self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs - ) -> Mapping[str, float]: + ) -> MovementSensor.Accuracy: self.extra = extra self.timeout = timeout return self.accuracy diff --git a/tests/mocks/robot.py b/tests/mocks/robot.py index ee9a6220a..81e95782a 100644 --- a/tests/mocks/robot.py +++ b/tests/mocks/robot.py @@ -13,12 +13,16 @@ DiscoverComponentsResponse, FrameSystemConfigRequest, FrameSystemConfigResponse, + GetCloudMetadataRequest, + GetCloudMetadataResponse, GetOperationsRequest, GetOperationsResponse, GetSessionsRequest, GetSessionsResponse, GetStatusRequest, GetStatusResponse, + LogRequest, + LogResponse, ResourceNamesRequest, ResourceNamesResponse, ResourceRPCSubtypesRequest, @@ -100,3 +104,9 @@ async def GetSessions(self, stream: Stream[GetSessionsRequest, GetSessionsRespon async def TransformPCD(self, stream: Stream[TransformPCDRequest, TransformPCDResponse]) -> None: raise MethodNotImplementedError("TransformPCD").grpc_error + + async def Log(self, stream: Stream[LogRequest, LogResponse]) -> None: + raise MethodNotImplementedError("Log").grpc_error + + async def GetCloudMetadata(self, stream: Stream[GetCloudMetadataRequest, GetCloudMetadataResponse]) -> None: + raise MethodNotImplementedError("GetCloudMetadata").grpc_error diff --git a/tests/mocks/services.py b/tests/mocks/services.py index 69cbed6d1..968fa6fac 100644 --- a/tests/mocks/services.py +++ b/tests/mocks/services.py @@ -1,5 +1,4 @@ -from datetime import datetime -from typing import Any, Dict, List, Mapping, Optional, Tuple, Union +from typing import Any, Dict, List, Mapping, Optional, Sequence, Tuple, Union import numpy as np from grpclib.server import Stream @@ -115,7 +114,6 @@ LocationAuth, LocationAuthRequest, LocationAuthResponse, - LogEntry, MarkPartAsMainRequest, MarkPartAsMainResponse, MarkPartForRestartRequest, @@ -165,24 +163,14 @@ ) from viam.proto.app.billing import ( BillingServiceBase, - GetBillingSummaryRequest, - GetBillingSummaryResponse, GetCurrentMonthUsageRequest, GetCurrentMonthUsageResponse, - GetCurrentMonthUsageSummaryRequest, - GetCurrentMonthUsageSummaryResponse, - GetInvoiceHistoryRequest, - GetInvoiceHistoryResponse, GetInvoicePdfRequest, GetInvoicePdfResponse, GetInvoicesSummaryRequest, GetInvoicesSummaryResponse, - GetItemizedInvoiceRequest, - GetItemizedInvoiceResponse, GetOrgBillingInformationRequest, GetOrgBillingInformationResponse, - GetUnpaidBalanceRequest, - GetUnpaidBalanceResponse, ) from viam.proto.app.data import ( AddBinaryDataToDatasetByIDsRequest, @@ -229,6 +217,20 @@ TagsByFilterRequest, TagsByFilterResponse, ) +from viam.proto.app.dataset import ( + CreateDatasetRequest, + CreateDatasetResponse, + Dataset, + DatasetServiceBase, + DeleteDatasetRequest, + DeleteDatasetResponse, + ListDatasetsByIDsRequest, + ListDatasetsByIDsResponse, + ListDatasetsByOrganizationIDRequest, + ListDatasetsByOrganizationIDResponse, + RenameDatasetRequest, + RenameDatasetResponse, +) from viam.proto.app.datasync import ( DataCaptureUploadRequest, DataCaptureUploadResponse, @@ -252,7 +254,17 @@ SubmitTrainingJobResponse, TrainingJobMetadata, ) -from viam.proto.common import DoCommandRequest, DoCommandResponse, GeoObstacle, GeoPoint, PointCloudObject, Pose, PoseInFrame, ResourceName +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GeoObstacle, + GeoPoint, + LogEntry, + PointCloudObject, + Pose, + PoseInFrame, + ResourceName, +) from viam.proto.service.mlmodel import ( FlatTensor, FlatTensorDataDouble, @@ -278,8 +290,6 @@ MotionServiceBase, MoveOnGlobeRequest, MoveOnGlobeResponse, - MoveOnMapNewRequest, - MoveOnMapNewResponse, MoveOnMapRequest, MoveOnMapResponse, MoveRequest, @@ -298,6 +308,7 @@ ) from viam.proto.service.slam import MappingMode from viam.proto.service.vision import Classification, Detection +from viam.services.generic import Generic as GenericService from viam.services.mlmodel import File, LabelType, Metadata, MLModel, TensorInfo from viam.services.mlmodel.utils import flat_tensors_to_ndarrays, ndarrays_to_flat_tensors from viam.services.navigation import Navigation @@ -490,12 +501,12 @@ async def MoveOnMap(self, stream: Stream[MoveOnMapRequest, MoveOnMapResponse]) - self.component_name = request.component_name self.destination = request.destination self.slam_service = request.slam_service_name + self.configuration = request.motion_configuration + self.obstacles = request.obstacles self.extra = struct_to_dict(request.extra) self.timeout = stream.deadline.time_remaining() if stream.deadline else None - await stream.send_message(MoveOnMapResponse(success=True)) - - async def MoveOnMapNew(self, stream: Stream[MoveOnMapNewRequest, MoveOnMapNewResponse]) -> None: - raise NotImplementedError() + self.execution_id = "some execution id" + await stream.send_message(MoveOnMapResponse(execution_id=self.execution_id)) async def MoveOnGlobe(self, stream: Stream[MoveOnGlobeRequest, MoveOnGlobeResponse]) -> None: request = await stream.recv_message() @@ -590,7 +601,6 @@ class MockSLAM(SLAM): INTERNAL_STATE_CHUNKS = [bytes(5), bytes(2)] POINT_CLOUD_PCD_CHUNKS = [bytes(3), bytes(2)] POSITION = Pose(x=1, y=2, z=3, o_x=2, o_y=3, o_z=4, theta=20) - LAST_UPDATE = datetime(2023, 3, 12, 3, 24, 34, 29) CLOUD_SLAM = False MAPPING_MODE = MappingMode.MAPPING_MODE_UNSPECIFIED @@ -611,10 +621,6 @@ async def get_position(self, *, timeout: Optional[float] = None) -> Pose: self.timeout = timeout return self.POSITION - async def get_latest_map_info(self, *, timeout: Optional[float] = None) -> datetime: - self.timeout = timeout - return self.LAST_UPDATE - async def get_properties(self, *, timeout: Optional[float] = None) -> Tuple[bool, MappingMode.ValueType]: self.timeout = timeout return (self.CLOUD_SLAM, self.MAPPING_MODE) @@ -830,12 +836,20 @@ async def ConfigureDatabaseUser(self, stream: Stream[ConfigureDatabaseUserReques async def AddBinaryDataToDatasetByIDs( self, stream: Stream[AddBinaryDataToDatasetByIDsRequest, AddBinaryDataToDatasetByIDsResponse] ) -> None: - raise NotImplementedError() + request = await stream.recv_message() + assert request is not None + self.added_data_ids = request.binary_ids + self.dataset_id = request.dataset_id + await stream.send_message(AddBinaryDataToDatasetByIDsResponse()) async def RemoveBinaryDataFromDatasetByIDs( self, stream: Stream[RemoveBinaryDataFromDatasetByIDsRequest, RemoveBinaryDataFromDatasetByIDsResponse] ) -> None: - raise NotImplementedError() + request = await stream.recv_message() + assert request is not None + self.removed_data_ids = request.binary_ids + self.dataset_id = request.dataset_id + await stream.send_message(RemoveBinaryDataFromDatasetByIDsResponse()) async def TabularDataBySQL(self, stream: Stream[TabularDataBySQLRequest, TabularDataBySQLResponse]) -> None: raise NotImplementedError() @@ -844,6 +858,46 @@ async def TabularDataByMQL(self, stream: Stream[TabularDataByMQLRequest, Tabular raise NotImplementedError() +class MockDataset(DatasetServiceBase): + def __init__(self, create_response: str, datasets_response: Sequence[Dataset]): + self.create_response = create_response + self.datasets_response = datasets_response + + async def CreateDataset(self, stream: Stream[CreateDatasetRequest, CreateDatasetResponse]) -> None: + request = await stream.recv_message() + assert request is not None + self.name = request.name + self.org_id = request.organization_id + await stream.send_message(CreateDatasetResponse(id=self.create_response)) + + async def DeleteDataset(self, stream: Stream[DeleteDatasetRequest, DeleteDatasetResponse]) -> None: + request = await stream.recv_message() + assert request is not None + self.deleted_id = request.id + await stream.send_message(DeleteDatasetResponse()) + + async def ListDatasetsByIDs(self, stream: Stream[ListDatasetsByIDsRequest, ListDatasetsByIDsResponse]) -> None: + request = await stream.recv_message() + assert request is not None + self.ids = request.ids + await stream.send_message(ListDatasetsByIDsResponse(datasets=self.datasets_response)) + + async def ListDatasetsByOrganizationID( + self, stream: Stream[ListDatasetsByOrganizationIDRequest, ListDatasetsByOrganizationIDResponse] + ) -> None: + request = await stream.recv_message() + assert request is not None + self.org_id = request.organization_id + await stream.send_message(ListDatasetsByOrganizationIDResponse(datasets=self.datasets_response)) + + async def RenameDataset(self, stream: Stream[RenameDatasetRequest, RenameDatasetResponse]) -> None: + request = await stream.recv_message() + assert request is not None + self.id = request.id + self.name = request.name + await stream.send_message((RenameDatasetResponse())) + + class MockDataSync(DataSyncServiceBase): def __init__(self, file_upload_response: str): self.file_upload_response = file_upload_response @@ -955,24 +1009,6 @@ async def GetOrgBillingInformation(self, stream: Stream[GetOrgBillingInformation self.org_id = request.org_id await stream.send_message(self.billing_info) - async def GetBillingSummary(self, stream: Stream[GetBillingSummaryRequest, GetBillingSummaryResponse]) -> None: - raise NotImplementedError() - - async def GetCurrentMonthUsageSummary( - self, - stream: Stream[GetCurrentMonthUsageSummaryRequest, GetCurrentMonthUsageSummaryResponse], - ) -> None: - raise NotImplementedError() - - async def GetInvoiceHistory(self, stream: Stream[GetInvoiceHistoryRequest, GetInvoiceHistoryResponse]) -> None: - raise NotImplementedError() - - async def GetItemizedInvoice(self, stream: Stream[GetItemizedInvoiceRequest, GetItemizedInvoiceResponse]) -> None: - raise NotImplementedError() - - async def GetUnpaidBalance(self, stream: Stream[GetUnpaidBalanceRequest, GetUnpaidBalanceResponse]) -> None: - raise NotImplementedError() - class MockApp(AppServiceBase): def __init__( @@ -1424,3 +1460,11 @@ async def DeleteRegistryItem(self, stream: Stream[DeleteRegistryItemRequest, Del async def GetRegistryItem(self, stream: Stream[GetRegistryItemRequest, GetRegistryItemResponse]) -> None: raise NotImplementedError() + + +class MockGenericService(GenericService): + timeout: Optional[float] = None + + async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + self.timeout = timeout + return {key: True for key in command.keys()} diff --git a/tests/test_app_client.py b/tests/test_app_client.py index fb48b6d95..1015bd57f 100644 --- a/tests/test_app_client.py +++ b/tests/test_app_client.py @@ -13,7 +13,6 @@ Fragment, Location, LocationAuth, - LogEntry, Model, Module, ModuleFileInfo, @@ -26,6 +25,7 @@ RoverRentalRobot, Visibility, ) +from viam.proto.common import LogEntry from viam.utils import datetime_to_timestamp, struct_to_dict from .mocks.services import MockApp @@ -120,8 +120,8 @@ PART = "part" ROBOT_PART_HISTORY_ENTRY = RobotPartHistoryEntry(part=PART, robot=ID, when=TIME, old=None) ROBOT_PART_HISTORY = [ROBOT_PART_HISTORY_ENTRY] -TYPE = "type" -ROLE = "role" +TYPE = "robot" +ROLE = "operator" API_KEY = "key" API_KEY_AUTHORIZATION = APIKeyAuthorization(role=ROLE, resource_type=TYPE, resource_id=ID) API_KEY_AUTHORIZATIONS = [API_KEY_AUTHORIZATION] diff --git a/tests/test_camera.py b/tests/test_camera.py index 4e8e02211..ed68aeb8d 100644 --- a/tests/test_camera.py +++ b/tests/test_camera.py @@ -10,7 +10,7 @@ from viam.components.camera import Camera, CameraClient from viam.components.camera.service import CameraRPCService from viam.components.generic.service import GenericRPCService -from viam.media.video import LIBRARY_SUPPORTED_FORMATS, CameraMimeType, NamedImage, RawImage, ViamImage +from viam.media.video import LIBRARY_SUPPORTED_FORMATS, CameraMimeType, NamedImage, RawImage from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse, ResponseMetadata from viam.proto.component.camera import ( CameraServiceStub, @@ -253,29 +253,30 @@ async def test_get_image(self, camera: MockCamera, service: CameraRPCService, im # Test known mime type png_img = await client.get_image(timeout=1.82, mime_type=CameraMimeType.PNG) - assert isinstance(png_img.image, Image.Image) - assert png_img.image.tobytes() == image.tobytes() + assert isinstance(png_img, Image.Image) + assert png_img.tobytes() == image.tobytes() + assert isinstance(png_img, Image.Image) + assert png_img.tobytes() == image.tobytes() assert camera.timeout == loose_approx(1.82) # Test raw mime type rgba_img = await client.get_image(CameraMimeType.VIAM_RGBA) - assert isinstance(rgba_img.image, Image.Image) - rgba_bytes = rgba_img.image.tobytes() + assert isinstance(rgba_img, Image.Image) + rgba_bytes = rgba_img.tobytes() + assert isinstance(rgba_img, Image.Image) + rgba_bytes = rgba_img.tobytes() assert rgba_bytes == image.copy().convert("RGBA").tobytes() # Test lazy mime type raw_img = await client.get_image(CameraMimeType.PNG.with_lazy_suffix) - assert isinstance(raw_img, ViamImage) - assert raw_img.image is None + assert isinstance(raw_img, RawImage) assert raw_img.data == image.tobytes() assert raw_img.mime_type == CameraMimeType.PNG # Test unknown mime type raw_img = await client.get_image("unknown") - assert isinstance(raw_img, ViamImage) - assert raw_img.image is None - assert raw_img.data == image.tobytes() - assert raw_img.mime_type == CameraMimeType.UNSUPPORTED + assert isinstance(raw_img, RawImage) + assert raw_img.mime_type == "unknown" @pytest.mark.asyncio async def test_get_images(self, camera: MockCamera, service: CameraRPCService, image: Image.Image, metadata: ResponseMetadata): @@ -286,6 +287,7 @@ async def test_get_images(self, camera: MockCamera, service: CameraRPCService, i imgs, md = await client.get_images(timeout=1.82) assert isinstance(imgs[0], NamedImage) assert imgs[0].name == camera.name + assert imgs[0].image is not None assert imgs[0].image.tobytes() == image.tobytes() assert md == metadata assert camera.timeout == loose_approx(1.82) diff --git a/tests/test_data_client.py b/tests/test_data_client.py index 306bf1f87..d3c712a1d 100644 --- a/tests/test_data_client.py +++ b/tests/test_data_client.py @@ -36,6 +36,7 @@ TAGS = ["tag"] BBOX_LABEL = "bbox_label" BBOX_LABELS = [BBOX_LABEL] +DATASET_ID = "VIAM_DATASET_1" FILTER = create_filter( component_name=COMPONENT_NAME, component_type=COMPONENT_TYPE, @@ -51,6 +52,7 @@ end_time=END_DATETIME, tags=TAGS, bbox_labels=BBOX_LABELS, + dataset_id=DATASET_ID, ) FILE_ID = "file_id" @@ -248,6 +250,22 @@ async def test_get_database_connection(self, service: MockData): async def test_configure_database_user(self, service: MockData): assert True + @pytest.mark.asyncio + async def test_add_binary_data_to_dataset_by_ids(self, service: MockData): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + await client.add_binary_data_to_dataset_by_ids(binary_ids=BINARY_IDS, dataset_id=DATASET_ID) + assert service.added_data_ids == BINARY_IDS + assert service.dataset_id == DATASET_ID + + @pytest.mark.asyncio + async def test_remove_binary_data_to_dataset_by_ids(self, service: MockData): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + await client.remove_binary_data_from_dataset_by_ids(binary_ids=BINARY_IDS, dataset_id=DATASET_ID) + assert service.removed_data_ids == BINARY_IDS + assert service.dataset_id == DATASET_ID + def assert_filter(self, filter: Filter) -> None: assert filter.component_name == COMPONENT_NAME assert filter.component_type == COMPONENT_TYPE diff --git a/tests/test_dataset.py b/tests/test_dataset.py new file mode 100644 index 000000000..44f3ba396 --- /dev/null +++ b/tests/test_dataset.py @@ -0,0 +1,59 @@ +import pytest +from google.protobuf.timestamp_pb2 import Timestamp +from grpclib.testing import ChannelFor + +from viam.app.data_client import DataClient +from viam.proto.app.dataset import Dataset + +from .mocks.services import MockDataset + +CREATED_ID = "VIAM_DATASET_0" +ID = "VIAM_DATASET_1" +NAME = "dataset" +ORG_ID = "org_id" +SECONDS = 978310861 +NANOS = 0 +TIME = Timestamp(seconds=SECONDS, nanos=NANOS) +DATASET = Dataset(id=ID, name=NAME, organization_id=ORG_ID, time_created=TIME) +DATASETS = [DATASET] +AUTH_TOKEN = "auth_token" +DATA_SERVICE_METADATA = {"authorization": f"Bearer {AUTH_TOKEN}"} + + +@pytest.fixture(scope="function") +def service() -> MockDataset: + return MockDataset(CREATED_ID, DATASETS) + + +class TestClient: + @pytest.mark.asyncio + async def test_create_dataset(self, service: MockDataset): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + id = await client.create_dataset(NAME, ORG_ID) + assert service.name == NAME + assert service.org_id == ORG_ID + assert id == CREATED_ID + + @pytest.mark.asyncio + async def test_delete_dataset(self, service: MockDataset): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + await client.delete_dataset(ID) + assert service.deleted_id == ID + + @pytest.mark.asyncio + async def test_list_datasets_by_ids(self, service: MockDataset): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + datasets = await client.list_dataset_by_ids([ID]) + assert service.ids == [ID] + assert datasets == DATASETS + + @pytest.mark.asyncio + async def test_list_datasets_by_organization_id(self, service: MockDataset): + async with ChannelFor([service]) as channel: + client = DataClient(channel, DATA_SERVICE_METADATA) + datasets = await client.list_datasets_by_organization_id(ORG_ID) + assert service.org_id == ORG_ID + assert datasets == DATASETS diff --git a/tests/test_generic.py b/tests/test_generic_component.py similarity index 91% rename from tests/test_generic.py rename to tests/test_generic_component.py index 60220db94..e03fd12e1 100644 --- a/tests/test_generic.py +++ b/tests/test_generic_component.py @@ -8,11 +8,11 @@ from viam.utils import dict_to_struct, struct_to_dict from . import loose_approx -from .mocks.components import GEOMETRIES, MockGeneric +from .mocks.components import GEOMETRIES, MockGenericComponent -class TestGeneric: - generic = MockGeneric(name="generic") +class TestGenericComponent: + generic = MockGenericComponent(name="generic") @pytest.mark.asyncio async def test_do(self): @@ -30,7 +30,7 @@ class TestService: @classmethod def setup_class(cls): cls.name = "generic" - cls.generic = MockGeneric(name=cls.name) + cls.generic = MockGenericComponent(name=cls.name) cls.manager = ResourceManager([cls.generic]) cls.service = GenericRPCService(cls.manager) @@ -57,7 +57,7 @@ class TestClient: @classmethod def setup_class(cls): cls.name = "generic" - cls.generic = MockGeneric(name=cls.name) + cls.generic = MockGenericComponent(name=cls.name) cls.manager = ResourceManager([cls.generic]) cls.service = GenericRPCService(cls.manager) diff --git a/tests/test_generic_service.py b/tests/test_generic_service.py new file mode 100644 index 000000000..217f3da2f --- /dev/null +++ b/tests/test_generic_service.py @@ -0,0 +1,57 @@ +import pytest +from grpclib.testing import ChannelFor + +from viam.components.generic import GenericClient, GenericRPCService +from viam.proto.common import DoCommandRequest, DoCommandResponse +from viam.proto.component.generic import GenericServiceStub +from viam.resource.manager import ResourceManager +from viam.utils import dict_to_struct, struct_to_dict + +from . import loose_approx +from .mocks.services import MockGenericService + + +class TestGenericService: + generic = MockGenericService(name="generic") + + @pytest.mark.asyncio + async def test_do(self): + result = await self.generic.do_command({"command": "args"}, timeout=1.82) + assert result == {"command": True} + assert self.generic.timeout == loose_approx(1.82) + + +class TestService: + @classmethod + def setup_class(cls): + cls.name = "generic" + cls.generic = MockGenericService(name=cls.name) + cls.manager = ResourceManager([cls.generic]) + cls.service = GenericRPCService(cls.manager) + + @pytest.mark.asyncio + async def test_do(self): + async with ChannelFor([self.service]) as channel: + client = GenericServiceStub(channel) + request = DoCommandRequest(name=self.name, command=dict_to_struct({"command": "args"})) + response: DoCommandResponse = await client.DoCommand(request, timeout=4.4) + result = struct_to_dict(response.result) + assert result == {"command": True} + assert self.generic.timeout == loose_approx(4.4) + + +class TestClient: + @classmethod + def setup_class(cls): + cls.name = "generic" + cls.generic = MockGenericService(name=cls.name) + cls.manager = ResourceManager([cls.generic]) + cls.service = GenericRPCService(cls.manager) + + @pytest.mark.asyncio + async def test_do(self): + async with ChannelFor([self.service]) as channel: + client = GenericClient(self.name, channel) + result = await client.do_command({"command": "args"}, timeout=7.86) + assert result == {"command": True} + assert self.generic.timeout == loose_approx(7.86) diff --git a/tests/test_module.py b/tests/test_module.py index a531060c9..46d49f1a5 100644 --- a/tests/test_module.py +++ b/tests/test_module.py @@ -1,8 +1,6 @@ -import asyncio from unittest import mock import pytest -import pytest_asyncio from grpclib.testing import ChannelFor from viam.errors import GRPCError @@ -32,17 +30,8 @@ from .test_robot import service as robot_service # noqa: F401 -@pytest.fixture(scope="class") -def event_loop(): - """Overrides pytest default function scoped event loop""" - policy = asyncio.get_event_loop_policy() - loop = policy.new_event_loop() - yield loop - loop.close() - - -@pytest_asyncio.fixture(scope="class") -async def module(request, event_loop): +@pytest.fixture +async def module(request): module = Module("some_fake_address") module.add_model_from_registry(Gizmo.SUBTYPE, MyGizmo.MODEL) request.cls.module = module @@ -55,12 +44,9 @@ def service(module: Module) -> ModuleRPCService: return ModuleRPCService(module) -@pytest.mark.usefixtures("module") class TestModule: - module: Module - @pytest.mark.asyncio - async def test_add_resource(self): + async def test_add_resource(self, module: Module): req = AddResourceRequest( config=ComponentConfig( name="gizmo1", @@ -71,9 +57,9 @@ async def test_add_resource(self): api="acme:component:gizmo", ) ) - assert Gizmo.get_resource_name("gizmo1") not in self.module.server.resources - await self.module.add_resource(req) - assert Gizmo.get_resource_name("gizmo1") in self.module.server.resources + assert Gizmo.get_resource_name("gizmo1") not in module.server.resources + await module.add_resource(req) + assert Gizmo.get_resource_name("gizmo1") in module.server.resources req = AddResourceRequest( config=ComponentConfig( @@ -85,13 +71,15 @@ async def test_add_resource(self): api="acme:service:summation", ) ) - assert SummationService.get_resource_name("mysum1") not in self.module.server.resources - await self.module.add_resource(req) - assert SummationService.get_resource_name("mysum1") in self.module.server.resources + assert SummationService.get_resource_name("mysum1") not in module.server.resources + await module.add_resource(req) + assert SummationService.get_resource_name("mysum1") in module.server.resources @pytest.mark.asyncio - async def test_reconfigure_resource(self): - gizmo = self.module.server.get_resource(MyGizmo, Gizmo.get_resource_name("gizmo1")) + async def test_reconfigure_resource(self, module: Module): + await self.test_add_resource(module) + + gizmo = module.server.get_resource(MyGizmo, Gizmo.get_resource_name("gizmo1")) assert gizmo.my_arg == "arg1" req = ReconfigureResourceRequest( config=ComponentConfig( @@ -103,10 +91,10 @@ async def test_reconfigure_resource(self): api="acme:component:gizmo", ) ) - await self.module.reconfigure_resource(req) + await module.reconfigure_resource(req) assert gizmo.my_arg == "arg2" - summer = self.module.server.get_resource(MySummationService, SummationService.get_resource_name("mysum1")) + summer = module.server.get_resource(MySummationService, SummationService.get_resource_name("mysum1")) assert summer.subtract is False req = ReconfigureResourceRequest( config=ComponentConfig( @@ -118,14 +106,14 @@ async def test_reconfigure_resource(self): api="acme:service:summation", ) ) - await self.module.reconfigure_resource(req) + await module.reconfigure_resource(req) assert summer.subtract is True @pytest.mark.asyncio - async def test_add_resource_with_deps(self, robot_service: RobotService): # noqa: F811 + async def test_add_resource_with_deps(self, robot_service: RobotService, module: Module): # noqa: F811 async with ChannelFor([robot_service]) as channel: _ = mock.patch("viam.module.module.Module._connect_to_parent") - self.module.parent = await RobotClient.with_channel(channel, RobotClient.Options()) + module.parent = await RobotClient.with_channel(channel, RobotClient.Options()) req = AddResourceRequest( config=ComponentConfig( name="gizmo2", @@ -137,40 +125,42 @@ async def test_add_resource_with_deps(self, robot_service: RobotService): # noq ), dependencies=["rdk:component:arm/arm1", "rdk:service:mlmodel/mlmodel1"], ) - await self.module.add_resource(req) - assert Gizmo.get_resource_name("gizmo2") in self.module.server.resources + await module.add_resource(req) + assert Gizmo.get_resource_name("gizmo2") in module.server.resources req = RemoveResourceRequest(name="acme:component:gizmo/gizmo2") - await self.module.remove_resource(req) - assert Gizmo.get_resource_name("gizmo2") not in self.module.server.resources + await module.remove_resource(req) + assert Gizmo.get_resource_name("gizmo2") not in module.server.resources @pytest.mark.asyncio - async def test_remove_resource(self): - gizmo = self.module.server.get_resource(MyGizmo, Gizmo.get_resource_name("gizmo1")) + async def test_remove_resource(self, module: Module): + await self.test_add_resource(module) + + gizmo = module.server.get_resource(MyGizmo, Gizmo.get_resource_name("gizmo1")) assert gizmo.closed is False - assert Gizmo.get_resource_name("gizmo1") in self.module.server.resources + assert Gizmo.get_resource_name("gizmo1") in module.server.resources req = RemoveResourceRequest(name="acme:component:gizmo/gizmo1") - await self.module.remove_resource(req) - assert Gizmo.get_resource_name("gizmo1") not in self.module.server.resources + await module.remove_resource(req) + assert Gizmo.get_resource_name("gizmo1") not in module.server.resources assert gizmo.closed is True with mock.patch("tests.mocks.module.summation.MySummationService.close") as mocked: - assert SummationService.get_resource_name("mysum1") in self.module.server.resources + assert SummationService.get_resource_name("mysum1") in module.server.resources req = RemoveResourceRequest(name="acme:service:summation/mysum1") mocked.assert_not_called() - await self.module.remove_resource(req) - assert SummationService.get_resource_name("mysum1") not in self.module.server.resources + await module.remove_resource(req) + assert SummationService.get_resource_name("mysum1") not in module.server.resources # test default close mocked.assert_called_once() @pytest.mark.asyncio - async def test_ready(self): + async def test_ready(self, module: Module): p_addr = "SOME_FAKE_ADDRESS" - assert self.module._parent_address != p_addr + assert module._parent_address != p_addr req = ReadyRequest(parent_address=p_addr) - resp = await self.module.ready(req) - assert self.module._parent_address == p_addr + resp = await module.ready(req) + assert module._parent_address == p_addr assert len(resp.handlermap.handlers) == 2 handler = resp.handlermap.handlers[0] @@ -195,7 +185,7 @@ def test_add_model_from_registry(self): mod.add_model_from_registry(Subtype.from_string("fake:fake:fake"), Model.from_string("faker:faker:faker")) @pytest.mark.asyncio - async def test_multiple_resources_same_model(self): + async def test_multiple_resources_same_model(self, module: Module): req = AddResourceRequest( config=ComponentConfig( name="gizmo1", @@ -206,7 +196,7 @@ async def test_multiple_resources_same_model(self): api="acme:component:gizmo", ) ) - await self.module.add_resource(req) + await module.add_resource(req) req = AddResourceRequest( config=ComponentConfig( name="gizmo2", @@ -217,17 +207,20 @@ async def test_multiple_resources_same_model(self): api="acme:component:gizmo", ) ) - await self.module.add_resource(req) + await module.add_resource(req) - g1 = self.module.server.get_resource(Gizmo, Gizmo.get_resource_name("gizmo1")) - g2 = self.module.server.get_resource(Gizmo, Gizmo.get_resource_name("gizmo2")) + g1 = module.server.get_resource(Gizmo, Gizmo.get_resource_name("gizmo1")) + g2 = module.server.get_resource(Gizmo, Gizmo.get_resource_name("gizmo2")) assert await g1.do_one("arg1") is True assert await g2.do_one("arg1") is False assert await g1.do_one("arg2") is False assert await g2.do_one("arg2") is True - async def test_validate_config(self): + @pytest.mark.asyncio + async def test_validate_config(self, module: Module): + await self.test_add_resource(module) + req = ValidateConfigRequest( config=( ComponentConfig( @@ -240,7 +233,7 @@ async def test_validate_config(self): ) ) ) - response = await self.module.validate_config(req) + response = await module.validate_config(req) assert response.dependencies == ["motor1"] req = ValidateConfigRequest( @@ -256,7 +249,7 @@ async def test_validate_config(self): ) ) with pytest.raises(GRPCError, match=r".*Status.INVALID_ARGUMENT.*"): - response = await self.module.validate_config(req) + response = await module.validate_config(req) req = ValidateConfigRequest( config=( @@ -271,7 +264,7 @@ async def test_validate_config(self): ) ) with pytest.raises(GRPCError, match=r".*Status.INVALID_ARGUMENT.*"): - response = await self.module.validate_config(req) + response = await module.validate_config(req) req = ValidateConfigRequest( config=( @@ -286,7 +279,7 @@ async def test_validate_config(self): ) ) with pytest.raises(GRPCError, match=r".*Status.INVALID_ARGUMENT.*"): - response = await self.module.validate_config(req) + response = await module.validate_config(req) req = ValidateConfigRequest( config=ComponentConfig( @@ -298,7 +291,7 @@ async def test_validate_config(self): api="acme:service:summation", ) ) - response = await self.module.validate_config(req) + response = await module.validate_config(req) assert response.dependencies == [] diff --git a/tests/test_motion_service.py b/tests/test_motion_service.py index 13bb4981c..9ee120200 100644 --- a/tests/test_motion_service.py +++ b/tests/test_motion_service.py @@ -161,14 +161,36 @@ async def test_get_pose(self, service: MockMotion): @pytest.mark.asyncio async def test_move_on_map(self, service: MockMotion): - component_rn = Arm.get_resource_name("move_on_map_arm") + component_rn = Base.get_resource_name("move_on_globe_base") slam_rn = ResourceName(namespace="rdk", type="service", subtype="slam", name="move_on_map_slam") async with ChannelFor([service]) as channel: client = MotionClient(MOTION_SERVICE_NAME, channel) - success = await client.move_on_map(component_rn, Pose(), slam_service_name=slam_rn) + execution_id = await client.move_on_map( + component_rn, + Pose(), + slam_service_name=slam_rn, + configuration=MOTION_CONFIGURATION, + ) assert service.component_name == component_rn assert service.slam_service == slam_rn - assert success + assert service.execution_id == execution_id + assert service.extra == {} + assert service.timeout is None + timeout = 50 + extra = {"max_iter": 1} + execution_id = await client.move_on_map( + component_rn, + Pose(), + slam_service_name=slam_rn, + configuration=MOTION_CONFIGURATION, + extra=extra, + timeout=timeout, + ) + assert service.component_name == component_rn + assert service.slam_service == slam_rn + assert service.execution_id == execution_id + assert service.extra == extra + assert service.timeout == loose_approx(timeout) @pytest.mark.asyncio async def test_move_on_globe(self, service: MockMotion): diff --git a/tests/test_motor.py b/tests/test_motor.py index 18e3d81f9..e9a9c825f 100644 --- a/tests/test_motor.py +++ b/tests/test_motor.py @@ -156,9 +156,9 @@ async def test_set_power(self, motor: MockMotor, service: MotorRPCService): async with ChannelFor([service]) as channel: client = MotorServiceStub(channel) request = SetPowerRequest(name=motor.name, power_pct=13) - await client.SetPower(request, timeout=1.23) + await client.SetPower(request, timeout=2.34) assert motor.power == 13 - assert motor.timeout == loose_approx(1.23) + assert motor.timeout == loose_approx(2.34) @pytest.mark.asyncio async def test_get_position(self, motor: MockMotor, service: MotorRPCService): diff --git a/tests/test_movement_sensor.py b/tests/test_movement_sensor.py index 8f7388930..54617b2e7 100644 --- a/tests/test_movement_sensor.py +++ b/tests/test_movement_sensor.py @@ -54,7 +54,13 @@ position_supported=True, compass_heading_supported=False, ) -ACCURACY = {"foo": 0.1, "bar": 2, "baz": 3.14} +ACCURACY = MovementSensor.Accuracy( + accuracy={"foo": 0.1, "bar": 2, "baz": 3.14}, + position_hdop=0.0, + position_vdop=0.0, + position_nmea_gga_fix=0, + compass_degrees_error=0.0, +) EXTRA_PARAMS = {"foo": "bar", "baz": [1, 2, 3]} READINGS = {"a": 1, "b": 2, "c": 3} @@ -143,7 +149,11 @@ async def test_get_properties(self, movement_sensor: MockMovementSensor): async def test_get_accuracy(self, movement_sensor: MockMovementSensor): assert movement_sensor.extra is None value = await movement_sensor.get_accuracy(extra=EXTRA_PARAMS) - assert value == ACCURACY + assert value.accuracy == pytest.approx(ACCURACY.accuracy) + assert value.position_hdop == pytest.approx(ACCURACY.position_hdop) + assert value.position_vdop == pytest.approx(ACCURACY.position_vdop) + assert value.position_nmea_gga_fix == pytest.approx(ACCURACY.position_nmea_gga_fix) + assert value.compass_degrees_error == pytest.approx(ACCURACY.compass_degrees_error) assert movement_sensor.extra == EXTRA_PARAMS @pytest.mark.asyncio @@ -280,8 +290,11 @@ async def test_get_accuracy(self, movement_sensor: MockMovementSensor, service: request = GetAccuracyRequest(name=movement_sensor.name, extra=dict_to_struct(EXTRA_PARAMS)) assert movement_sensor.extra is None response: GetAccuracyResponse = await client.GetAccuracy(request, timeout=7.89) - assert response.accuracy == pytest.approx(ACCURACY) - assert movement_sensor.extra == EXTRA_PARAMS + assert response.accuracy == pytest.approx(ACCURACY.accuracy) + assert response.position_hdop == pytest.approx(ACCURACY.position_hdop) + assert response.position_vdop == pytest.approx(ACCURACY.position_vdop) + assert response.position_nmea_gga_fix == pytest.approx(ACCURACY.position_nmea_gga_fix) + assert response.compass_degrees_error == pytest.approx(ACCURACY.compass_degrees_error) assert movement_sensor.timeout == loose_approx(7.89) @pytest.mark.asyncio @@ -392,8 +405,11 @@ async def test_get_accuracy(self, movement_sensor: MockMovementSensor, service: client = MovementSensorClient(movement_sensor.name, channel) assert movement_sensor.extra is None value = await client.get_accuracy(extra=EXTRA_PARAMS, timeout=7.89) - assert value == pytest.approx(ACCURACY) - assert movement_sensor.extra == EXTRA_PARAMS + assert value.accuracy == pytest.approx(ACCURACY.accuracy) + assert value.position_hdop == pytest.approx(ACCURACY.position_hdop) + assert value.position_vdop == pytest.approx(ACCURACY.position_vdop) + assert value.position_nmea_gga_fix == pytest.approx(ACCURACY.position_nmea_gga_fix) + assert value.compass_degrees_error == pytest.approx(ACCURACY.compass_degrees_error) assert movement_sensor.timeout == loose_approx(7.89) @pytest.mark.asyncio diff --git a/tests/test_slam.py b/tests/test_slam.py index 0a0dfdc83..6f6d89958 100644 --- a/tests/test_slam.py +++ b/tests/test_slam.py @@ -7,8 +7,6 @@ from viam.proto.service.slam import ( GetInternalStateRequest, GetInternalStateResponse, - GetLatestMapInfoRequest, - GetLatestMapInfoResponse, GetPointCloudMapRequest, GetPointCloudMapResponse, GetPositionRequest, @@ -44,9 +42,10 @@ async def test_get_position(self): assert pos == MockSLAM.POSITION @pytest.mark.asyncio - async def test_get_latest_map_info(self): - time = await self.slam.get_latest_map_info() - assert time == MockSLAM.LAST_UPDATE + async def test_do(self): + command = {"command": "args"} + resp = await self.slam.do_command(command) + assert resp == {"command": command} @pytest.mark.asyncio async def test_get_properties(self): @@ -54,12 +53,6 @@ async def test_get_properties(self): assert cloud_slam == MockSLAM.CLOUD_SLAM assert mapping_mode == MockSLAM.MAPPING_MODE - @pytest.mark.asyncio - async def test_do(self): - command = {"command": "args"} - resp = await self.slam.do_command(command) - assert resp == {"command": command} - class TestService: @classmethod @@ -95,14 +88,6 @@ async def test_get_position(self): response: GetPositionResponse = await client.GetPosition(request) assert response.pose == MockSLAM.POSITION - @pytest.mark.asyncio - async def test_get_latest_map_info(self): - async with ChannelFor([self.service]) as channel: - client = SLAMServiceStub(channel) - request = GetLatestMapInfoRequest(name=self.name) - response: GetLatestMapInfoResponse = await client.GetLatestMapInfo(request) - assert response.last_map_update.ToDatetime() == MockSLAM.LAST_UPDATE - @pytest.mark.asyncio async def test_get_properties(self): async with ChannelFor([self.service]) as channel: @@ -138,7 +123,7 @@ async def test_get_internal_state(self): response = await client.get_internal_state() assert len(response) == len(MockSLAM.INTERNAL_STATE_CHUNKS) for i, chunk in enumerate(response): - assert chunk.internal_state_chunk == MockSLAM.INTERNAL_STATE_CHUNKS[i] + assert chunk == MockSLAM.INTERNAL_STATE_CHUNKS[i] @pytest.mark.asyncio async def test_get_point_cloud_map(self): @@ -147,7 +132,7 @@ async def test_get_point_cloud_map(self): response = await client.get_point_cloud_map() assert len(response) == len(MockSLAM.POINT_CLOUD_PCD_CHUNKS) for i, chunk in enumerate(response): - assert chunk.point_cloud_pcd_chunk == MockSLAM.POINT_CLOUD_PCD_CHUNKS[i] + assert chunk == MockSLAM.POINT_CLOUD_PCD_CHUNKS[i] @pytest.mark.asyncio async def test_get_position(self): @@ -156,13 +141,6 @@ async def test_get_position(self): response = await client.get_position() assert response == MockSLAM.POSITION - @pytest.mark.asyncio - async def test_get_latest_map_info(self): - async with ChannelFor([self.service]) as channel: - client = SLAMClient(self.name, channel) - response = await client.get_latest_map_info() - assert response == MockSLAM.LAST_UPDATE - @pytest.mark.asyncio async def test_get_properties(self): async with ChannelFor([self.service]) as channel: diff --git a/tox.ini b/tox.ini index 7eb008d3e..fdb02ebbe 100644 --- a/tox.ini +++ b/tox.ini @@ -11,9 +11,17 @@ envlist = [testenv] allowlist_externals = make +deps = + coverage + pyright + pytest + pytest-asyncio +extras = + mlmodel recreate = True commands = - make test + make _typecheck + make _test [testenv:docs] allowlist_externals = From eb997046118f2b128cfcfded1da3944a13894452 Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Tue, 27 Feb 2024 11:13:15 -0500 Subject: [PATCH 17/20] ignore unused import errors --- src/viam/components/generic/__init__.py | 2 +- src/viam/components/sensor/__init__.py | 2 +- src/viam/services/generic/__init__.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/viam/components/generic/__init__.py b/src/viam/components/generic/__init__.py index a199d1af7..3ffd6ec07 100644 --- a/src/viam/components/generic/__init__.py +++ b/src/viam/components/generic/__init__.py @@ -1,4 +1,4 @@ -import viam.gen.component.generic.v1.generic_pb2 # Need this import for Generic service descriptors to resolve +import viam.gen.component.generic.v1.generic_pb2 # noqa: F401 - need this import for Generic service descriptors to resolve from viam.resource.registry import Registry, ResourceRegistration from .client import GenericClient diff --git a/src/viam/components/sensor/__init__.py b/src/viam/components/sensor/__init__.py index 716276aa4..82ee8ec89 100644 --- a/src/viam/components/sensor/__init__.py +++ b/src/viam/components/sensor/__init__.py @@ -1,4 +1,4 @@ -import viam.gen.component.sensor.v1.sensor_pb2 # Need this import for Sensor service descriptors to resolve +import viam.gen.component.sensor.v1.sensor_pb2 # noqa: F401 - need this import for Sensor service descriptors to resolve from viam.resource.registry import Registry, ResourceRegistration from .client import SensorClient diff --git a/src/viam/services/generic/__init__.py b/src/viam/services/generic/__init__.py index 509803fec..00f36aadf 100644 --- a/src/viam/services/generic/__init__.py +++ b/src/viam/services/generic/__init__.py @@ -1,4 +1,4 @@ -import viam.gen.service.generic.v1.generic_pb2 # Need this import for Generic service descriptors to resolve +import viam.gen.service.generic.v1.generic_pb2 # noqa: F401 - need this import for Generic service descriptors to resolve from viam.resource.registry import Registry, ResourceRegistration from .client import GenericClient From 18256af7fad9f7648484acf001db2fcd287280bb Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Tue, 27 Feb 2024 11:25:08 -0500 Subject: [PATCH 18/20] use importlib to check if numpy is installed --- src/viam/services/mlmodel/__init__.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/viam/services/mlmodel/__init__.py b/src/viam/services/mlmodel/__init__.py index ae42f5be2..f5900cc98 100644 --- a/src/viam/services/mlmodel/__init__.py +++ b/src/viam/services/mlmodel/__init__.py @@ -1,8 +1,7 @@ -try: - import numpy -except ImportError: - import warnings +import warnings +from importlib import util +if util.find_spec("numpy") is None: warnings.warn( ( """MLModel support in the Viam Python SDK requires the installation of an @@ -10,7 +9,7 @@ e.g. `pip install viam-sdk[mlmodel]` or the equivalent update in your dependency manager.""" ), ) - raise + raise ImportError from viam.proto.service.mlmodel import File, LabelType, Metadata, TensorInfo from viam.resource.registry import Registry, ResourceRegistration @@ -21,4 +20,8 @@ __all__ = ["File", "LabelType", "Metadata", "MLModel", "MLModelClient", "TensorInfo"] -Registry.register_subtype(ResourceRegistration(MLModel, MLModelRPCService, lambda name, channel: MLModelClient(name, channel))) +Registry.register_subtype( + ResourceRegistration( + MLModel, MLModelRPCService, lambda name, channel: MLModelClient(name, channel) + ) +) From 82f250d512e221412fce72f18a6d214daefae7aa Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Tue, 27 Feb 2024 11:25:59 -0500 Subject: [PATCH 19/20] format --- src/viam/app/app_client.py | 588 ++- src/viam/app/billing_client.py | 36 +- src/viam/app/data_client.py | 303 +- src/viam/app/ml_training_client.py | 26 +- src/viam/app/viam_client.py | 8 +- src/viam/components/arm/__init__.py | 13 +- src/viam/components/arm/client.py | 40 +- src/viam/components/arm/service.py | 74 +- .../components/audio_input/audio_input.py | 4 +- src/viam/components/audio_input/client.py | 46 +- src/viam/components/audio_input/service.py | 52 +- src/viam/components/base/__init__.py | 13 +- src/viam/components/base/base.py | 4 +- src/viam/components/base/client.py | 20 +- src/viam/components/base/service.py | 59 +- src/viam/components/board/__init__.py | 14 +- src/viam/components/board/board.py | 77 +- src/viam/components/board/client.py | 74 +- src/viam/components/board/service.py | 124 +- src/viam/components/camera/camera.py | 21 +- src/viam/components/camera/client.py | 49 +- src/viam/components/camera/service.py | 71 +- src/viam/components/component_base.py | 26 +- src/viam/components/encoder/client.py | 23 +- src/viam/components/encoder/service.py | 58 +- src/viam/components/gantry/__init__.py | 21 +- src/viam/components/gantry/client.py | 27 +- src/viam/components/gantry/gantry.py | 32 +- src/viam/components/gantry/service.py | 61 +- src/viam/components/generic/client.py | 14 +- src/viam/components/generic/service.py | 30 +- src/viam/components/gripper/__init__.py | 11 +- src/viam/components/gripper/client.py | 12 +- src/viam/components/gripper/service.py | 43 +- src/viam/components/input/__init__.py | 15 +- src/viam/components/input/client.py | 54 +- src/viam/components/input/input.py | 29 +- src/viam/components/input/service.py | 68 +- src/viam/components/motor/__init__.py | 13 +- src/viam/components/motor/client.py | 46 +- src/viam/components/motor/service.py | 97 +- src/viam/components/movement_sensor/client.py | 61 +- .../movement_sensor/movement_sensor.py | 71 +- .../components/movement_sensor/service.py | 117 +- src/viam/components/pose_tracker/client.py | 22 +- src/viam/components/pose_tracker/service.py | 40 +- src/viam/components/power_sensor/client.py | 35 +- .../components/power_sensor/power_sensor.py | 30 +- src/viam/components/power_sensor/service.py | 61 +- src/viam/components/sensor/client.py | 29 +- src/viam/components/sensor/sensor.py | 6 +- src/viam/components/sensor/service.py | 32 +- src/viam/components/servo/__init__.py | 17 +- src/viam/components/servo/client.py | 20 +- src/viam/components/servo/service.py | 48 +- src/viam/components/servo/servo.py | 25 +- src/viam/errors.py | 13 +- src/viam/gen/app/agent/v1/agent_grpc.py | 76 +- src/viam/gen/app/agent/v1/agent_pb2.py | 63 +- src/viam/gen/app/agent/v1/agent_pb2.pyi | 417 +- .../gen/app/cloudslam/v1/cloud_slam_grpc.py | 123 +- .../gen/app/cloudslam/v1/cloud_slam_pb2.py | 19 +- .../gen/app/cloudslam/v1/cloud_slam_pb2.pyi | 399 +- src/viam/gen/app/data/v1/data_grpc.py | 372 +- src/viam/gen/app/data/v1/data_pb2.py | 16 +- src/viam/gen/app/data/v1/data_pb2.pyi | 1342 +++++-- src/viam/gen/app/dataset/v1/dataset_grpc.py | 102 +- src/viam/gen/app/dataset/v1/dataset_pb2.py | 16 +- src/viam/gen/app/dataset/v1/dataset_pb2.pyi | 160 +- .../gen/app/datasync/v1/data_sync_grpc.py | 66 +- src/viam/gen/app/datasync/v1/data_sync_pb2.py | 40 +- .../gen/app/datasync/v1/data_sync_pb2.pyi | 486 ++- .../gen/app/mltraining/v1/ml_training_grpc.py | 105 +- .../gen/app/mltraining/v1/ml_training_pb2.py | 119 +- .../gen/app/mltraining/v1/ml_training_pb2.pyi | 249 +- src/viam/gen/app/packages/v1/packages_grpc.py | 84 +- src/viam/gen/app/packages/v1/packages_pb2.py | 40 +- src/viam/gen/app/packages/v1/packages_pb2.pyi | 400 +- src/viam/gen/app/v1/app_grpc.py | 1258 +++++- src/viam/gen/app/v1/app_pb2.py | 217 +- src/viam/gen/app/v1/app_pb2.pyi | 3570 +++++++++++------ src/viam/gen/app/v1/billing_grpc.py | 84 +- src/viam/gen/app/v1/billing_pb2.py | 14 +- src/viam/gen/app/v1/billing_pb2.pyi | 380 +- src/viam/gen/app/v1/end_user_grpc.py | 47 +- src/viam/gen/app/v1/end_user_pb2.py | 13 +- src/viam/gen/app/v1/end_user_pb2.pyi | 28 +- src/viam/gen/app/v1/robot_grpc.py | 88 +- src/viam/gen/app/v1/robot_pb2.py | 61 +- src/viam/gen/app/v1/robot_pb2.pyi | 1433 +++++-- src/viam/gen/common/v1/common_pb2.py | 26 +- src/viam/gen/common/v1/common_pb2.pyi | 842 ++-- src/viam/gen/component/arm/v1/arm_grpc.py | 177 +- src/viam/gen/component/arm/v1/arm_pb2.py | 89 +- src/viam/gen/component/arm/v1/arm_pb2.pyi | 236 +- .../audioinput/v1/audioinput_grpc.py | 105 +- .../component/audioinput/v1/audioinput_pb2.py | 53 +- .../audioinput/v1/audioinput_pb2.pyi | 202 +- src/viam/gen/component/base/v1/base_grpc.py | 177 +- src/viam/gen/component/base/v1/base_pb2.py | 87 +- src/viam/gen/component/base/v1/base_pb2.pyi | 261 +- src/viam/gen/component/board/v1/board_grpc.py | 249 +- src/viam/gen/component/board/v1/board_pb2.py | 121 +- src/viam/gen/component/board/v1/board_pb2.pyi | 406 +- .../gen/component/camera/v1/camera_grpc.py | 141 +- .../gen/component/camera/v1/camera_pb2.py | 77 +- .../gen/component/camera/v1/camera_pb2.pyi | 414 +- .../gen/component/encoder/v1/encoder_grpc.py | 105 +- .../gen/component/encoder/v1/encoder_pb2.py | 59 +- .../gen/component/encoder/v1/encoder_pb2.pyi | 157 +- .../gen/component/gantry/v1/gantry_grpc.py | 159 +- .../gen/component/gantry/v1/gantry_pb2.py | 83 +- .../gen/component/gantry/v1/gantry_pb2.pyi | 234 +- .../gen/component/generic/v1/generic_grpc.py | 51 +- .../gen/component/generic/v1/generic_pb2.py | 37 +- .../gen/component/generic/v1/generic_pb2.pyi | 3 +- .../gen/component/gripper/v1/gripper_grpc.py | 123 +- .../gen/component/gripper/v1/gripper_pb2.py | 65 +- .../gen/component/gripper/v1/gripper_pb2.pyi | 125 +- .../v1/input_controller_grpc.py | 123 +- .../v1/input_controller_pb2.py | 65 +- .../v1/input_controller_pb2.pyi | 249 +- src/viam/gen/component/motor/v1/motor_grpc.py | 213 +- src/viam/gen/component/motor/v1/motor_pb2.py | 103 +- src/viam/gen/component/motor/v1/motor_pb2.pyi | 320 +- .../movementsensor/v1/movementsensor_grpc.py | 213 +- .../movementsensor/v1/movementsensor_pb2.py | 87 +- .../movementsensor/v1/movementsensor_pb2.pyi | 431 +- .../posetracker/v1/pose_tracker_grpc.py | 69 +- .../posetracker/v1/pose_tracker_pb2.py | 45 +- .../posetracker/v1/pose_tracker_pb2.pyi | 84 +- .../powersensor/v1/powersensor_grpc.py | 105 +- .../powersensor/v1/powersensor_pb2.py | 59 +- .../powersensor/v1/powersensor_pb2.pyi | 109 +- .../gen/component/sensor/v1/sensor_grpc.py | 69 +- .../gen/component/sensor/v1/sensor_pb2.py | 45 +- .../gen/component/sensor/v1/sensor_pb2.pyi | 3 +- src/viam/gen/component/servo/v1/servo_grpc.py | 123 +- src/viam/gen/component/servo/v1/servo_pb2.py | 67 +- src/viam/gen/component/servo/v1/servo_pb2.pyi | 122 +- .../component/testecho/v1/testecho_grpc.py | 86 +- .../gen/component/testecho/v1/testecho_pb2.py | 24 +- .../component/testecho/v1/testecho_pb2.pyi | 75 +- src/viam/gen/module/v1/module_grpc.py | 105 +- src/viam/gen/module/v1/module_pb2.py | 14 +- src/viam/gen/module/v1/module_pb2.pyi | 226 +- .../proto/rpc/examples/echo/v1/echo_grpc.py | 66 +- .../proto/rpc/examples/echo/v1/echo_pb2.py | 24 +- .../proto/rpc/examples/echo/v1/echo_pb2.pyi | 54 +- .../echoresource/v1/echoresource_grpc.py | 65 +- .../echoresource/v1/echoresource_pb2.py | 17 +- .../echoresource/v1/echoresource_pb2.pyi | 63 +- .../examples/fileupload/v1/fileupload_grpc.py | 29 +- .../examples/fileupload/v1/fileupload_pb2.py | 17 +- .../examples/fileupload/v1/fileupload_pb2.pyi | 44 +- src/viam/gen/proto/rpc/v1/auth_grpc.py | 55 +- src/viam/gen/proto/rpc/v1/auth_pb2.py | 26 +- src/viam/gen/proto/rpc/v1/auth_pb2.pyi | 79 +- src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py | 18 +- src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi | 362 +- .../gen/proto/rpc/webrtc/v1/signaling_grpc.py | 84 +- .../gen/proto/rpc/webrtc/v1/signaling_pb2.py | 38 +- .../gen/proto/rpc/webrtc/v1/signaling_pb2.pyi | 594 ++- .../gen/provisioning/v1/provisioning_grpc.py | 83 +- .../gen/provisioning/v1/provisioning_pb2.py | 15 +- .../gen/provisioning/v1/provisioning_pb2.pyi | 207 +- src/viam/gen/robot/v1/robot_grpc.py | 321 +- src/viam/gen/robot/v1/robot_pb2.py | 145 +- src/viam/gen/robot/v1/robot_pb2.pyi | 876 ++-- .../datamanager/v1/data_manager_grpc.py | 51 +- .../datamanager/v1/data_manager_pb2.py | 37 +- .../datamanager/v1/data_manager_pb2.pyi | 29 +- .../gen/service/generic/v1/generic_grpc.py | 33 +- .../gen/service/generic/v1/generic_pb2.py | 29 +- .../gen/service/generic/v1/generic_pb2.pyi | 3 +- .../gen/service/mlmodel/v1/mlmodel_grpc.py | 48 +- .../gen/service/mlmodel/v1/mlmodel_pb2.py | 68 +- .../gen/service/mlmodel/v1/mlmodel_pb2.pyi | 567 ++- src/viam/gen/service/motion/v1/motion_grpc.py | 159 +- src/viam/gen/service/motion/v1/motion_pb2.py | 85 +- src/viam/gen/service/motion/v1/motion_pb2.pyi | 1118 ++++-- .../service/navigation/v1/navigation_grpc.py | 195 +- .../service/navigation/v1/navigation_pb2.py | 99 +- .../service/navigation/v1/navigation_pb2.pyi | 384 +- .../gen/service/sensors/v1/sensors_grpc.py | 69 +- .../gen/service/sensors/v1/sensors_pb2.py | 85 +- .../gen/service/sensors/v1/sensors_pb2.pyi | 162 +- src/viam/gen/service/shell/v1/shell_grpc.py | 51 +- src/viam/gen/service/shell/v1/shell_pb2.py | 29 +- src/viam/gen/service/shell/v1/shell_pb2.pyi | 46 +- src/viam/gen/service/slam/v1/slam_grpc.py | 105 +- src/viam/gen/service/slam/v1/slam_pb2.py | 61 +- src/viam/gen/service/slam/v1/slam_pb2.pyi | 132 +- src/viam/gen/service/vision/v1/vision_grpc.py | 123 +- src/viam/gen/service/vision/v1/vision_pb2.py | 67 +- src/viam/gen/service/vision/v1/vision_pb2.pyi | 424 +- src/viam/gen/stream/v1/stream_grpc.py | 65 +- src/viam/gen/stream/v1/stream_pb2.py | 13 +- src/viam/gen/stream/v1/stream_pb2.pyi | 58 +- src/viam/gen/tagger/v1/tagger_pb2.py | 14 +- src/viam/gen/tagger/v1/tagger_pb2.pyi | 14 +- src/viam/logging.py | 7 +- src/viam/media/__init__.py | 8 +- src/viam/media/viam_rgba_plugin.py | 24 +- src/viam/media/video.py | 30 +- src/viam/module/module.py | 46 +- src/viam/module/service.py | 16 +- src/viam/module/types.py | 12 +- src/viam/operations.py | 12 +- src/viam/proto/app/agent/__init__.py | 7 +- src/viam/proto/app/cloudslam/__init__.py | 5 +- src/viam/proto/app/datasync/__init__.py | 5 +- src/viam/proto/app/end_user.py | 7 +- src/viam/proto/app/mltraining/__init__.py | 5 +- .../proto/component/audioinput/__init__.py | 5 +- src/viam/proto/component/encoder/__init__.py | 5 +- src/viam/proto/component/generic/__init__.py | 5 +- src/viam/proto/component/gripper/__init__.py | 5 +- .../component/inputcontroller/__init__.py | 5 +- .../component/movementsensor/__init__.py | 5 +- .../proto/component/posetracker/__init__.py | 10 +- .../proto/component/powersensor/__init__.py | 5 +- src/viam/proto/component/testecho/__init__.py | 5 +- src/viam/proto/provisioning/__init__.py | 5 +- src/viam/proto/rpc/auth.py | 7 +- src/viam/proto/rpc/examples/echo/__init__.py | 5 +- .../rpc/examples/echoresource/__init__.py | 5 +- .../proto/rpc/examples/fileupload/__init__.py | 10 +- src/viam/proto/rpc/webrtc/grpc.py | 5 +- src/viam/proto/rpc/webrtc/signaling.py | 5 +- .../proto/service/datamanager/__init__.py | 5 +- src/viam/proto/service/generic/__init__.py | 5 +- src/viam/proto/service/mlmodel/__init__.py | 5 +- src/viam/proto/service/navigation/__init__.py | 5 +- src/viam/proto/service/sensors/__init__.py | 13 +- src/viam/resource/base.py | 16 +- src/viam/resource/manager.py | 22 +- src/viam/resource/registry.py | 50 +- src/viam/resource/rpc_service_base.py | 10 +- src/viam/resource/types.py | 23 +- src/viam/robot/client.py | 116 +- src/viam/robot/service.py | 76 +- src/viam/rpc/dial.py | 44 +- src/viam/rpc/server.py | 16 +- src/viam/rpc/signaling.py | 8 +- src/viam/services/generic/client.py | 10 +- src/viam/services/generic/service.py | 15 +- src/viam/services/mlmodel/client.py | 33 +- src/viam/services/mlmodel/mlmodel.py | 4 +- src/viam/services/mlmodel/service.py | 22 +- src/viam/services/mlmodel/utils.py | 36 +- src/viam/services/motion/client.py | 26 +- src/viam/services/navigation/__init__.py | 19 +- src/viam/services/navigation/client.py | 40 +- src/viam/services/navigation/service.py | 34 +- src/viam/services/sensors/client.py | 58 +- src/viam/services/service_base.py | 8 +- src/viam/services/service_client_base.py | 15 +- src/viam/services/slam/__init__.py | 6 +- src/viam/services/slam/client.py | 40 +- src/viam/services/slam/service.py | 30 +- src/viam/services/slam/slam.py | 4 +- src/viam/services/vision/__init__.py | 6 +- src/viam/services/vision/client.py | 35 +- src/viam/services/vision/service.py | 58 +- src/viam/sessions_client.py | 33 +- src/viam/utils.py | 81 +- 267 files changed, 23445 insertions(+), 8571 deletions(-) diff --git a/src/viam/app/app_client.py b/src/viam/app/app_client.py index c62705324..abd6d5a66 100644 --- a/src/viam/app/app_client.py +++ b/src/viam/app/app_client.py @@ -39,9 +39,6 @@ DeleteRobotPartRequest, DeleteRobotPartSecretRequest, DeleteRobotRequest, -) -from viam.proto.app import Fragment as FragmentPB -from viam.proto.app import ( GetFragmentRequest, GetFragmentResponse, GetLocationRequest, @@ -101,10 +98,6 @@ ResendOrganizationInviteRequest, ResendOrganizationInviteResponse, Robot, -) -from viam.proto.app import RobotPart as RobotPartPB -from viam.proto.app import RobotPartHistoryEntry as RobotPartHistoryEntryPB -from viam.proto.app import ( RoverRentalRobot, SharedSecret, TailRobotPartLogsRequest, @@ -126,6 +119,9 @@ UploadModuleFileRequest, Visibility, ) +from viam.proto.app import Fragment as FragmentPB +from viam.proto.app import RobotPart as RobotPartPB +from viam.proto.app import RobotPartHistoryEntry as RobotPartHistoryEntryPB from viam.proto.common import LogEntry as LogEntryPB from viam.utils import datetime_to_timestamp, dict_to_struct, struct_to_dict @@ -155,13 +151,29 @@ def from_proto(cls, robot_part: RobotPartPB) -> Self: self.secret = robot_part.secret self.robot = robot_part.robot self.location_id = robot_part.location_id - self.robot_config = struct_to_dict(robot_part.robot_config) if robot_part.HasField("robot_config") else None - self.last_access = robot_part.last_access.ToDatetime() if robot_part.HasField("last_access") else None - self.user_supplied_info = struct_to_dict(robot_part.user_supplied_info) if robot_part.HasField("user_supplied_info") else None + self.robot_config = ( + struct_to_dict(robot_part.robot_config) + if robot_part.HasField("robot_config") + else None + ) + self.last_access = ( + robot_part.last_access.ToDatetime() + if robot_part.HasField("last_access") + else None + ) + self.user_supplied_info = ( + struct_to_dict(robot_part.user_supplied_info) + if robot_part.HasField("user_supplied_info") + else None + ) self.main_part = robot_part.main_part self.fqdn = robot_part.fqdn self.local_fqdn = robot_part.local_fqdn - self.created_on = robot_part.created_on.ToDatetime() if robot_part.HasField("created_on") else None + self.created_on = ( + robot_part.created_on.ToDatetime() + if robot_part.HasField("created_on") + else None + ) self.secrets = list(robot_part.secrets) return self @@ -189,13 +201,21 @@ def proto(self) -> RobotPartPB: secret=self.secret, robot=self.robot, location_id=self.location_id, - robot_config=dict_to_struct(self.robot_config) if self.robot_config else None, - last_access=datetime_to_timestamp(self.last_access) if self.last_access else None, - user_supplied_info=dict_to_struct(self.user_supplied_info) if self.user_supplied_info else None, + robot_config=dict_to_struct(self.robot_config) + if self.robot_config + else None, + last_access=datetime_to_timestamp(self.last_access) + if self.last_access + else None, + user_supplied_info=dict_to_struct(self.user_supplied_info) + if self.user_supplied_info + else None, main_part=self.main_part, fqdn=self.fqdn, local_fqdn=self.local_fqdn, - created_on=datetime_to_timestamp(self.created_on) if self.created_on else None, + created_on=datetime_to_timestamp(self.created_on) + if self.created_on + else None, secrets=self.secrets, ) @@ -222,7 +242,9 @@ def from_proto(cls, log_entry: LogEntryPB) -> Self: self.time = log_entry.time.ToDatetime() if log_entry.HasField("time") else None self.logger_name = log_entry.logger_name self.message = log_entry.message - self.caller = struct_to_dict(log_entry.caller) if log_entry.HasField("caller") else None + self.caller = ( + struct_to_dict(log_entry.caller) if log_entry.HasField("caller") else None + ) self.stack = log_entry.stack self.fields = [struct_to_dict(field) for field in log_entry.fields] return self @@ -246,7 +268,9 @@ def proto(self) -> LogEntryPB: message=self.message, caller=dict_to_struct(self.caller) if self.caller else None, stack=self.stack, - fields=[dict_to_struct(field) for field in self.fields] if self.fields else None, + fields=[dict_to_struct(field) for field in self.fields] + if self.fields + else None, ) @@ -269,10 +293,16 @@ def from_proto(cls, fragment: FragmentPB) -> Self: self = cls() self.id = fragment.id self.name = fragment.name - self.fragment = struct_to_dict(fragment.fragment) if fragment.HasField("fragment") else None + self.fragment = ( + struct_to_dict(fragment.fragment) if fragment.HasField("fragment") else None + ) self.organization_owner = fragment.organization_owner self.public = fragment.public - self.created_on = fragment.created_on.ToDatetime() if fragment.HasField("created_on") else None + self.created_on = ( + fragment.created_on.ToDatetime() + if fragment.HasField("created_on") + else None + ) self.organization_name = fragment.organization_name self.robot_part_count = fragment.robot_part_count self.organization_count = fragment.organization_count @@ -298,7 +328,9 @@ def proto(self) -> FragmentPB: fragment=dict_to_struct(self.fragment) if self.fragment else None, organization_owner=self.organization_owner, public=self.public, - created_on=datetime_to_timestamp(self.created_on) if self.created_on else None, + created_on=datetime_to_timestamp(self.created_on) + if self.created_on + else None, organization_name=self.organization_name, robot_part_count=self.robot_part_count, organization_count=self.organization_count, @@ -325,8 +357,16 @@ def from_proto(cls, robot_part_history_entry: RobotPartHistoryEntryPB) -> Self: self = cls() self.part = robot_part_history_entry.part self.robot = robot_part_history_entry.robot - self.when = robot_part_history_entry.when.ToDatetime() if robot_part_history_entry.HasField("when") else None - self.old = RobotPart.from_proto(robot_part_history_entry.old) if robot_part_history_entry.HasField("old") else None + self.when = ( + robot_part_history_entry.when.ToDatetime() + if robot_part_history_entry.HasField("when") + else None + ) + self.old = ( + RobotPart.from_proto(robot_part_history_entry.old) + if robot_part_history_entry.HasField("old") + else None + ) return self part: str @@ -353,7 +393,9 @@ class APIKeyAuthorization: def __init__( self, role: Union[Literal["owner"], Literal["operator"]], - resource_type: Union[Literal["organization"], Literal["location"], Literal["robot"]], + resource_type: Union[ + Literal["organization"], Literal["location"], Literal["robot"] + ], resource_id: str, ): """role (Union[Literal["owner"], Literal["operator"]]): The role to add. @@ -377,7 +419,12 @@ class AppClient: `ViamClient`. """ - def __init__(self, channel: Channel, metadata: Mapping[str, str], location_id: Optional[str] = None): + def __init__( + self, + channel: Channel, + metadata: Mapping[str, str], + location_id: Optional[str] = None, + ): """Create an `AppClient` that maintains a connection to app. Args: @@ -401,7 +448,11 @@ def __init__(self, channel: Channel, metadata: Mapping[str, str], location_id: O # then we can probably still rely on it for org id?), and also update other APIs to ask for # an org id (optionally?) instead of just assuming we'll get it from this method. async def _get_organization_id(self) -> str: - return self._organization_id if self._organization_id is not None else await self._request_organization_id() + return ( + self._organization_id + if self._organization_id is not None + else await self._request_organization_id() + ) async def _request_organization_id(self) -> str: organizations = await self.list_organizations() @@ -413,7 +464,9 @@ async def _create_authorization( identity_id: str, identity_type: str, role: Union[Literal["owner"], Literal["operator"]], - resource_type: Union[Literal["organization"], Literal["location"], Literal["robot"]], + resource_type: Union[ + Literal["organization"], Literal["location"], Literal["robot"] + ], resource_id: str, ) -> Authorization: organization_id = await self._get_organization_id() @@ -427,7 +480,9 @@ async def _create_authorization( organization_id=organization_id, ) - async def _create_authorization_for_new_api_key(self, auth: APIKeyAuthorization) -> Authorization: + async def _create_authorization_for_new_api_key( + self, auth: APIKeyAuthorization + ) -> Authorization: """Creates a new Authorization specifically for creating an API key.""" return await self._create_authorization( identity_id="", # setting `identity_id` when creating an API key results in an error @@ -448,7 +503,9 @@ async def list_organizations(self) -> List[Organization]: List[viam.proto.app.Organization]: The list of organizations. """ request = ListOrganizationsRequest() - response: ListOrganizationsResponse = await self._app_client.ListOrganizations(request, metadata=self._metadata) + response: ListOrganizationsResponse = await self._app_client.ListOrganizations( + request, metadata=self._metadata + ) return list(response.organizations) # TODO(RSDK-5569): implement @@ -470,10 +527,14 @@ async def get_organization(self, org_id: Optional[str] = None) -> Organization: """ org_id = org_id if org_id is not None else await self._get_organization_id() request = GetOrganizationRequest(organization_id=org_id) - response: GetOrganizationResponse = await self._app_client.GetOrganization(request, metadata=self._metadata) + response: GetOrganizationResponse = await self._app_client.GetOrganization( + request, metadata=self._metadata + ) return response.organization - async def get_organization_namespace_availability(self, public_namespace: str) -> bool: + async def get_organization_namespace_availability( + self, public_namespace: str + ) -> bool: """Check the availability of an organization namespace. Args: @@ -486,9 +547,13 @@ async def get_organization_namespace_availability(self, public_namespace: str) - Returns: bool: True if the provided namespace is available. """ - request = GetOrganizationNamespaceAvailabilityRequest(public_namespace=public_namespace) - response: GetOrganizationNamespaceAvailabilityResponse = await self._app_client.GetOrganizationNamespaceAvailability( - request, metadata=self._metadata + request = GetOrganizationNamespaceAvailabilityRequest( + public_namespace=public_namespace + ) + response: GetOrganizationNamespaceAvailabilityResponse = ( + await self._app_client.GetOrganizationNamespaceAvailability( + request, metadata=self._metadata + ) ) return response.available @@ -521,14 +586,18 @@ async def update_organization( cid=cid, name=name, ) - response: UpdateOrganizationResponse = await self._app_client.UpdateOrganization(request, metadata=self._metadata) + response: UpdateOrganizationResponse = ( + await self._app_client.UpdateOrganization(request, metadata=self._metadata) + ) return response.organization # TODO(RSDK-5569): implement async def delete_organization(self, org_id: Optional[str] = None) -> None: raise NotImplementedError() - async def list_organization_members(self) -> Tuple[List[OrganizationMember], List[OrganizationInvite]]: + async def list_organization_members( + self, + ) -> Tuple[List[OrganizationMember], List[OrganizationInvite]]: """List the members and invites of the currently authed-to organization. Returns: @@ -537,10 +606,16 @@ async def list_organization_members(self) -> Tuple[List[OrganizationMember], Lis """ organization_id = await self._get_organization_id() request = ListOrganizationMembersRequest(organization_id=organization_id) - response: ListOrganizationMembersResponse = await self._app_client.ListOrganizationMembers(request, metadata=self._metadata) + response: ListOrganizationMembersResponse = ( + await self._app_client.ListOrganizationMembers( + request, metadata=self._metadata + ) + ) return list(response.members), list(response.invites) - async def create_organization_invite(self, email: str, authorizations: Optional[List[Authorization]] = None) -> OrganizationInvite: + async def create_organization_invite( + self, email: str, authorizations: Optional[List[Authorization]] = None + ) -> OrganizationInvite: """Creates an organization invite and sends it via email. Args: @@ -553,8 +628,14 @@ async def create_organization_invite(self, email: str, authorizations: Optional[ GRPCError: if an invalid email is provided, or if the user is already a member of the org. """ organization_id = await self._get_organization_id() - request = CreateOrganizationInviteRequest(organization_id=organization_id, email=email, authorizations=authorizations) - response: CreateOrganizationInviteResponse = await self._app_client.CreateOrganizationInvite(request, metadata=self._metadata) + request = CreateOrganizationInviteRequest( + organization_id=organization_id, email=email, authorizations=authorizations + ) + response: CreateOrganizationInviteResponse = ( + await self._app_client.CreateOrganizationInvite( + request, metadata=self._metadata + ) + ) return response.invite async def update_organization_invite_authorizations( @@ -582,10 +663,15 @@ async def update_organization_invite_authorizations( """ organization_id = await self._get_organization_id() request = UpdateOrganizationInviteAuthorizationsRequest( - organization_id=organization_id, email=email, add_authorizations=add_authorizations, remove_authorizations=remove_authorizations + organization_id=organization_id, + email=email, + add_authorizations=add_authorizations, + remove_authorizations=remove_authorizations, ) - response: UpdateOrganizationInviteAuthorizationsResponse = await self._app_client.UpdateOrganizationInviteAuthorizations( - request, metadata=self._metadata + response: UpdateOrganizationInviteAuthorizationsResponse = ( + await self._app_client.UpdateOrganizationInviteAuthorizations( + request, metadata=self._metadata + ) ) return response.invite @@ -596,8 +682,12 @@ async def delete_organization_member(self, user_id: str) -> None: user_id (str): The ID of the user to remove. """ organization_id = await self._get_organization_id() - request = DeleteOrganizationMemberRequest(organization_id=organization_id, user_id=user_id) - await self._app_client.DeleteOrganizationMember(request, metadata=self._metadata) + request = DeleteOrganizationMemberRequest( + organization_id=organization_id, user_id=user_id + ) + await self._app_client.DeleteOrganizationMember( + request, metadata=self._metadata + ) async def delete_organization_invite(self, email: str) -> None: """Deletes a pending organization invite. @@ -609,8 +699,12 @@ async def delete_organization_invite(self, email: str) -> None: GRPCError: If no pending invite is associated with the provided email address. """ organization_id = await self._get_organization_id() - request = DeleteOrganizationInviteRequest(organization_id=organization_id, email=email) - await self._app_client.DeleteOrganizationInvite(request, metadata=self._metadata) + request = DeleteOrganizationInviteRequest( + organization_id=organization_id, email=email + ) + await self._app_client.DeleteOrganizationInvite( + request, metadata=self._metadata + ) async def resend_organization_invite(self, email: str) -> OrganizationInvite: """Re-sends a pending organization invite email. @@ -622,11 +716,19 @@ async def resend_organization_invite(self, email: str) -> OrganizationInvite: GRPCError: If no pending invite is associated with the provided email address. """ organization_id = await self._get_organization_id() - request = ResendOrganizationInviteRequest(organization_id=organization_id, email=email) - response: ResendOrganizationInviteResponse = await self._app_client.ResendOrganizationInvite(request, metadata=self._metadata) + request = ResendOrganizationInviteRequest( + organization_id=organization_id, email=email + ) + response: ResendOrganizationInviteResponse = ( + await self._app_client.ResendOrganizationInvite( + request, metadata=self._metadata + ) + ) return response.invite - async def create_location(self, name: str, parent_location_id: Optional[str] = None) -> Location: + async def create_location( + self, name: str, parent_location_id: Optional[str] = None + ) -> Location: """Create and name a location under the currently authed-to organization and the specified parent location. Args: @@ -641,8 +743,14 @@ async def create_location(self, name: str, parent_location_id: Optional[str] = N viam.proto.app.Location: The newly created location. """ organization_id = await self._get_organization_id() - request = CreateLocationRequest(organization_id=organization_id, name=name, parent_location_id=parent_location_id) - response: CreateLocationResponse = await self._app_client.CreateLocation(request, metadata=self._metadata) + request = CreateLocationRequest( + organization_id=organization_id, + name=name, + parent_location_id=parent_location_id, + ) + response: CreateLocationResponse = await self._app_client.CreateLocation( + request, metadata=self._metadata + ) return response.location async def get_location(self, location_id: Optional[str] = None) -> Location: @@ -658,11 +766,24 @@ async def get_location(self, location_id: Optional[str] = None) -> Location: Returns: viam.proto.app.Location: The location. """ - request = GetLocationRequest(location_id=location_id if location_id else self._location_id if self._location_id else "") - response: GetLocationResponse = await self._app_client.GetLocation(request, metadata=self._metadata) + request = GetLocationRequest( + location_id=location_id + if location_id + else self._location_id + if self._location_id + else "" + ) + response: GetLocationResponse = await self._app_client.GetLocation( + request, metadata=self._metadata + ) return response.location - async def update_location(self, location_id: str, name: Optional[str] = None, parent_location_id: Optional[str] = None) -> Location: + async def update_location( + self, + location_id: str, + name: Optional[str] = None, + parent_location_id: Optional[str] = None, + ) -> Location: """Change the name of a location and/or assign it a new parent location. Args: @@ -678,8 +799,12 @@ async def update_location(self, location_id: str, name: Optional[str] = None, pa Returns: viam.proto.app.Location: The newly updated location. """ - request = UpdateLocationRequest(location_id=location_id, name=name, parent_location_id=parent_location_id) - response: UpdateLocationResponse = await self._app_client.UpdateLocation(request, metadata=self._metadata) + request = UpdateLocationRequest( + location_id=location_id, name=name, parent_location_id=parent_location_id + ) + response: UpdateLocationResponse = await self._app_client.UpdateLocation( + request, metadata=self._metadata + ) return response.location async def delete_location(self, location_id: str) -> None: @@ -702,7 +827,9 @@ async def list_locations(self) -> List[Location]: """ organization_id = await self._get_organization_id() request = ListLocationsRequest(organization_id=organization_id) - response: ListLocationsResponse = await self._app_client.ListLocations(request, metadata=self._metadata) + response: ListLocationsResponse = await self._app_client.ListLocations( + request, metadata=self._metadata + ) return list(response.locations) # TODO(RSDK-5569): implement @@ -727,11 +854,21 @@ async def location_auth(self, location_id: Optional[str] = None) -> LocationAuth Returns: viam.proto.app.LocationAuth: The `LocationAuth` containing location secrets. """ - request = LocationAuthRequest(location_id=location_id if location_id else self._location_id if self._location_id else "") - response: LocationAuthResponse = await self._app_client.LocationAuth(request, metadata=self._metadata) + request = LocationAuthRequest( + location_id=location_id + if location_id + else self._location_id + if self._location_id + else "" + ) + response: LocationAuthResponse = await self._app_client.LocationAuth( + request, metadata=self._metadata + ) return response.auth - async def create_location_secret(self, location_id: Optional[str] = None) -> LocationAuth: + async def create_location_secret( + self, location_id: Optional[str] = None + ) -> LocationAuth: """Create a new location secret. Args: @@ -745,11 +882,23 @@ async def create_location_secret(self, location_id: Optional[str] = None) -> Loc Returns: viam.proto.app.LocationAuth: The specified location's `LocationAuth` containing the newly created secret. """ - request = CreateLocationSecretRequest(location_id=location_id if location_id else self._location_id if self._location_id else "") - response: CreateLocationSecretResponse = await self._app_client.CreateLocationSecret(request, metadata=self._metadata) + request = CreateLocationSecretRequest( + location_id=location_id + if location_id + else self._location_id + if self._location_id + else "" + ) + response: CreateLocationSecretResponse = ( + await self._app_client.CreateLocationSecret( + request, metadata=self._metadata + ) + ) return response.auth - async def delete_location_secret(self, secret_id: str, location_id: Optional[str] = None) -> None: + async def delete_location_secret( + self, secret_id: str, location_id: Optional[str] = None + ) -> None: """Delete a location secret. Args: @@ -761,7 +910,12 @@ async def delete_location_secret(self, secret_id: str, location_id: Optional[str ID provided at `AppClient` instantiation. """ request = DeleteLocationSecretRequest( - location_id=location_id if location_id else self._location_id if self._location_id else "", secret_id=secret_id + location_id=location_id + if location_id + else self._location_id + if self._location_id + else "", + secret_id=secret_id, ) await self._app_client.DeleteLocationSecret(request, metadata=self._metadata) @@ -778,7 +932,9 @@ async def get_robot(self, robot_id: str) -> Robot: viam.proto.app.Robot: The robot. """ request = GetRobotRequest(id=robot_id) - response: GetRobotResponse = await self._app_client.GetRobot(request, metadata=self._metadata) + response: GetRobotResponse = await self._app_client.GetRobot( + request, metadata=self._metadata + ) return response.robot async def get_rover_rental_robots(self) -> List[RoverRentalRobot]: @@ -789,7 +945,11 @@ async def get_rover_rental_robots(self) -> List[RoverRentalRobot]: """ organization_id = await self._get_organization_id() request = GetRoverRentalRobotsRequest(org_id=organization_id) - response: GetRoverRentalRobotsResponse = await self._app_client.GetRoverRentalRobots(request, metadata=self._metadata) + response: GetRoverRentalRobotsResponse = ( + await self._app_client.GetRoverRentalRobots( + request, metadata=self._metadata + ) + ) return list(response.robots) async def get_robot_parts(self, robot_id: str) -> List[RobotPart]: @@ -805,10 +965,14 @@ async def get_robot_parts(self, robot_id: str) -> List[RobotPart]: List[viam.app.app_client.RobotPart]: The list of robot parts. """ request = GetRobotPartsRequest(robot_id=robot_id) - response: GetRobotPartsResponse = await self._app_client.GetRobotParts(request, metadata=self._metadata) + response: GetRobotPartsResponse = await self._app_client.GetRobotParts( + request, metadata=self._metadata + ) return [RobotPart.from_proto(robot_part=part) for part in response.parts] - async def get_robot_part(self, robot_part_id: str, dest: Optional[str] = None, indent: int = 4) -> RobotPart: + async def get_robot_part( + self, robot_part_id: str, dest: Optional[str] = None, indent: int = 4 + ) -> RobotPart: """Get a robot part. Args: @@ -823,12 +987,16 @@ async def get_robot_part(self, robot_part_id: str, dest: Optional[str] = None, i viam.app.app_client.RobotPart: The robot part. """ request = GetRobotPartRequest(id=robot_part_id) - response: GetRobotPartResponse = await self._app_client.GetRobotPart(request, metadata=self._metadata) + response: GetRobotPartResponse = await self._app_client.GetRobotPart( + request, metadata=self._metadata + ) if dest: try: file = open(dest, "w") - file.write(f"{json.dumps(json.loads(response.config_json), indent=indent)}") + file.write( + f"{json.dumps(json.loads(response.config_json), indent=indent)}" + ) file.flush() except Exception as e: LOGGER.error(f"Failed to write config JSON to file {dest}", exc_info=e) @@ -869,7 +1037,10 @@ async def get_robot_part_logs( while True: new_logs, next_page_token = await self._get_robot_part_logs( - robot_part_id=robot_part_id, filter=filter if filter else "", errors_only=errors_only, page_token=page_token + robot_part_id=robot_part_id, + filter=filter if filter else "", + errors_only=errors_only, + page_token=page_token, ) if num_log_entries != 0 and len(new_logs) > logs_left: logs += new_logs[0:logs_left] @@ -889,17 +1060,33 @@ async def get_robot_part_logs( logger_name = log.logger_name.split(".")[0] file_name = log.caller["File"] + ":" + str(int(log.caller["Line"])) message = log.message - file.write(f"{time}\t{level}\t{logger_name}\t{file_name:<64}{message}\n") + file.write( + f"{time}\t{level}\t{logger_name}\t{file_name:<64}{message}\n" + ) file.flush() except Exception as e: - LOGGER.error(f"Failed to write robot part from robot part with ID [{robot_part_id}]logs to file {dest}", exc_info=e) + LOGGER.error( + f"Failed to write robot part from robot part with ID [{robot_part_id}]logs to file {dest}", + exc_info=e, + ) return logs - async def _get_robot_part_logs(self, robot_part_id: str, filter: str, errors_only: bool, page_token: str) -> Tuple[List[LogEntry], str]: - request = GetRobotPartLogsRequest(id=robot_part_id, errors_only=errors_only, filter=filter, page_token=page_token) - response: GetRobotPartLogsResponse = await self._app_client.GetRobotPartLogs(request, metadata=self._metadata) - return [LogEntry.from_proto(log) for log in response.logs], response.next_page_token + async def _get_robot_part_logs( + self, robot_part_id: str, filter: str, errors_only: bool, page_token: str + ) -> Tuple[List[LogEntry], str]: + request = GetRobotPartLogsRequest( + id=robot_part_id, + errors_only=errors_only, + filter=filter, + page_token=page_token, + ) + response: GetRobotPartLogsResponse = await self._app_client.GetRobotPartLogs( + request, metadata=self._metadata + ) + return [ + LogEntry.from_proto(log) for log in response.logs + ], response.next_page_token async def tail_robot_part_logs( self, robot_part_id: str, errors_only: bool = True, filter: Optional[str] = None @@ -917,13 +1104,21 @@ async def tail_robot_part_logs( """ async def read() -> AsyncIterator[List[LogEntry]]: - async with self._app_client.TailRobotPartLogs.open(metadata=self._metadata) as stream: + async with self._app_client.TailRobotPartLogs.open( + metadata=self._metadata + ) as stream: await stream.send_message( - TailRobotPartLogsRequest(id=robot_part_id, errors_only=errors_only, filter=filter if filter else "") + TailRobotPartLogsRequest( + id=robot_part_id, + errors_only=errors_only, + filter=filter if filter else "", + ) ) while True: - response: Optional[TailRobotPartLogsResponse] = await stream.recv_message() + response: Optional[ + TailRobotPartLogsResponse + ] = await stream.recv_message() if response is None or len(response.logs) == 0: break logs = [LogEntry.from_proto(log) for log in response.logs] @@ -931,7 +1126,9 @@ async def read() -> AsyncIterator[List[LogEntry]]: return _LogsStreamWithIterator(read()) - async def get_robot_part_history(self, robot_part_id: str) -> List[RobotPartHistoryEntry]: + async def get_robot_part_history( + self, robot_part_id: str + ) -> List[RobotPartHistoryEntry]: """Get a list containing the history of a robot part. Args: @@ -944,10 +1141,20 @@ async def get_robot_part_history(self, robot_part_id: str) -> List[RobotPartHist List[viam.app.app_client.RobotPartHistoryEntry]: The list of the robot part's history. """ request = GetRobotPartHistoryRequest(id=robot_part_id) - response: GetRobotPartHistoryResponse = await self._app_client.GetRobotPartHistory(request, metadata=self._metadata) - return [RobotPartHistoryEntry.from_proto(part_history) for part_history in response.history] + response: GetRobotPartHistoryResponse = ( + await self._app_client.GetRobotPartHistory(request, metadata=self._metadata) + ) + return [ + RobotPartHistoryEntry.from_proto(part_history) + for part_history in response.history + ] - async def update_robot_part(self, robot_part_id: str, name: str, robot_config: Optional[Mapping[str, Any]] = None) -> RobotPart: + async def update_robot_part( + self, + robot_part_id: str, + name: str, + robot_config: Optional[Mapping[str, Any]] = None, + ) -> RobotPart: """Change the name and assign an optional new configuration to a robot part. Args: @@ -962,8 +1169,14 @@ async def update_robot_part(self, robot_part_id: str, name: str, robot_config: O Returns: viam.app.app_client.RobotPart: The newly updated robot part. """ - request = UpdateRobotPartRequest(id=robot_part_id, name=name, robot_config=dict_to_struct(robot_config) if robot_config else None) - response: UpdateRobotPartResponse = await self._app_client.UpdateRobotPart(request, metadata=self._metadata) + request = UpdateRobotPartRequest( + id=robot_part_id, + name=name, + robot_config=dict_to_struct(robot_config) if robot_config else None, + ) + response: UpdateRobotPartResponse = await self._app_client.UpdateRobotPart( + request, metadata=self._metadata + ) return RobotPart.from_proto(robot_part=response.part) async def new_robot_part(self, robot_id: str, part_name: str) -> str: @@ -980,7 +1193,9 @@ async def new_robot_part(self, robot_id: str, part_name: str) -> str: str: The new robot part's ID. """ request = NewRobotPartRequest(robot_id=robot_id, part_name=part_name) - response: NewRobotPartResponse = await self._app_client.NewRobotPart(request, metadata=self._metadata) + response: NewRobotPartResponse = await self._app_client.NewRobotPart( + request, metadata=self._metadata + ) return response.part_id async def delete_robot_part(self, robot_part_id: str) -> None: @@ -1032,10 +1247,16 @@ async def create_robot_part_secret(self, robot_part_id: str) -> RobotPart: viam.app.app_client.RobotPart: The robot part the new secret was generated for. """ request = CreateRobotPartSecretRequest(part_id=robot_part_id) - response: CreateRobotPartSecretResponse = await self._app_client.CreateRobotPartSecret(request, metadata=self._metadata) + response: CreateRobotPartSecretResponse = ( + await self._app_client.CreateRobotPartSecret( + request, metadata=self._metadata + ) + ) return RobotPart.from_proto(response.part) - async def delete_robot_part_secret(self, robot_part_id: str, secret_id: str) -> None: + async def delete_robot_part_secret( + self, robot_part_id: str, secret_id: str + ) -> None: """Delete a robot part secret. Args: @@ -1045,7 +1266,9 @@ async def delete_robot_part_secret(self, robot_part_id: str, secret_id: str) -> Raises: GRPCError: If an invalid robot part ID or secret ID is passed. """ - request = DeleteRobotPartSecretRequest(part_id=robot_part_id, secret_id=secret_id) + request = DeleteRobotPartSecretRequest( + part_id=robot_part_id, secret_id=secret_id + ) await self._app_client.DeleteRobotPartSecret(request, metadata=self._metadata) async def list_robots(self, location_id: Optional[str] = None) -> List[Robot]: @@ -1062,8 +1285,16 @@ async def list_robots(self, location_id: Optional[str] = None) -> List[Robot]: Returns: List[viam.proto.app.Robot]: The list of robots. """ - request = ListRobotsRequest(location_id=location_id if location_id else self._location_id if self._location_id else "") - response: ListRobotsResponse = await self._app_client.ListRobots(request, metadata=self._metadata) + request = ListRobotsRequest( + location_id=location_id + if location_id + else self._location_id + if self._location_id + else "" + ) + response: ListRobotsResponse = await self._app_client.ListRobots( + request, metadata=self._metadata + ) return list(response.robots) async def new_robot(self, name: str, location_id: Optional[str] = None) -> str: @@ -1080,11 +1311,22 @@ async def new_robot(self, name: str, location_id: Optional[str] = None) -> str: Returns: str: The new robot's ID. """ - request = NewRobotRequest(location=location_id if location_id else self._location_id if self._location_id else "", name=name) - response: NewRobotResponse = await self._app_client.NewRobot(request, metadata=self._metadata) + request = NewRobotRequest( + location=location_id + if location_id + else self._location_id + if self._location_id + else "", + name=name, + ) + response: NewRobotResponse = await self._app_client.NewRobot( + request, metadata=self._metadata + ) return response.id - async def update_robot(self, robot_id: str, name: str, location_id: Optional[str] = None) -> Robot: + async def update_robot( + self, robot_id: str, name: str, location_id: Optional[str] = None + ) -> Robot: """Change the name of an existing robot. Args: @@ -1101,9 +1343,17 @@ async def update_robot(self, robot_id: str, name: str, location_id: Optional[str viam.proto.app.Robot: The newly updated robot. """ request = UpdateRobotRequest( - id=robot_id, name=name, location=location_id if location_id else self._location_id if self._location_id else "" + id=robot_id, + name=name, + location=location_id + if location_id + else self._location_id + if self._location_id + else "", + ) + response: UpdateRobotResponse = await self._app_client.UpdateRobot( + request, metadata=self._metadata ) - response: UpdateRobotResponse = await self._app_client.UpdateRobot(request, metadata=self._metadata) return response.robot async def delete_robot(self, robot_id: str) -> None: @@ -1129,9 +1379,15 @@ async def list_fragments(self, show_public: bool = True) -> List[Fragment]: List[viam.app.app_client.Fragment]: The list of fragments. """ organization_id = await self._get_organization_id() - request = ListFragmentsRequest(organization_id=organization_id, show_public=show_public) - response: ListFragmentsResponse = await self._app_client.ListFragments(request, metadata=self._metadata) - return [Fragment.from_proto(fragment=fragment) for fragment in response.fragments] + request = ListFragmentsRequest( + organization_id=organization_id, show_public=show_public + ) + response: ListFragmentsResponse = await self._app_client.ListFragments( + request, metadata=self._metadata + ) + return [ + Fragment.from_proto(fragment=fragment) for fragment in response.fragments + ] async def get_fragment(self, fragment_id: str) -> Fragment: """Get a fragment. @@ -1146,10 +1402,14 @@ async def get_fragment(self, fragment_id: str) -> Fragment: viam.app.app_client.Fragment: The fragment. """ request = GetFragmentRequest(id=fragment_id) - response: GetFragmentResponse = await self._app_client.GetFragment(request, metadata=self._metadata) + response: GetFragmentResponse = await self._app_client.GetFragment( + request, metadata=self._metadata + ) return Fragment.from_proto(fragment=response.fragment) - async def create_fragment(self, name: str, config: Optional[Mapping[str, Any]] = None) -> Fragment: + async def create_fragment( + self, name: str, config: Optional[Mapping[str, Any]] = None + ) -> Fragment: """Create a new private fragment. Args: @@ -1164,12 +1424,22 @@ async def create_fragment(self, name: str, config: Optional[Mapping[str, Any]] = viam.app.app_client.Fragment: The newly created fragment. """ organization_id = await self._get_organization_id() - request = CreateFragmentRequest(name=name, config=dict_to_struct(config) if config else None, organization_id=organization_id) - response: CreateFragmentResponse = await self._app_client.CreateFragment(request, metadata=self._metadata) + request = CreateFragmentRequest( + name=name, + config=dict_to_struct(config) if config else None, + organization_id=organization_id, + ) + response: CreateFragmentResponse = await self._app_client.CreateFragment( + request, metadata=self._metadata + ) return Fragment.from_proto(response.fragment) async def update_fragment( - self, fragment_id: str, name: str, config: Optional[Mapping[str, Any]] = None, public: Optional[bool] = None + self, + fragment_id: str, + name: str, + config: Optional[Mapping[str, Any]] = None, + public: Optional[bool] = None, ) -> Fragment: """Update a fragment name AND its config and/or visibility. @@ -1187,8 +1457,15 @@ async def update_fragment( Returns: viam.app.app_client.Fragment: The newly updated fragment. """ - request = UpdateFragmentRequest(id=fragment_id, name=name, config=dict_to_struct(config) if config else None, public=public) - response: UpdateFragmentResponse = await self._app_client.UpdateFragment(request, metadata=self._metadata) + request = UpdateFragmentRequest( + id=fragment_id, + name=name, + config=dict_to_struct(config) if config else None, + public=public, + ) + response: UpdateFragmentResponse = await self._app_client.UpdateFragment( + request, metadata=self._metadata + ) return Fragment.from_proto(response.fragment) async def delete_fragment(self, fragment_id) -> None: @@ -1207,7 +1484,9 @@ async def add_role( self, identity_id: str, role: Union[Literal["owner"], Literal["operator"]], - resource_type: Union[Literal["organization"], Literal["location"], Literal["robot"]], + resource_type: Union[ + Literal["organization"], Literal["location"], Literal["robot"] + ], resource_id: str, ) -> None: """Add a role under the currently authed-to organization. @@ -1236,7 +1515,9 @@ async def remove_role( self, identity_id: str, role: Union[Literal["owner"], Literal["operator"]], - resource_type: Union[Literal["organization"], Literal["location"], Literal["robot"]], + resource_type: Union[ + Literal["organization"], Literal["location"], Literal["robot"] + ], resource_id: str, ) -> None: """Remove a role under the currently authed-to organization. @@ -1261,7 +1542,9 @@ async def remove_role( request = RemoveRoleRequest(authorization=authorization) await self._app_client.RemoveRole(request, metadata=self._metadata) - async def list_authorizations(self, resource_ids: Optional[List[str]] = None) -> List[Authorization]: + async def list_authorizations( + self, resource_ids: Optional[List[str]] = None + ) -> List[Authorization]: """List all authorizations under a specific resource (or resources) within the currently authed-to organization. If no resource IDs are provided, all resource authorizations within the organizations are returned. @@ -1276,11 +1559,17 @@ async def list_authorizations(self, resource_ids: Optional[List[str]] = None) -> List[viam.proto.app.Authorization]: The list of authorizations. """ organization_id = await self._get_organization_id() - request = ListAuthorizationsRequest(organization_id=organization_id, resource_ids=resource_ids) - response: ListAuthorizationsResponse = await self._app_client.ListAuthorizations(request, metadata=self._metadata) + request = ListAuthorizationsRequest( + organization_id=organization_id, resource_ids=resource_ids + ) + response: ListAuthorizationsResponse = ( + await self._app_client.ListAuthorizations(request, metadata=self._metadata) + ) return list(response.authorizations) - async def check_permissions(self, permissions: List[AuthorizedPermissions]) -> List[AuthorizedPermissions]: + async def check_permissions( + self, permissions: List[AuthorizedPermissions] + ) -> List[AuthorizedPermissions]: """Checks validity of a list of permissions. Args: @@ -1294,7 +1583,9 @@ async def check_permissions(self, permissions: List[AuthorizedPermissions]) -> L List[viam.proto.app.AuthorizedPermissions]: The permissions argument, with invalid permissions filtered out. """ request = CheckPermissionsRequest(permissions=permissions) - response: CheckPermissionsResponse = await self._app_client.CheckPermissions(request, metadata=self._metadata) + response: CheckPermissionsResponse = await self._app_client.CheckPermissions( + request, metadata=self._metadata + ) return list(response.authorized_permissions) async def create_module(self, name: str) -> Tuple[str, str]: @@ -1311,7 +1602,9 @@ async def create_module(self, name: str) -> Tuple[str, str]: """ organization_id = await self._get_organization_id() request = CreateModuleRequest(organization_id=organization_id, name=name) - response: CreateModuleResponse = await self._app_client.CreateModule(request, metadata=self._metadata) + response: CreateModuleResponse = await self._app_client.CreateModule( + request, metadata=self._metadata + ) return response.module_id, response.url async def update_module( @@ -1343,16 +1636,22 @@ async def update_module( """ request = UpdateModuleRequest( module_id=module_id, - visibility=Visibility.VISIBILITY_PUBLIC if public else Visibility.VISIBILITY_PRIVATE, + visibility=Visibility.VISIBILITY_PUBLIC + if public + else Visibility.VISIBILITY_PRIVATE, url=url, description=description, models=models, entrypoint=entrypoint, ) - response: UpdateModuleResponse = await self._app_client.UpdateModule(request, metadata=self._metadata) + response: UpdateModuleResponse = await self._app_client.UpdateModule( + request, metadata=self._metadata + ) return response.url - async def upload_module_file(self, module_file_info: Optional[ModuleFileInfo], file: bytes) -> str: + async def upload_module_file( + self, module_file_info: Optional[ModuleFileInfo], file: bytes + ) -> str: """Upload a module file Args: @@ -1362,15 +1661,23 @@ async def upload_module_file(self, module_file_info: Optional[ModuleFileInfo], f Returns: str: ID of uploaded file. """ - request_module_file_info = UploadModuleFileRequest(module_file_info=module_file_info) + request_module_file_info = UploadModuleFileRequest( + module_file_info=module_file_info + ) request_file = UploadModuleFileRequest(file=file) - async with self._app_client.UploadModuleFile.open(metadata=self._metadata) as stream: + async with self._app_client.UploadModuleFile.open( + metadata=self._metadata + ) as stream: await stream.send_message(request_module_file_info) await stream.send_message(request_file, end=True) response: Union[UploadModuleFileRequest, None] = await stream.recv_message() if not response: - await stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error. - raise TypeError("Response cannot be empty") # we should never get here, but for typechecking + await ( + stream.recv_trailing_metadata() + ) # causes us to throw appropriate gRPC error. + raise TypeError( + "Response cannot be empty" + ) # we should never get here, but for typechecking return response.url async def get_module(self, module_id: str) -> Module: @@ -1386,7 +1693,9 @@ async def get_module(self, module_id: str) -> Module: viam.proto.app.Module: The module. """ request = GetModuleRequest(module_id=module_id) - response: GetModuleResponse = await self._app_client.GetModule(request, metadata=self._metadata) + response: GetModuleResponse = await self._app_client.GetModule( + request, metadata=self._metadata + ) return response.module async def list_modules(self) -> List[Module]: @@ -1397,12 +1706,16 @@ async def list_modules(self) -> List[Module]: """ organization_id = await self._get_organization_id() request = ListModulesRequest(organization_id=organization_id) - response: ListModulesResponse = await self._app_client.ListModules(request, metadata=self._metadata) + response: ListModulesResponse = await self._app_client.ListModules( + request, metadata=self._metadata + ) return list(response.modules) # TODO(RSDK-5569): when user-based auth exists, make `name` default to `None` and let # app deal with setting a default. - async def create_key(self, authorizations: List[APIKeyAuthorization], name: Optional[str] = None) -> Tuple[str, str]: + async def create_key( + self, authorizations: List[APIKeyAuthorization], name: Optional[str] = None + ) -> Tuple[str, str]: """Creates a new API key. Args: @@ -1417,12 +1730,19 @@ async def create_key(self, authorizations: List[APIKeyAuthorization], name: Opti Tuple[str, str]: The api key and api key ID. """ name = name if name is not None else str(datetime.now()) - authorizations_pb = [await self._create_authorization_for_new_api_key(auth) for auth in authorizations] + authorizations_pb = [ + await self._create_authorization_for_new_api_key(auth) + for auth in authorizations + ] request = CreateKeyRequest(authorizations=authorizations_pb, name=name) - response: CreateKeyResponse = await self._app_client.CreateKey(request, metadata=self._metadata) + response: CreateKeyResponse = await self._app_client.CreateKey( + request, metadata=self._metadata + ) return (response.key, response.id) - async def create_key_from_existing_key_authorizations(self, id: str) -> Tuple[str, str]: + async def create_key_from_existing_key_authorizations( + self, id: str + ) -> Tuple[str, str]: """Creates a new API key with an existing key's authorizations Args: @@ -1432,9 +1752,11 @@ async def create_key_from_existing_key_authorizations(self, id: str) -> Tuple[st Tuple[str, str] The API key and API key id """ request = CreateKeyFromExistingKeyAuthorizationsRequest(id=id) - response: CreateKeyFromExistingKeyAuthorizationsResponse = await self._app_client.CreateKeyFromExistingKeyAuthorizations( - request, - metadata=self._metadata, + response: CreateKeyFromExistingKeyAuthorizationsResponse = ( + await self._app_client.CreateKeyFromExistingKeyAuthorizations( + request, + metadata=self._metadata, + ) ) return (response.key, response.id) @@ -1445,5 +1767,7 @@ async def list_keys(self) -> List[APIKeyWithAuthorizations]: List[viam.proto.app.APIKeyWithAuthorizations]: The existing API keys and authorizations.""" org_id = await self._get_organization_id() request = ListKeysRequest(org_id=org_id) - response: ListKeysResponse = await self._app_client.ListKeys(request, metadata=self._metadata) + response: ListKeysResponse = await self._app_client.ListKeys( + request, metadata=self._metadata + ) return list(response.api_keys) diff --git a/src/viam/app/billing_client.py b/src/viam/app/billing_client.py index b0f7d9286..2a3b40988 100644 --- a/src/viam/app/billing_client.py +++ b/src/viam/app/billing_client.py @@ -40,7 +40,9 @@ def __init__(self, channel: Channel, metadata: Mapping[str, str]): _channel: Channel _metadata: Mapping[str, str] - async def get_current_month_usage(self, org_id: str, timeout: Optional[float] = None) -> GetCurrentMonthUsageResponse: + async def get_current_month_usage( + self, org_id: str, timeout: Optional[float] = None + ) -> GetCurrentMonthUsageResponse: """Access data usage information for the current month for a given organization. Args: @@ -50,9 +52,13 @@ async def get_current_month_usage(self, org_id: str, timeout: Optional[float] = viam.proto.app.billing.GetCurrentMonthUsageResponse: Current month usage information """ request = GetCurrentMonthUsageRequest(org_id=org_id) - return await self._billing_client.GetCurrentMonthUsage(request, metadata=self._metadata, timeout=timeout) + return await self._billing_client.GetCurrentMonthUsage( + request, metadata=self._metadata, timeout=timeout + ) - async def get_invoice_pdf(self, invoice_id: str, org_id: str, dest: str, timeout: Optional[float] = None) -> None: + async def get_invoice_pdf( + self, invoice_id: str, org_id: str, dest: str, timeout: Optional[float] = None + ) -> None: """Access invoice PDF data and optionally save it to a provided file path. Args: @@ -61,13 +67,19 @@ async def get_invoice_pdf(self, invoice_id: str, org_id: str, dest: str, timeout dest (str): filepath to save the invoice to """ stream: Stream[GetInvoicePdfRequest, GetInvoicePdfResponse] - async with self._billing_client.GetInvoicePdf.open(timeout=timeout, metadata=self._metadata) as stream: - await stream.send_message(GetInvoicePdfRequest(id=invoice_id, org_id=org_id), end=True) + async with self._billing_client.GetInvoicePdf.open( + timeout=timeout, metadata=self._metadata + ) as stream: + await stream.send_message( + GetInvoicePdfRequest(id=invoice_id, org_id=org_id), end=True + ) with open(dest, "wb") as file: async for response in stream: file.write(response.chunk) - async def get_invoices_summary(self, org_id: str, timeout: Optional[float] = None) -> GetInvoicesSummaryResponse: + async def get_invoices_summary( + self, org_id: str, timeout: Optional[float] = None + ) -> GetInvoicesSummaryResponse: """Access total outstanding balance plus invoice summaries for a given org. Args: @@ -77,9 +89,13 @@ async def get_invoices_summary(self, org_id: str, timeout: Optional[float] = Non viam.proto.app.billing.GetInvoicesSummaryResponse: Summary of org invoices """ request = GetInvoicesSummaryRequest(org_id=org_id) - return await self._billing_client.GetInvoicesSummary(request, metadata=self._metadata, timeout=timeout) + return await self._billing_client.GetInvoicesSummary( + request, metadata=self._metadata, timeout=timeout + ) - async def get_org_billing_information(self, org_id: str, timeout: Optional[float] = None) -> GetOrgBillingInformationResponse: + async def get_org_billing_information( + self, org_id: str, timeout: Optional[float] = None + ) -> GetOrgBillingInformationResponse: """Access billing information (payment method, billing tier, etc.) for a given org. Args: @@ -88,4 +104,6 @@ async def get_org_billing_information(self, org_id: str, timeout: Optional[float Returns: viam.proto.app.billing.GetOrgBillingInformationResponse: The org billing information""" request = GetOrgBillingInformationRequest(org_id=org_id) - return await self._billing_client.GetOrgBillingInformation(request, metadata=self._metadata, timeout=timeout) + return await self._billing_client.GetOrgBillingInformation( + request, metadata=self._metadata, timeout=timeout + ) diff --git a/src/viam/app/data_client.py b/src/viam/app/data_client.py index b43effb78..86633ba03 100644 --- a/src/viam/app/data_client.py +++ b/src/viam/app/data_client.py @@ -93,7 +93,13 @@ class TabularData: time_received (datetime): the time the requested data was received. """ - def __init__(self, data: Mapping[str, Any], metadata: CaptureMetadata, time_requested: datetime, time_received: datetime) -> None: + def __init__( + self, + data: Mapping[str, Any], + metadata: CaptureMetadata, + time_requested: datetime, + time_received: datetime, + ) -> None: self.data = data self.metadata = metadata self.time_requested = time_requested @@ -178,8 +184,14 @@ async def tabular_data_by_filter( # we are certain we've received everything. while True: data_request = DataRequest(filter=filter, limit=100, last=last) - request = TabularDataByFilterRequest(data_request=data_request, count_only=False) - response: TabularDataByFilterResponse = await self._data_client.TabularDataByFilter(request, metadata=self._metadata) + request = TabularDataByFilterRequest( + data_request=data_request, count_only=False + ) + response: TabularDataByFilterResponse = ( + await self._data_client.TabularDataByFilter( + request, metadata=self._metadata + ) + ) if not response.data or len(response.data) == 0: break data += [ @@ -203,7 +215,11 @@ async def tabular_data_by_filter( return data async def binary_data_by_filter( - self, filter: Optional[Filter] = None, dest: Optional[str] = None, include_file_data: bool = True, num_files: Optional[int] = None + self, + filter: Optional[Filter] = None, + dest: Optional[str] = None, + include_file_data: bool = True, + num_files: Optional[int] = None, ) -> List[BinaryData]: """Filter and download binary data. @@ -234,7 +250,9 @@ async def binary_data_by_filter( # `DataRequest`s are limited in pieces of data, so we loop through calls until # we are certain we've received everything. while True: - new_data, last = await self._binary_data_by_filter(filter=filter, limit=limit, include_binary=include_file_data, last=last) + new_data, last = await self._binary_data_by_filter( + filter=filter, limit=limit, include_binary=include_file_data, last=last + ) if not new_data or len(new_data) == 0: break elif num_files != 0 and len(new_data) > num_files: @@ -256,11 +274,19 @@ async def binary_data_by_filter( return data - async def _binary_data_by_filter(self, filter: Filter, limit: int, include_binary: bool, last: str) -> Tuple[List[BinaryData], str]: + async def _binary_data_by_filter( + self, filter: Filter, limit: int, include_binary: bool, last: str + ) -> Tuple[List[BinaryData], str]: data_request = DataRequest(filter=filter, limit=limit, last=last) - request = BinaryDataByFilterRequest(data_request=data_request, count_only=False, include_binary=include_binary) - response: BinaryDataByFilterResponse = await self._data_client.BinaryDataByFilter(request, metadata=self._metadata) - return [DataClient.BinaryData(data.binary, data.metadata) for data in response.data], response.last + request = BinaryDataByFilterRequest( + data_request=data_request, count_only=False, include_binary=include_binary + ) + response: BinaryDataByFilterResponse = ( + await self._data_client.BinaryDataByFilter(request, metadata=self._metadata) + ) + return [ + DataClient.BinaryData(data.binary, data.metadata) for data in response.data + ], response.last async def binary_data_by_ids( self, @@ -280,7 +306,9 @@ async def binary_data_by_ids( List[bytes]: The binary data. """ request = BinaryDataByIDsRequest(binary_ids=binary_ids, include_binary=True) - response: BinaryDataByIDsResponse = await self._data_client.BinaryDataByIDs(request, metadata=self._metadata) + response: BinaryDataByIDsResponse = await self._data_client.BinaryDataByIDs( + request, metadata=self._metadata + ) if dest: try: file = open(dest, "w") @@ -288,9 +316,13 @@ async def binary_data_by_ids( file.flush() except Exception as e: LOGGER.error(f"Failed to write binary data to file {dest}", exc_info=e) - return [DataClient.BinaryData(data.binary, data.metadata) for data in response.data] + return [ + DataClient.BinaryData(data.binary, data.metadata) for data in response.data + ] - async def delete_tabular_data(self, organization_id: str, delete_older_than_days: int) -> int: + async def delete_tabular_data( + self, organization_id: str, delete_older_than_days: int + ) -> int: """Delete tabular data older than a specified number of days. Args: @@ -298,8 +330,13 @@ async def delete_tabular_data(self, organization_id: str, delete_older_than_days delete_older_than_days (int): Delete data that was captured up to this many days ago. For example if `delete_older_than_days` is 10, this deletes any data that was captured up to 10 days ago. If it is 0, all existing data is deleted. """ - request = DeleteTabularDataRequest(organization_id=organization_id, delete_older_than_days=delete_older_than_days) - response: DeleteTabularDataResponse = await self._data_client.DeleteTabularData(request, metadata=self._metadata) + request = DeleteTabularDataRequest( + organization_id=organization_id, + delete_older_than_days=delete_older_than_days, + ) + response: DeleteTabularDataResponse = await self._data_client.DeleteTabularData( + request, metadata=self._metadata + ) return response.deleted_count async def delete_tabular_data_by_filter(self, filter: Optional[Filter]) -> int: @@ -315,7 +352,11 @@ async def delete_binary_data_by_filter(self, filter: Optional[Filter]) -> int: """ filter = filter if filter else Filter() request = DeleteBinaryDataByFilterRequest(filter=filter) - response: DeleteBinaryDataByFilterResponse = await self._data_client.DeleteBinaryDataByFilter(request, metadata=self._metadata) + response: DeleteBinaryDataByFilterResponse = ( + await self._data_client.DeleteBinaryDataByFilter( + request, metadata=self._metadata + ) + ) return response.deleted_count async def delete_binary_data_by_ids(self, binary_ids: List[BinaryID]) -> int: @@ -331,10 +372,16 @@ async def delete_binary_data_by_ids(self, binary_ids: List[BinaryID]) -> int: int: The number of items deleted. """ request = DeleteBinaryDataByIDsRequest(binary_ids=binary_ids) - response: DeleteBinaryDataByIDsResponse = await self._data_client.DeleteBinaryDataByIDs(request, metadata=self._metadata) + response: DeleteBinaryDataByIDsResponse = ( + await self._data_client.DeleteBinaryDataByIDs( + request, metadata=self._metadata + ) + ) return response.deleted_count - async def add_tags_to_binary_data_by_ids(self, tags: List[str], binary_ids: List[BinaryID]) -> None: + async def add_tags_to_binary_data_by_ids( + self, tags: List[str], binary_ids: List[BinaryID] + ) -> None: """Add tags to binary data. Args: @@ -345,9 +392,13 @@ async def add_tags_to_binary_data_by_ids(self, tags: List[str], binary_ids: List GRPCError: If no `BinaryID` objects or tags are provided. """ request = AddTagsToBinaryDataByIDsRequest(binary_ids=binary_ids, tags=tags) - await self._data_client.AddTagsToBinaryDataByIDs(request, metadata=self._metadata) + await self._data_client.AddTagsToBinaryDataByIDs( + request, metadata=self._metadata + ) - async def add_tags_to_binary_data_by_filter(self, tags: List[str], filter: Optional[Filter] = None) -> None: + async def add_tags_to_binary_data_by_filter( + self, tags: List[str], filter: Optional[Filter] = None + ) -> None: """Add tags to binary data. Args: @@ -360,9 +411,13 @@ async def add_tags_to_binary_data_by_filter(self, tags: List[str], filter: Optio """ filter = filter if filter else Filter() request = AddTagsToBinaryDataByFilterRequest(filter=filter, tags=tags) - await self._data_client.AddTagsToBinaryDataByFilter(request, metadata=self._metadata) + await self._data_client.AddTagsToBinaryDataByFilter( + request, metadata=self._metadata + ) - async def remove_tags_from_binary_data_by_ids(self, tags: List[str], binary_ids: List[BinaryID]) -> int: + async def remove_tags_from_binary_data_by_ids( + self, tags: List[str], binary_ids: List[BinaryID] + ) -> int: """Remove tags from binary. Args: @@ -376,12 +431,16 @@ async def remove_tags_from_binary_data_by_ids(self, tags: List[str], binary_ids: int: The number of tags removed. """ request = RemoveTagsFromBinaryDataByIDsRequest(binary_ids=binary_ids, tags=tags) - response: RemoveTagsFromBinaryDataByIDsResponse = await self._data_client.RemoveTagsFromBinaryDataByIDs( - request, metadata=self._metadata + response: RemoveTagsFromBinaryDataByIDsResponse = ( + await self._data_client.RemoveTagsFromBinaryDataByIDs( + request, metadata=self._metadata + ) ) return response.deleted_count - async def remove_tags_from_binary_data_by_filter(self, tags: List[str], filter: Optional[Filter] = None) -> int: + async def remove_tags_from_binary_data_by_filter( + self, tags: List[str], filter: Optional[Filter] = None + ) -> int: """Remove tags from binary data. Args: @@ -397,8 +456,10 @@ async def remove_tags_from_binary_data_by_filter(self, tags: List[str], filter: """ filter = filter if filter else Filter() request = RemoveTagsFromBinaryDataByFilterRequest(filter=filter, tags=tags) - response: RemoveTagsFromBinaryDataByFilterResponse = await self._data_client.RemoveTagsFromBinaryDataByFilter( - request, metadata=self._metadata + response: RemoveTagsFromBinaryDataByFilterResponse = ( + await self._data_client.RemoveTagsFromBinaryDataByFilter( + request, metadata=self._metadata + ) ) return response.deleted_count @@ -414,7 +475,9 @@ async def tags_by_filter(self, filter: Optional[Filter] = None) -> List[str]: """ filter = filter if filter else Filter() request = TagsByFilterRequest(filter=filter) - response: TagsByFilterResponse = await self._data_client.TagsByFilter(request, metadata=self._metadata) + response: TagsByFilterResponse = await self._data_client.TagsByFilter( + request, metadata=self._metadata + ) return list(response.tags) async def add_bounding_box_to_image_by_id( @@ -450,20 +513,32 @@ async def add_bounding_box_to_image_by_id( y_max_normalized=y_max_normalized, y_min_normalized=y_min_normalized, ) - response: AddBoundingBoxToImageByIDResponse = await self._data_client.AddBoundingBoxToImageByID(request, metadata=self._metadata) + response: AddBoundingBoxToImageByIDResponse = ( + await self._data_client.AddBoundingBoxToImageByID( + request, metadata=self._metadata + ) + ) return response.bbox_id - async def remove_bounding_box_from_image_by_id(self, bbox_id: str, binary_id: BinaryID) -> None: + async def remove_bounding_box_from_image_by_id( + self, bbox_id: str, binary_id: BinaryID + ) -> None: """Removes a bounding box from an image. Args: bbox_id (str): The ID of the bounding box to remove. Binary_id (viam.proto.arr.data.BinaryID): Binary ID of the image to to remove the bounding box from """ - request = RemoveBoundingBoxFromImageByIDRequest(bbox_id=bbox_id, binary_id=binary_id) - await self._data_client.RemoveBoundingBoxFromImageByID(request, metadata=self._metadata) + request = RemoveBoundingBoxFromImageByIDRequest( + bbox_id=bbox_id, binary_id=binary_id + ) + await self._data_client.RemoveBoundingBoxFromImageByID( + request, metadata=self._metadata + ) - async def bounding_box_labels_by_filter(self, filter: Optional[Filter] = None) -> List[str]: + async def bounding_box_labels_by_filter( + self, filter: Optional[Filter] = None + ) -> List[str]: """Get a list of bounding box labels using a `Filter`. Args: @@ -475,7 +550,11 @@ async def bounding_box_labels_by_filter(self, filter: Optional[Filter] = None) - """ filter = filter if filter else Filter() request = BoundingBoxLabelsByFilterRequest(filter=filter) - response: BoundingBoxLabelsByFilterResponse = await self._data_client.BoundingBoxLabelsByFilter(request, metadata=self._metadata) + response: BoundingBoxLabelsByFilterResponse = ( + await self._data_client.BoundingBoxLabelsByFilter( + request, metadata=self._metadata + ) + ) return list(response.labels) async def get_database_connection(self, organization_id: str) -> str: @@ -488,11 +567,17 @@ async def get_database_connection(self, organization_id: str) -> str: str: The hostname of the federated database. """ request = GetDatabaseConnectionRequest(organization_id=organization_id) - response: GetDatabaseConnectionResponse = await self._data_client.GetDatabaseConnection(request, metadata=self._metadata) + response: GetDatabaseConnectionResponse = ( + await self._data_client.GetDatabaseConnection( + request, metadata=self._metadata + ) + ) return response.hostname # TODO(RSDK-5569): implement - async def configure_database_user(self, organization_id: str, password: str) -> None: + async def configure_database_user( + self, organization_id: str, password: str + ) -> None: raise NotImplementedError() async def create_dataset(self, name: str, organization_id: str) -> str: @@ -506,7 +591,9 @@ async def create_dataset(self, name: str, organization_id: str) -> str: str: The dataset ID of the created dataset. """ request = CreateDatasetRequest(name=name, organization_id=organization_id) - response: CreateDatasetResponse = await self._dataset_client.CreateDataset(request, metadata=self._metadata) + response: CreateDatasetResponse = await self._dataset_client.CreateDataset( + request, metadata=self._metadata + ) return response.id async def list_dataset_by_ids(self, ids: List[str]) -> Sequence[Dataset]: @@ -519,11 +606,17 @@ async def list_dataset_by_ids(self, ids: List[str]) -> Sequence[Dataset]: Sequence[Dataset]: The list of datasets. """ request = ListDatasetsByIDsRequest(ids=ids) - response: ListDatasetsByIDsResponse = await self._dataset_client.ListDatasetsByIDs(request, metadata=self._metadata) + response: ListDatasetsByIDsResponse = ( + await self._dataset_client.ListDatasetsByIDs( + request, metadata=self._metadata + ) + ) return response.datasets - async def list_datasets_by_organization_id(self, organization_id: str) -> Sequence[Dataset]: + async def list_datasets_by_organization_id( + self, organization_id: str + ) -> Sequence[Dataset]: """Get the datasets in an organization. Args: @@ -533,8 +626,10 @@ async def list_datasets_by_organization_id(self, organization_id: str) -> Sequen Sequence[Dataset]: The list of datasets in the organization. """ request = ListDatasetsByOrganizationIDRequest(organization_id=organization_id) - response: ListDatasetsByOrganizationIDResponse = await self._dataset_client.ListDatasetsByOrganizationID( - request, metadata=self._metadata + response: ListDatasetsByOrganizationIDResponse = ( + await self._dataset_client.ListDatasetsByOrganizationID( + request, metadata=self._metadata + ) ) return response.datasets @@ -558,7 +653,9 @@ async def delete_dataset(self, id: str) -> None: request = DeleteDatasetRequest(id=id) await self._dataset_client.DeleteDataset(request, metadata=self._metadata) - async def add_binary_data_to_dataset_by_ids(self, binary_ids: List[BinaryID], dataset_id: str) -> None: + async def add_binary_data_to_dataset_by_ids( + self, binary_ids: List[BinaryID], dataset_id: str + ) -> None: """Add the BinaryData to the provided dataset. This BinaryData will be tagged with the VIAM_DATASET_{id} label. @@ -567,10 +664,16 @@ async def add_binary_data_to_dataset_by_ids(self, binary_ids: List[BinaryID], da binary_ids (List[BinaryID]): The IDs of binary data to add to dataset. dataset_id (str): The ID of the dataset to be added to. """ - request = AddBinaryDataToDatasetByIDsRequest(binary_ids=binary_ids, dataset_id=dataset_id) - await self._data_client.AddBinaryDataToDatasetByIDs(request, metadata=self._metadata) + request = AddBinaryDataToDatasetByIDsRequest( + binary_ids=binary_ids, dataset_id=dataset_id + ) + await self._data_client.AddBinaryDataToDatasetByIDs( + request, metadata=self._metadata + ) - async def remove_binary_data_from_dataset_by_ids(self, binary_ids: List[BinaryID], dataset_id: str) -> None: + async def remove_binary_data_from_dataset_by_ids( + self, binary_ids: List[BinaryID], dataset_id: str + ) -> None: """Remove the BinaryData from the provided dataset. This BinaryData will lose the VIAM_DATASET_{id} tag. @@ -579,8 +682,12 @@ async def remove_binary_data_from_dataset_by_ids(self, binary_ids: List[BinaryID binary_ids (List[BinaryID]): The IDs of binary data to remove from dataset. dataset_id (str): The ID of the dataset to be removed from. """ - request = RemoveBinaryDataFromDatasetByIDsRequest(binary_ids=binary_ids, dataset_id=dataset_id) - await self._data_client.RemoveBinaryDataFromDatasetByIDs(request, metadata=self._metadata) + request = RemoveBinaryDataFromDatasetByIDsRequest( + binary_ids=binary_ids, dataset_id=dataset_id + ) + await self._data_client.RemoveBinaryDataFromDatasetByIDs( + request, metadata=self._metadata + ) async def binary_data_capture_upload( self, @@ -619,8 +726,12 @@ async def binary_data_capture_upload( sensor_contents = SensorData( metadata=( SensorMetadata( - time_requested=datetime_to_timestamp(data_request_times[0]) if data_request_times else None, - time_received=datetime_to_timestamp(data_request_times[1]) if data_request_times else None, + time_requested=datetime_to_timestamp(data_request_times[0]) + if data_request_times + else None, + time_received=datetime_to_timestamp(data_request_times[1]) + if data_request_times + else None, ) if data_request_times else None @@ -638,8 +749,12 @@ async def binary_data_capture_upload( tags=tags, ) if file_extension: - metadata.file_extension = file_extension if file_extension[0] == "." else f".{file_extension}" - response = await self._data_capture_upload(metadata=metadata, sensor_contents=[sensor_contents]) + metadata.file_extension = ( + file_extension if file_extension[0] == "." else f".{file_extension}" + ) + response = await self._data_capture_upload( + metadata=metadata, sensor_contents=[sensor_contents] + ) return response.file_id async def tabular_data_capture_upload( @@ -681,7 +796,9 @@ async def tabular_data_capture_upload( sensor_contents = [] if data_request_times: if len(data_request_times) != len(tabular_data): - raise ValueError("data_request_times and tabular_data lengths must be equal.") + raise ValueError( + "data_request_times and tabular_data lengths must be equal." + ) for idx, tab in enumerate(tabular_data): s = Struct() @@ -690,8 +807,16 @@ async def tabular_data_capture_upload( SensorData( metadata=( SensorMetadata( - time_requested=datetime_to_timestamp(data_request_times[idx][0]) if data_request_times else None, - time_received=datetime_to_timestamp(data_request_times[idx][1]) if data_request_times else None, + time_requested=datetime_to_timestamp( + data_request_times[idx][0] + ) + if data_request_times + else None, + time_received=datetime_to_timestamp( + data_request_times[idx][1] + ) + if data_request_times + else None, ) if data_request_times[idx] else None @@ -711,12 +836,22 @@ async def tabular_data_capture_upload( method_parameters=method_parameters, tags=tags, ) - response = await self._data_capture_upload(metadata=metadata, sensor_contents=sensor_contents) + response = await self._data_capture_upload( + metadata=metadata, sensor_contents=sensor_contents + ) return response.file_id - async def _data_capture_upload(self, metadata: UploadMetadata, sensor_contents: List[SensorData]) -> DataCaptureUploadResponse: - request = DataCaptureUploadRequest(metadata=metadata, sensor_contents=sensor_contents) - response: DataCaptureUploadResponse = await self._data_sync_client.DataCaptureUpload(request, metadata=self._metadata) + async def _data_capture_upload( + self, metadata: UploadMetadata, sensor_contents: List[SensorData] + ) -> DataCaptureUploadResponse: + request = DataCaptureUploadRequest( + metadata=metadata, sensor_contents=sensor_contents + ) + response: DataCaptureUploadResponse = ( + await self._data_sync_client.DataCaptureUpload( + request, metadata=self._metadata + ) + ) return response async def streaming_data_capture_upload( @@ -763,18 +898,32 @@ async def streaming_data_capture_upload( tags=tags, ) sensor_metadata = SensorMetadata( - time_requested=datetime_to_timestamp(data_request_times[0]) if data_request_times else None, - time_received=datetime_to_timestamp(data_request_times[1]) if data_request_times else None, + time_requested=datetime_to_timestamp(data_request_times[0]) + if data_request_times + else None, + time_received=datetime_to_timestamp(data_request_times[1]) + if data_request_times + else None, + ) + metadata = DataCaptureUploadMetadata( + upload_metadata=upload_metadata, sensor_metadata=sensor_metadata ) - metadata = DataCaptureUploadMetadata(upload_metadata=upload_metadata, sensor_metadata=sensor_metadata) request_metadata = StreamingDataCaptureUploadRequest(metadata=metadata) - stream: Stream[StreamingDataCaptureUploadRequest, StreamingDataCaptureUploadResponse] - async with self._data_sync_client.StreamingDataCaptureUpload.open(metadata=self._metadata) as stream: + stream: Stream[ + StreamingDataCaptureUploadRequest, StreamingDataCaptureUploadResponse + ] + async with self._data_sync_client.StreamingDataCaptureUpload.open( + metadata=self._metadata + ) as stream: await stream.send_message(request_metadata) - await stream.send_message(StreamingDataCaptureUploadRequest(data=data), end=True) + await stream.send_message( + StreamingDataCaptureUploadRequest(data=data), end=True + ) response = await stream.recv_message() if not response: - await stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error + await ( + stream.recv_trailing_metadata() + ) # causes us to throw appropriate gRPC error raise TypeError("Response cannot be empty") return response.file_id @@ -825,7 +974,9 @@ async def file_upload( file_extension=file_extension if file_extension else "", tags=tags, ) - response: FileUploadResponse = await self._file_upload(metadata=metadata, file_contents=FileData(data=data)) + response: FileUploadResponse = await self._file_upload( + metadata=metadata, file_contents=FileData(data=data) + ) return response.file_id async def file_upload_from_path( @@ -878,19 +1029,27 @@ async def file_upload_from_path( file_extension=file_extension if file_extension else "", tags=tags, ) - response: FileUploadResponse = await self._file_upload(metadata=metadata, file_contents=FileData(data=data if data else bytes())) + response: FileUploadResponse = await self._file_upload( + metadata=metadata, file_contents=FileData(data=data if data else bytes()) + ) return response.file_id - async def _file_upload(self, metadata: UploadMetadata, file_contents: FileData) -> FileUploadResponse: + async def _file_upload( + self, metadata: UploadMetadata, file_contents: FileData + ) -> FileUploadResponse: request_metadata = FileUploadRequest(metadata=metadata) request_file_contents = FileUploadRequest(file_contents=file_contents) stream: Stream[FileUploadRequest, FileUploadResponse] - async with self._data_sync_client.FileUpload.open(metadata=self._metadata) as stream: + async with self._data_sync_client.FileUpload.open( + metadata=self._metadata + ) as stream: await stream.send_message(request_metadata) await stream.send_message(request_file_contents, end=True) response = await stream.recv_message() if not response: - await stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error. + await ( + stream.recv_trailing_metadata() + ) # causes us to throw appropriate gRPC error. raise TypeError("Response cannot be empty") return response @@ -912,7 +1071,11 @@ def create_filter( bbox_labels: Optional[List[str]] = None, dataset_id: Optional[str] = None, ) -> Filter: - warnings.warn("DataClient.create_filter is deprecated. Use utils.create_filter instead.", DeprecationWarning, stacklevel=2) + warnings.warn( + "DataClient.create_filter is deprecated. Use utils.create_filter instead.", + DeprecationWarning, + stacklevel=2, + ) return create_filter( component_name, component_type, diff --git a/src/viam/app/ml_training_client.py b/src/viam/app/ml_training_client.py index 6fecf5257..06f6e63ef 100644 --- a/src/viam/app/ml_training_client.py +++ b/src/viam/app/ml_training_client.py @@ -59,7 +59,11 @@ async def get_training_job(self, id: str) -> TrainingJobMetadata: """ request = GetTrainingJobRequest(id=id) - response: GetTrainingJobResponse = await self._ml_training_client.GetTrainingJob(request, metadata=self._metadata) + response: GetTrainingJobResponse = ( + await self._ml_training_client.GetTrainingJob( + request, metadata=self._metadata + ) + ) return response.metadata @@ -79,9 +83,19 @@ async def list_training_jobs( List[viam.proto.app.mltraining.TrainingJobMetadata]: a list of training job data. """ - training_status = training_status if training_status else TrainingStatus.TRAINING_STATUS_UNSPECIFIED - request = ListTrainingJobsRequest(organization_id=org_id, status=training_status) - response: ListTrainingJobsResponse = await self._ml_training_client.ListTrainingJobs(request, metadata=self._metadata) + training_status = ( + training_status + if training_status + else TrainingStatus.TRAINING_STATUS_UNSPECIFIED + ) + request = ListTrainingJobsRequest( + organization_id=org_id, status=training_status + ) + response: ListTrainingJobsResponse = ( + await self._ml_training_client.ListTrainingJobs( + request, metadata=self._metadata + ) + ) return list(response.jobs) @@ -96,4 +110,6 @@ async def cancel_training_job(self, id: str) -> None: """ request = CancelTrainingJobRequest(id=id) - await self._ml_training_client.CancelTrainingJob(request, metadata=self._metadata) + await self._ml_training_client.CancelTrainingJob( + request, metadata=self._metadata + ) diff --git a/src/viam/app/viam_client.py b/src/viam/app/viam_client.py index 128bfb167..8877f513f 100644 --- a/src/viam/app/viam_client.py +++ b/src/viam/app/viam_client.py @@ -22,7 +22,9 @@ class ViamClient: """ @classmethod - async def create_from_dial_options(cls, dial_options: DialOptions, app_url: Optional[str] = None) -> Self: + async def create_from_dial_options( + cls, dial_options: DialOptions, app_url: Optional[str] = None + ) -> Self: """Create `ViamClient` that establishes a connection to the Viam app. Args: @@ -51,7 +53,9 @@ async def create_from_dial_options(cls, dial_options: DialOptions, app_url: Opti if app_url is None: app_url = "app.viam.com" self._channel = await _dial_app(app_url) - access_token = await _get_access_token(self._channel, dial_options.auth_entity, dial_options) + access_token = await _get_access_token( + self._channel, dial_options.auth_entity, dial_options + ) self._metadata = {"authorization": f"Bearer {access_token}"} return self diff --git a/src/viam/components/arm/__init__.py b/src/viam/components/arm/__init__.py index 8e38680fa..911d48b69 100644 --- a/src/viam/components/arm/__init__.py +++ b/src/viam/components/arm/__init__.py @@ -34,7 +34,16 @@ async def create_status(component: Arm) -> Status: joint_positions=joint_positions, is_moving=is_moving, ) - return Status(name=Arm.get_resource_name(component.name), status=message_to_struct(s)) + return Status( + name=Arm.get_resource_name(component.name), status=message_to_struct(s) + ) -Registry.register_subtype(ResourceRegistration(Arm, ArmRPCService, lambda name, channel: ArmClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Arm, + ArmRPCService, + lambda name, channel: ArmClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/arm/client.py b/src/viam/components/arm/client.py index 35afa46b1..c6f61a486 100644 --- a/src/viam/components/arm/client.py +++ b/src/viam/components/arm/client.py @@ -2,7 +2,13 @@ from grpclib.client import Channel -from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetKinematicsRequest, GetKinematicsResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + Geometry, + GetKinematicsRequest, + GetKinematicsResponse, +) from viam.proto.component.arm import ( ArmServiceStub, GetEndPositionRequest, @@ -44,7 +50,9 @@ async def get_end_position( if extra is None: extra = {} request = GetEndPositionRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetEndPositionResponse = await self.client.GetEndPosition(request, timeout=timeout) + response: GetEndPositionResponse = await self.client.GetEndPosition( + request, timeout=timeout + ) return response.pose async def move_to_position( @@ -57,7 +65,9 @@ async def move_to_position( ): if extra is None: extra = {} - request = MoveToPositionRequest(name=self.name, to=pose, extra=dict_to_struct(extra)) + request = MoveToPositionRequest( + name=self.name, to=pose, extra=dict_to_struct(extra) + ) await self.client.MoveToPosition(request, timeout=timeout) async def get_joint_positions( @@ -70,7 +80,9 @@ async def get_joint_positions( if extra is None: extra = {} request = GetJointPositionsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetJointPositionsResponse = await self.client.GetJointPositions(request, timeout=timeout) + response: GetJointPositionsResponse = await self.client.GetJointPositions( + request, timeout=timeout + ) return response.positions async def move_to_joint_positions( @@ -83,7 +95,9 @@ async def move_to_joint_positions( ): if extra is None: extra = {} - request = MoveToJointPositionsRequest(name=self.name, positions=positions, extra=dict_to_struct(extra)) + request = MoveToJointPositionsRequest( + name=self.name, positions=positions, extra=dict_to_struct(extra) + ) await self.client.MoveToJointPositions(request, timeout=timeout) async def stop( @@ -100,7 +114,9 @@ async def stop( async def is_moving(self, *, timeout: Optional[float] = None) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def do_command( @@ -111,7 +127,9 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) async def get_kinematics( @@ -120,8 +138,12 @@ async def get_kinematics( if extra is None: extra = {} request = GetKinematicsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetKinematicsResponse = await self.client.GetKinematics(request, timeout=timeout) + response: GetKinematicsResponse = await self.client.GetKinematics( + request, timeout=timeout + ) return (response.format, response.kinematics_data) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/arm/service.py b/src/viam/components/arm/service.py index 1f0d67906..3549a6b7e 100644 --- a/src/viam/components/arm/service.py +++ b/src/viam/components/arm/service.py @@ -36,43 +36,69 @@ class ArmRPCService(ArmServiceBase, ResourceRPCServiceBase[Arm]): RESOURCE_TYPE = Arm - async def GetEndPosition(self, stream: Stream[GetEndPositionRequest, GetEndPositionResponse]) -> None: + async def GetEndPosition( + self, stream: Stream[GetEndPositionRequest, GetEndPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name arm = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - position = await arm.get_end_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + position = await arm.get_end_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetEndPositionResponse(pose=position) await stream.send_message(response) - async def MoveToPosition(self, stream: Stream[MoveToPositionRequest, MoveToPositionResponse]) -> None: + async def MoveToPosition( + self, stream: Stream[MoveToPositionRequest, MoveToPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name arm = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await arm.move_to_position(request.to, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await arm.move_to_position( + request.to, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = MoveToPositionResponse() await stream.send_message(response) - async def GetJointPositions(self, stream: Stream[GetJointPositionsRequest, GetJointPositionsResponse]) -> None: + async def GetJointPositions( + self, stream: Stream[GetJointPositionsRequest, GetJointPositionsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name arm = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - positions = await arm.get_joint_positions(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + positions = await arm.get_joint_positions( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetJointPositionsResponse(positions=positions) await stream.send_message(response) - async def MoveToJointPositions(self, stream: Stream[MoveToJointPositionsRequest, MoveToJointPositionsResponse]) -> None: + async def MoveToJointPositions( + self, stream: Stream[MoveToJointPositionsRequest, MoveToJointPositionsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name arm = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await arm.move_to_joint_positions(request.positions, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await arm.move_to_joint_positions( + request.positions, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = MoveToJointPositionsResponse() await stream.send_message(response) @@ -82,7 +108,11 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: name = request.name arm = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await arm.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await arm.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = StopResponse() await stream.send_message(response) @@ -95,29 +125,43 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N response = IsMovingResponse(is_moving=is_moving) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await arm.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await arm.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetKinematics(self, stream: Stream[GetKinematicsRequest, GetKinematicsResponse]) -> None: + async def GetKinematics( + self, stream: Stream[GetKinematicsRequest, GetKinematicsResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - format, kinematics_data = await arm.get_kinematics(extra=struct_to_dict(request.extra), timeout=timeout) + format, kinematics_data = await arm.get_kinematics( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetKinematicsResponse(format=format, kinematics_data=kinematics_data) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/audio_input/audio_input.py b/src/viam/components/audio_input/audio_input.py index e47a65bbe..251d76dbb 100644 --- a/src/viam/components/audio_input/audio_input.py +++ b/src/viam/components/audio_input/audio_input.py @@ -72,7 +72,9 @@ async def stream(self, *, timeout: Optional[float] = None, **kwargs) -> AudioStr ... @abc.abstractmethod - async def get_properties(self, *, timeout: Optional[float] = None, **kwargs) -> Properties: + async def get_properties( + self, *, timeout: Optional[float] = None, **kwargs + ) -> Properties: """Get the properties of the audio input of the underlying robot Returns: diff --git a/src/viam/components/audio_input/client.py b/src/viam/components/audio_input/client.py index 6e654e374..dd4bbbab1 100644 --- a/src/viam/components/audio_input/client.py +++ b/src/viam/components/audio_input/client.py @@ -29,16 +29,28 @@ def __init__(self, name: str, channel: Channel): self.client = AudioInputServiceStub(channel) super().__init__(name) - async def stream(self, *, timeout: Optional[float] = None, **__) -> MediaStream[Audio]: + async def stream( + self, *, timeout: Optional[float] = None, **__ + ) -> MediaStream[Audio]: async def read() -> AsyncIterator[Audio]: async with self.client.Chunks.open(timeout=timeout) as chunks_stream: await chunks_stream.send_message( - ChunksRequest(name=self.name, sample_format=SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED), end=True + ChunksRequest( + name=self.name, + sample_format=SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED, + ), + end=True, ) - response: Union[ChunksResponse, None] = await chunks_stream.recv_message() + response: Union[ + ChunksResponse, None + ] = await chunks_stream.recv_message() if not response: - await chunks_stream.recv_trailing_metadata() # causes us to throw appropriate gRPC error. - raise TypeError("Response cannot be empty") # we should never get here, but for typechecking + await ( + chunks_stream.recv_trailing_metadata() + ) # causes us to throw appropriate gRPC error. + raise TypeError( + "Response cannot be empty" + ) # we should never get here, but for typechecking assert response.HasField("info") info = response.info @@ -52,15 +64,29 @@ async def read() -> AsyncIterator[Audio]: return MediaStreamWithIterator(read()) - async def get_properties(self, *, timeout: Optional[float] = None, **__) -> AudioInput.Properties: + async def get_properties( + self, *, timeout: Optional[float] = None, **__ + ) -> AudioInput.Properties: request = PropertiesRequest(name=self.name) - response: PropertiesResponse = await self.client.Properties(request, timeout=timeout) + response: PropertiesResponse = await self.client.Properties( + request, timeout=timeout + ) return AudioInput.Properties.from_proto(response) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/audio_input/service.py b/src/viam/components/audio_input/service.py index 6d19242b9..8d7d14c3f 100644 --- a/src/viam/components/audio_input/service.py +++ b/src/viam/components/audio_input/service.py @@ -7,7 +7,12 @@ from grpclib.server import Stream from viam.errors import NotSupportedError -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.audioinput import ( AudioInputServiceBase, ChunksRequest, @@ -35,7 +40,9 @@ async def Chunks(self, stream: Stream[ChunksRequest, ChunksResponse]) -> None: assert request is not None audio_input = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - audio_stream = await audio_input.stream(timeout=timeout, metadata=stream.metadata) + audio_stream = await audio_input.stream( + timeout=timeout, metadata=stream.metadata + ) first_chunk = await audio_stream.__anext__() await stream.send_message(ChunksResponse(info=first_chunk.info)) await stream.send_message(ChunksResponse(chunk=first_chunk.chunk)) @@ -43,12 +50,16 @@ async def Chunks(self, stream: Stream[ChunksRequest, ChunksResponse]) -> None: async for audio in audio_stream: await stream.send_message(ChunksResponse(chunk=audio.chunk)) - async def Properties(self, stream: Stream[PropertiesRequest, PropertiesResponse]) -> None: + async def Properties( + self, stream: Stream[PropertiesRequest, PropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None audio_input = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - response = (await audio_input.get_properties(timeout=timeout, metadata=stream.metadata)).proto + response = ( + await audio_input.get_properties(timeout=timeout, metadata=stream.metadata) + ).proto await stream.send_message(response) async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None: # pyright: ignore [reportInvalidTypeForm] @@ -66,12 +77,21 @@ async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None: # pyri audio_input = self.get_resource(request.name) audio_stream = await audio_input.stream() first_chunk = await audio_stream.__anext__() - num_chunks = int(duration.total_seconds() * float(first_chunk.info.sampling_rate / first_chunk.chunk.length)) + num_chunks = int( + duration.total_seconds() + * float(first_chunk.info.sampling_rate / first_chunk.chunk.length) + ) sample_width: int - if first_chunk.info.sample_format == SampleFormat.SAMPLE_FORMAT_INT16_INTERLEAVED: + if ( + first_chunk.info.sample_format + == SampleFormat.SAMPLE_FORMAT_INT16_INTERLEAVED + ): sample_width = 2 - elif first_chunk.info.sample_format == SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED: + elif ( + first_chunk.info.sample_format + == SampleFormat.SAMPLE_FORMAT_FLOAT32_INTERLEAVED + ): sample_width = 4 else: raise GRPCError(Status.INVALID_ARGUMENT, "Unspecified type of audio buffer") @@ -95,20 +115,30 @@ async def Record(self, stream: Stream[RecordRequest, HttpBody]) -> None: # pyri await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None audio_input = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await audio_input.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await audio_input.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None audio_input = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await audio_input.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await audio_input.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/base/__init__.py b/src/viam/components/base/__init__.py index da574fafb..0eaa486f2 100644 --- a/src/viam/components/base/__init__.py +++ b/src/viam/components/base/__init__.py @@ -15,7 +15,16 @@ async def create_status(component: Base) -> Status: s = ActuatorStatus(is_moving=await component.is_moving()) - return Status(name=Base.get_resource_name(component.name), status=message_to_struct(s)) + return Status( + name=Base.get_resource_name(component.name), status=message_to_struct(s) + ) -Registry.register_subtype(ResourceRegistration(Base, BaseRPCService, lambda name, channel: BaseClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Base, + BaseRPCService, + lambda name, channel: BaseClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/base/base.py b/src/viam/components/base/base.py index 94a506153..b38754787 100644 --- a/src/viam/components/base/base.py +++ b/src/viam/components/base/base.py @@ -143,7 +143,9 @@ async def is_moving(self) -> bool: ... @abc.abstractmethod - async def get_properties(self, *, timeout: Optional[float] = None, **kwargs) -> Properties: + async def get_properties( + self, *, timeout: Optional[float] = None, **kwargs + ) -> Properties: """ Get the base width and turning radius diff --git a/src/viam/components/base/client.py b/src/viam/components/base/client.py index c15f4dfb5..a930f5c34 100644 --- a/src/viam/components/base/client.py +++ b/src/viam/components/base/client.py @@ -99,7 +99,9 @@ async def set_velocity( ): if extra is None: extra = {} - request = SetVelocityRequest(name=self.name, linear=linear, angular=angular, extra=dict_to_struct(extra)) + request = SetVelocityRequest( + name=self.name, linear=linear, angular=angular, extra=dict_to_struct(extra) + ) await self.client.SetVelocity(request, timeout=timeout) async def stop( @@ -121,7 +123,9 @@ async def is_moving( **__, ) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def get_properties( @@ -134,7 +138,9 @@ async def get_properties( if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return Base.Properties( width_meters=response.width_meters, turning_radius_meters=response.turning_radius_meters, @@ -149,8 +155,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/base/service.py b/src/viam/components/base/service.py index 90563c041..eed5101c5 100644 --- a/src/viam/components/base/service.py +++ b/src/viam/components/base/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.base import ( BaseServiceBase, GetPropertiesRequest, @@ -31,7 +36,9 @@ class BaseRPCService(BaseServiceBase, ResourceRPCServiceBase[Base]): RESOURCE_TYPE = Base - async def MoveStraight(self, stream: Stream[MoveStraightRequest, MoveStraightResponse]) -> None: + async def MoveStraight( + self, stream: Stream[MoveStraightRequest, MoveStraightResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -70,19 +77,29 @@ async def SetPower(self, stream: Stream[SetPowerRequest, SetPowerResponse]) -> N base = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None await base.set_power( - request.linear, request.angular, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata + request.linear, + request.angular, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, ) response = SetPowerResponse() await stream.send_message(response) - async def SetVelocity(self, stream: Stream[SetVelocityRequest, SetVelocityResponse]) -> None: + async def SetVelocity( + self, stream: Stream[SetVelocityRequest, SetVelocityResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name base = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None await base.set_velocity( - request.linear, request.angular, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata + request.linear, + request.angular, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, ) await stream.send_message(SetVelocityResponse()) @@ -92,7 +109,11 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: name = request.name base = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await base.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await base.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = StopResponse() await stream.send_message(response) @@ -105,13 +126,17 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N response = IsMovingResponse(is_moving=is_moving) await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name base = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - properties = await base.get_properties(timeout=timeout, metadata=stream.metadata) + properties = await base.get_properties( + timeout=timeout, metadata=stream.metadata + ) response = GetPropertiesResponse( width_meters=properties.width_meters, turning_radius_meters=properties.turning_radius_meters, @@ -119,20 +144,30 @@ async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetProperties ) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None base = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await base.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await base.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None base = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await base.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await base.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/board/__init__.py b/src/viam/components/board/__init__.py index 3094c870a..fe4afbd65 100644 --- a/src/viam/components/board/__init__.py +++ b/src/viam/components/board/__init__.py @@ -12,7 +12,17 @@ async def create_status(component: Board) -> Status: - return Status(name=Board.get_resource_name(component.name), status=message_to_struct(await component.status())) + return Status( + name=Board.get_resource_name(component.name), + status=message_to_struct(await component.status()), + ) -Registry.register_subtype(ResourceRegistration(Board, BoardRPCService, lambda name, channel: BoardClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Board, + BoardRPCService, + lambda name, channel: BoardClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/board/board.py b/src/viam/components/board/board.py index 03a715645..033cd26c9 100644 --- a/src/viam/components/board/board.py +++ b/src/viam/components/board/board.py @@ -35,7 +35,13 @@ def __init__(self, name: str): self.name = name @abc.abstractmethod - async def read(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: + async def read( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> int: """ Read the current value. @@ -58,7 +64,13 @@ def __init__(self, name: str): self.name = name @abc.abstractmethod - async def value(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: + async def value( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> int: """ Get the current value of the interrupt, which is based on the type of interrupt. @@ -80,7 +92,14 @@ def __init__(self, name: str): self.name = name @abc.abstractmethod - async def set(self, high: bool, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def set( + self, + high: bool, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): """ Set the pin to either low or high. @@ -90,7 +109,13 @@ async def set(self, high: bool, *, extra: Optional[Dict[str, Any]] = None, timeo ... @abc.abstractmethod - async def get(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> bool: + async def get( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> bool: """ Get the high/low state of the pin. @@ -100,7 +125,13 @@ async def get(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional ... @abc.abstractmethod - async def get_pwm(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> float: + async def get_pwm( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> float: """ Get the pin's given duty cycle. @@ -110,7 +141,14 @@ async def get_pwm(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Opti ... @abc.abstractmethod - async def set_pwm(self, duty_cycle: float, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def set_pwm( + self, + duty_cycle: float, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): """ Set the pin to the given ``duty_cycle``. @@ -120,7 +158,13 @@ async def set_pwm(self, duty_cycle: float, *, extra: Optional[Dict[str, Any]] = ... @abc.abstractmethod - async def get_pwm_frequency(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: + async def get_pwm_frequency( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> int: """ Get the PWM frequency of the pin. @@ -207,7 +251,13 @@ async def digital_interrupt_names(self) -> List[str]: ... @abc.abstractmethod - async def status(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> BoardStatus: + async def status( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> BoardStatus: """ Return the current status of the board. @@ -218,7 +268,12 @@ async def status(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optio @abc.abstractmethod async def set_power_mode( - self, mode: PowerMode.ValueType, duration: Optional[timedelta] = None, *, timeout: Optional[float] = None, **kwargs + self, + mode: PowerMode.ValueType, + duration: Optional[timedelta] = None, + *, + timeout: Optional[float] = None, + **kwargs, ): """ Set the board to the indicated power mode. @@ -229,7 +284,9 @@ async def set_power_mode( ... @abc.abstractmethod - async def write_analog(self, pin: str, value: int, *, timeout: Optional[float] = None, **kwargs): + async def write_analog( + self, pin: str, value: int, *, timeout: Optional[float] = None, **kwargs + ): """ Write an analog value to a pin on the board. diff --git a/src/viam/components/board/client.py b/src/viam/components/board/client.py index 0719925d3..32a0311d4 100644 --- a/src/viam/components/board/client.py +++ b/src/viam/components/board/client.py @@ -46,8 +46,14 @@ async def read( ) -> int: if extra is None: extra = {} - request = ReadAnalogReaderRequest(board_name=self.board.name, analog_reader_name=self.name, extra=dict_to_struct(extra)) - response: ReadAnalogReaderResponse = await self.board.client.ReadAnalogReader(request, timeout=timeout) + request = ReadAnalogReaderRequest( + board_name=self.board.name, + analog_reader_name=self.name, + extra=dict_to_struct(extra), + ) + response: ReadAnalogReaderResponse = await self.board.client.ReadAnalogReader( + request, timeout=timeout + ) return response.value @@ -65,8 +71,14 @@ async def value( ) -> int: if extra is None: extra = {} - request = GetDigitalInterruptValueRequest(board_name=self.board.name, digital_interrupt_name=self.name, extra=dict_to_struct(extra)) - response: GetDigitalInterruptValueResponse = await self.board.client.GetDigitalInterruptValue(request, timeout=timeout) + request = GetDigitalInterruptValueRequest( + board_name=self.board.name, + digital_interrupt_name=self.name, + extra=dict_to_struct(extra), + ) + response: GetDigitalInterruptValueResponse = ( + await self.board.client.GetDigitalInterruptValue(request, timeout=timeout) + ) return response.value @@ -84,8 +96,12 @@ async def get( ) -> bool: if extra is None: extra = {} - request = GetGPIORequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) - response: GetGPIOResponse = await self.board.client.GetGPIO(request, timeout=timeout) + request = GetGPIORequest( + name=self.board.name, pin=self.name, extra=dict_to_struct(extra) + ) + response: GetGPIOResponse = await self.board.client.GetGPIO( + request, timeout=timeout + ) return response.high async def set( @@ -98,7 +114,9 @@ async def set( ): if extra is None: extra = {} - request = SetGPIORequest(name=self.board.name, pin=self.name, high=high, extra=dict_to_struct(extra)) + request = SetGPIORequest( + name=self.board.name, pin=self.name, high=high, extra=dict_to_struct(extra) + ) await self.board.client.SetGPIO(request, timeout=timeout) async def get_pwm( @@ -110,7 +128,9 @@ async def get_pwm( ) -> float: if extra is None: extra = {} - request = PWMRequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) + request = PWMRequest( + name=self.board.name, pin=self.name, extra=dict_to_struct(extra) + ) response: PWMResponse = await self.board.client.PWM(request, timeout=timeout) return response.duty_cycle_pct @@ -124,7 +144,12 @@ async def set_pwm( ): if extra is None: extra = {} - request = SetPWMRequest(name=self.board.name, pin=self.name, duty_cycle_pct=duty_cycle, extra=dict_to_struct(extra)) + request = SetPWMRequest( + name=self.board.name, + pin=self.name, + duty_cycle_pct=duty_cycle, + extra=dict_to_struct(extra), + ) await self.board.client.SetPWM(request, timeout=timeout) async def get_pwm_frequency( @@ -136,8 +161,12 @@ async def get_pwm_frequency( ) -> int: if extra is None: extra = {} - request = PWMFrequencyRequest(name=self.board.name, pin=self.name, extra=dict_to_struct(extra)) - response: PWMFrequencyResponse = await self.board.client.PWMFrequency(request, timeout=timeout) + request = PWMFrequencyRequest( + name=self.board.name, pin=self.name, extra=dict_to_struct(extra) + ) + response: PWMFrequencyResponse = await self.board.client.PWMFrequency( + request, timeout=timeout + ) return response.frequency_hz async def set_pwm_frequency( @@ -150,7 +179,12 @@ async def set_pwm_frequency( ): if extra is None: extra = {} - request = SetPWMFrequencyRequest(name=self.board.name, pin=self.name, frequency_hz=frequency, extra=dict_to_struct(extra)) + request = SetPWMFrequencyRequest( + name=self.board.name, + pin=self.name, + frequency_hz=frequency, + extra=dict_to_struct(extra), + ) await self.board.client.SetPWMFrequency(request, timeout=timeout) @@ -210,7 +244,9 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) async def set_power_mode( @@ -224,10 +260,14 @@ async def set_power_mode( duration_pb: Optional[Duration] = None if duration is not None: duration_pb = [(d, d.FromTimedelta(duration)) for d in [Duration()]][0][0] - request = SetPowerModeRequest(name=self.name, power_mode=mode, duration=duration_pb) + request = SetPowerModeRequest( + name=self.name, power_mode=mode, duration=duration_pb + ) await self.client.SetPowerMode(request, timeout=timeout) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) async def write_analog( @@ -241,5 +281,7 @@ async def write_analog( ): if extra is None: extra = {} - request = WriteAnalogRequest(name=self.name, pin=pin, value=value, extra=dict_to_struct(extra)) + request = WriteAnalogRequest( + name=self.name, pin=pin, value=value, extra=dict_to_struct(extra) + ) await self.client.WriteAnalog(request, timeout=timeout) diff --git a/src/viam/components/board/service.py b/src/viam/components/board/service.py index c68bb3ec6..443ef700c 100644 --- a/src/viam/components/board/service.py +++ b/src/viam/components/board/service.py @@ -1,7 +1,12 @@ from grpclib.server import Stream from viam.errors import ResourceNotFoundError -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.board import ( BoardServiceBase, GetDigitalInterruptValueRequest, @@ -46,7 +51,11 @@ async def Status(self, stream: Stream[StatusRequest, StatusResponse]) -> None: name = request.name board = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - status = await board.status(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + status = await board.status( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = StatusResponse(status=status) await stream.send_message(response) @@ -60,7 +69,12 @@ async def SetGPIO(self, stream: Stream[SetGPIORequest, SetGPIOResponse]) -> None except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - await pin.set(request.high, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await pin.set( + request.high, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = SetGPIOResponse() await stream.send_message(response) @@ -74,7 +88,11 @@ async def GetGPIO(self, stream: Stream[GetGPIORequest, GetGPIOResponse]) -> None except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - high = await pin.get(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + high = await pin.get( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetGPIOResponse(high=high) await stream.send_message(response) @@ -88,7 +106,11 @@ async def PWM(self, stream: Stream[PWMRequest, PWMResponse]) -> None: except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - pwm = await pin.get_pwm(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + pwm = await pin.get_pwm( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = PWMResponse(duty_cycle_pct=pwm) await stream.send_message(response) @@ -102,11 +124,18 @@ async def SetPWM(self, stream: Stream[SetPWMRequest, SetPWMResponse]) -> None: except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - await pin.set_pwm(request.duty_cycle_pct, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await pin.set_pwm( + request.duty_cycle_pct, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = SetPWMResponse() await stream.send_message(response) - async def PWMFrequency(self, stream: Stream[PWMFrequencyRequest, PWMFrequencyResponse]) -> None: + async def PWMFrequency( + self, stream: Stream[PWMFrequencyRequest, PWMFrequencyResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -116,11 +145,17 @@ async def PWMFrequency(self, stream: Stream[PWMFrequencyRequest, PWMFrequencyRes except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - frequency = await pin.get_pwm_frequency(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + frequency = await pin.get_pwm_frequency( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = PWMFrequencyResponse(frequency_hz=frequency) await stream.send_message(response) - async def SetPWMFrequency(self, stream: Stream[SetPWMFrequencyRequest, SetPWMFrequencyResponse]) -> None: + async def SetPWMFrequency( + self, stream: Stream[SetPWMFrequencyRequest, SetPWMFrequencyResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -130,39 +165,65 @@ async def SetPWMFrequency(self, stream: Stream[SetPWMFrequencyRequest, SetPWMFre except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - await pin.set_pwm_frequency(request.frequency_hz, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await pin.set_pwm_frequency( + request.frequency_hz, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = SetPWMFrequencyResponse() await stream.send_message(response) - async def ReadAnalogReader(self, stream: Stream[ReadAnalogReaderRequest, ReadAnalogReaderResponse]) -> None: + async def ReadAnalogReader( + self, stream: Stream[ReadAnalogReaderRequest, ReadAnalogReaderResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.board_name board = self.get_resource(name) try: - analog_reader = await board.analog_reader_by_name(request.analog_reader_name) + analog_reader = await board.analog_reader_by_name( + request.analog_reader_name + ) except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - value = await analog_reader.read(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + value = await analog_reader.read( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = ReadAnalogReaderResponse(value=value) await stream.send_message(response) - async def GetDigitalInterruptValue(self, stream: Stream[GetDigitalInterruptValueRequest, GetDigitalInterruptValueResponse]) -> None: + async def GetDigitalInterruptValue( + self, + stream: Stream[ + GetDigitalInterruptValueRequest, GetDigitalInterruptValueResponse + ], + ) -> None: request = await stream.recv_message() assert request is not None name = request.board_name board = self.get_resource(name) try: - interrupt = await board.digital_interrupt_by_name(request.digital_interrupt_name) + interrupt = await board.digital_interrupt_by_name( + request.digital_interrupt_name + ) except ResourceNotFoundError as e: raise e.grpc_error timeout = stream.deadline.time_remaining() if stream.deadline else None - value = await interrupt.value(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + value = await interrupt.value( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetDigitalInterruptValueResponse(value=value) await stream.send_message(response) - async def SetPowerMode(self, stream: Stream[SetPowerModeRequest, SetPowerModeResponse]) -> None: + async def SetPowerMode( + self, stream: Stream[SetPowerModeRequest, SetPowerModeResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -177,30 +238,47 @@ async def SetPowerMode(self, stream: Stream[SetPowerModeRequest, SetPowerModeRes response = SetPowerModeResponse() await stream.send_message(response) - async def WriteAnalog(self, stream: Stream[WriteAnalogRequest, WriteAnalogResponse]) -> None: + async def WriteAnalog( + self, stream: Stream[WriteAnalogRequest, WriteAnalogResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name board = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await board.write_analog(pin=request.pin, value=request.value, timeout=timeout, metadata=stream.metadata) + await board.write_analog( + pin=request.pin, + value=request.value, + timeout=timeout, + metadata=stream.metadata, + ) response = WriteAnalogResponse() await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None board = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await board.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await board.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/camera/camera.py b/src/viam/components/camera/camera.py index 741ad3fe0..87fa613c1 100644 --- a/src/viam/components/camera/camera.py +++ b/src/viam/components/camera/camera.py @@ -35,7 +35,12 @@ class Camera(ComponentBase): @abc.abstractmethod async def get_image( - self, mime_type: str = "", *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + mime_type: str = "", + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Union[Image, RawImage]: """Get the next image from the camera as an Image or RawImage. Be sure to close the image when finished. @@ -63,7 +68,9 @@ async def get_image( ... @abc.abstractmethod - async def get_images(self, *, timeout: Optional[float] = None, **kwargs) -> Tuple[List[NamedImage], ResponseMetadata]: + async def get_images( + self, *, timeout: Optional[float] = None, **kwargs + ) -> Tuple[List[NamedImage], ResponseMetadata]: """Get simultaneous images from different imagers, along with associated metadata. This should not be used for getting a time series of images from the same imager. @@ -87,7 +94,11 @@ async def get_images(self, *, timeout: Optional[float] = None, **kwargs) -> Tupl @abc.abstractmethod async def get_point_cloud( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Tuple[bytes, str]: """ Get the next point cloud from the camera. This will be @@ -117,7 +128,9 @@ async def get_point_cloud( ... @abc.abstractmethod - async def get_properties(self, *, timeout: Optional[float] = None, **kwargs) -> Properties: + async def get_properties( + self, *, timeout: Optional[float] = None, **kwargs + ) -> Properties: """ Get the camera intrinsic parameters and camera distortion parameters diff --git a/src/viam/components/camera/client.py b/src/viam/components/camera/client.py index bcf7af0ba..732771587 100644 --- a/src/viam/components/camera/client.py +++ b/src/viam/components/camera/client.py @@ -5,7 +5,12 @@ from PIL import Image from viam.media.video import LIBRARY_SUPPORTED_FORMATS, CameraMimeType, NamedImage -from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, ResponseMetadata +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + Geometry, + ResponseMetadata, +) from viam.proto.component.camera import ( CameraServiceStub, GetImageRequest, @@ -22,7 +27,9 @@ from . import Camera, RawImage -def get_image_from_response(data: bytes, response_mime_type: str, request_mime_type: str) -> Union[Image.Image, RawImage]: +def get_image_from_response( + data: bytes, response_mime_type: str, request_mime_type: str +) -> Union[Image.Image, RawImage]: if not request_mime_type: request_mime_type = response_mime_type mime_type, is_lazy = CameraMimeType.from_lazy(request_mime_type) @@ -52,9 +59,17 @@ async def get_image( ) -> Union[Image.Image, RawImage]: if extra is None: extra = {} - request = GetImageRequest(name=self.name, mime_type=mime_type, extra=dict_to_struct(extra)) - response: GetImageResponse = await self.client.GetImage(request, timeout=timeout) - return get_image_from_response(response.image, response_mime_type=response.mime_type, request_mime_type=request.mime_type) + request = GetImageRequest( + name=self.name, mime_type=mime_type, extra=dict_to_struct(extra) + ) + response: GetImageResponse = await self.client.GetImage( + request, timeout=timeout + ) + return get_image_from_response( + response.image, + response_mime_type=response.mime_type, + request_mime_type=request.mime_type, + ) async def get_images( self, @@ -63,7 +78,9 @@ async def get_images( **__, ) -> Tuple[List[NamedImage], ResponseMetadata]: request = GetImagesRequest(name=self.name) - response: GetImagesResponse = await self.client.GetImages(request, timeout=timeout) + response: GetImagesResponse = await self.client.GetImages( + request, timeout=timeout + ) imgs = [] for img_data in response.images: mime_type = CameraMimeType.from_proto(img_data.format) @@ -81,8 +98,12 @@ async def get_point_cloud( ) -> Tuple[bytes, str]: if extra is None: extra = {} - request = GetPointCloudRequest(name=self.name, mime_type=CameraMimeType.PCD, extra=dict_to_struct(extra)) - response: GetPointCloudResponse = await self.client.GetPointCloud(request, timeout=timeout) + request = GetPointCloudRequest( + name=self.name, mime_type=CameraMimeType.PCD, extra=dict_to_struct(extra) + ) + response: GetPointCloudResponse = await self.client.GetPointCloud( + request, timeout=timeout + ) return (response.point_cloud, response.mime_type) async def get_properties( @@ -91,7 +112,9 @@ async def get_properties( timeout: Optional[float] = None, **__, ) -> Camera.Properties: - return await self.client.GetProperties(GetPropertiesRequest(name=self.name), timeout=timeout) + return await self.client.GetProperties( + GetPropertiesRequest(name=self.name), timeout=timeout + ) async def do_command( self, @@ -101,8 +124,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/camera/service.py b/src/viam/components/camera/service.py index 9fe5f3663..1e70f5b13 100644 --- a/src/viam/components/camera/service.py +++ b/src/viam/components/camera/service.py @@ -6,7 +6,12 @@ from grpclib.server import Stream from viam.media.video import CameraMimeType -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.camera import ( CameraServiceBase, GetImageRequest, @@ -41,7 +46,12 @@ async def GetImage(self, stream: Stream[GetImageRequest, GetImageResponse]) -> N camera = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - image = await camera.get_image(request.mime_type, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + image = await camera.get_image( + request.mime_type, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) try: if not request.mime_type: if camera.name not in self._camera_mime_types: @@ -61,20 +71,26 @@ async def GetImage(self, stream: Stream[GetImageRequest, GetImageResponse]) -> N response.image = img_bytes await stream.send_message(response) - async def GetImages(self, stream: Stream[GetImagesRequest, GetImagesResponse]) -> None: + async def GetImages( + self, stream: Stream[GetImagesRequest, GetImagesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name camera = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - images, metadata = await camera.get_images(timeout=timeout, metadata=stream.metadata) + images, metadata = await camera.get_images( + timeout=timeout, metadata=stream.metadata + ) img_bytes_lst = [] for img in images: try: fmt = img.mime_type.to_proto() img_bytes = img.data - img_bytes_lst.append(Image(source_name=name, format=fmt, image=img_bytes)) + img_bytes_lst.append( + Image(source_name=name, format=fmt, image=img_bytes) + ) finally: img.close() response = GetImagesResponse(images=img_bytes_lst, response_metadata=metadata) @@ -90,31 +106,46 @@ async def RenderFrame(self, stream: Stream[RenderFrameRequest, HttpBody]) -> Non except ValueError: mimetype = CameraMimeType.JPEG timeout = stream.deadline.time_remaining() if stream.deadline else None - image = await camera.get_image(mimetype, timeout=timeout, metadata=stream.metadata) + image = await camera.get_image( + mimetype, timeout=timeout, metadata=stream.metadata + ) try: img = mimetype.encode_image(image) finally: image.close() - response = HttpBody(data=img, content_type=image.mime_type if isinstance(image, RawImage) else mimetype) # type: ignore + response = HttpBody( + data=img, + content_type=image.mime_type if isinstance(image, RawImage) else mimetype, + ) # type: ignore await stream.send_message(response) - async def GetPointCloud(self, stream: Stream[GetPointCloudRequest, GetPointCloudResponse]) -> None: + async def GetPointCloud( + self, stream: Stream[GetPointCloudRequest, GetPointCloudResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name camera = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - pc, mimetype = await camera.get_point_cloud(timeout=timeout, extra=struct_to_dict(request.extra), metadata=stream.metadata) + pc, mimetype = await camera.get_point_cloud( + timeout=timeout, + extra=struct_to_dict(request.extra), + metadata=stream.metadata, + ) response = GetPointCloudResponse(mime_type=mimetype, point_cloud=pc) await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name camera = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - properties = await camera.get_properties(timeout=timeout, metadata=stream.metadata) + properties = await camera.get_properties( + timeout=timeout, metadata=stream.metadata + ) response = GetPropertiesResponse( supports_pcd=properties.supports_pcd, intrinsic_parameters=properties.intrinsic_parameters, @@ -122,20 +153,30 @@ async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetProperties ) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None camera = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await camera.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await camera.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None camera = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await camera.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await camera.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/component_base.py b/src/viam/components/component_base.py index 1d7661efb..629d11cef 100644 --- a/src/viam/components/component_base.py +++ b/src/viam/components/component_base.py @@ -1,5 +1,17 @@ import abc -from typing import TYPE_CHECKING, Any, ClassVar, Dict, List, Mapping, Optional, SupportsBytes, SupportsFloat, Union, cast +from typing import ( + TYPE_CHECKING, + Any, + ClassVar, + Dict, + List, + Mapping, + Optional, + SupportsBytes, + SupportsFloat, + Union, + cast, +) from typing_extensions import Self @@ -40,10 +52,18 @@ def from_robot(cls, robot: "RobotClient", name: str) -> Self: component = robot.get_component(cls.get_resource_name(name)) return cast(cls, component) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **kwargs, + ) -> Mapping[str, ValueTypes]: raise NotImplementedError() - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: """ Get all geometries associated with the Component, in their current configuration, in the frame of the Component. diff --git a/src/viam/components/encoder/client.py b/src/viam/components/encoder/client.py index dd15a1c1d..89cd87d9a 100644 --- a/src/viam/components/encoder/client.py +++ b/src/viam/components/encoder/client.py @@ -50,8 +50,12 @@ async def get_position( ) -> Tuple[float, PositionType.ValueType]: if extra is None: extra = {} - request = GetPositionRequest(name=self.name, position_type=position_type, extra=dict_to_struct(extra)) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + request = GetPositionRequest( + name=self.name, position_type=position_type, extra=dict_to_struct(extra) + ) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return response.value, response.position_type async def get_properties( @@ -64,9 +68,12 @@ async def get_properties( if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return Encoder.Properties( - ticks_count_supported=response.ticks_count_supported, angle_degrees_supported=response.angle_degrees_supported + ticks_count_supported=response.ticks_count_supported, + angle_degrees_supported=response.angle_degrees_supported, ) async def do_command( @@ -77,8 +84,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/encoder/service.py b/src/viam/components/encoder/service.py index 9937a692b..9f174ea03 100644 --- a/src/viam/components/encoder/service.py +++ b/src/viam/components/encoder/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.encoder import ( EncoderServiceBase, GetPositionRequest, @@ -23,50 +28,79 @@ class EncoderRPCService(EncoderServiceBase, ResourceRPCServiceBase[Encoder]): RESOURCE_TYPE = Encoder - async def ResetPosition(self, stream: Stream[ResetPositionRequest, ResetPositionResponse]) -> None: + async def ResetPosition( + self, stream: Stream[ResetPositionRequest, ResetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name encoder = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await encoder.reset_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await encoder.reset_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(ResetPositionResponse()) - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name encoder = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None position, pos_type = await encoder.get_position( - position_type=request.position_type, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata + position_type=request.position_type, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) + await stream.send_message( + GetPositionResponse(value=position, position_type=pos_type) ) - await stream.send_message(GetPositionResponse(value=position, position_type=pos_type)) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name encoder = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - properties = await encoder.get_properties(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + properties = await encoder.get_properties( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetPropertiesResponse(**properties.__dict__) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None encoder = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await encoder.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await encoder.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/gantry/__init__.py b/src/viam/components/gantry/__init__.py index 36453d20d..67549062b 100644 --- a/src/viam/components/gantry/__init__.py +++ b/src/viam/components/gantry/__init__.py @@ -15,9 +15,22 @@ async def create_status(component: Gantry) -> Status: - (positions_mm, lengths_mm, is_moving) = await asyncio.gather(component.get_position(), component.get_lengths(), component.is_moving()) - s = GantryStatus(positions_mm=positions_mm, lengths_mm=lengths_mm, is_moving=is_moving) - return Status(name=Gantry.get_resource_name(component.name), status=message_to_struct(s)) + (positions_mm, lengths_mm, is_moving) = await asyncio.gather( + component.get_position(), component.get_lengths(), component.is_moving() + ) + s = GantryStatus( + positions_mm=positions_mm, lengths_mm=lengths_mm, is_moving=is_moving + ) + return Status( + name=Gantry.get_resource_name(component.name), status=message_to_struct(s) + ) -Registry.register_subtype(ResourceRegistration(Gantry, GantryRPCService, lambda name, channel: GantryClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Gantry, + GantryRPCService, + lambda name, channel: GantryClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/gantry/client.py b/src/viam/components/gantry/client.py index 3f2e62493..f33171ccf 100644 --- a/src/viam/components/gantry/client.py +++ b/src/viam/components/gantry/client.py @@ -42,7 +42,9 @@ async def get_position( if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return list(response.positions_mm) async def move_to_position( @@ -56,7 +58,12 @@ async def move_to_position( ): if extra is None: extra = {} - request = MoveToPositionRequest(name=self.name, positions_mm=positions, speeds_mm_per_sec=speeds, extra=dict_to_struct(extra)) + request = MoveToPositionRequest( + name=self.name, + positions_mm=positions, + speeds_mm_per_sec=speeds, + extra=dict_to_struct(extra), + ) await self.client.MoveToPosition(request, timeout=timeout) async def home( @@ -82,7 +89,9 @@ async def get_lengths( if extra is None: extra = {} request = GetLengthsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetLengthsResponse = await self.client.GetLengths(request, timeout=timeout) + response: GetLengthsResponse = await self.client.GetLengths( + request, timeout=timeout + ) return list(response.lengths_mm) async def stop( @@ -99,7 +108,9 @@ async def stop( async def is_moving(self, *, timeout: Optional[float] = None) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def do_command( @@ -110,8 +121,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/gantry/gantry.py b/src/viam/components/gantry/gantry.py index b714d1fea..be20db051 100644 --- a/src/viam/components/gantry/gantry.py +++ b/src/viam/components/gantry/gantry.py @@ -20,7 +20,13 @@ class Gantry(ComponentBase): ) @abc.abstractmethod - async def get_position(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[float]: + async def get_position( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> List[float]: """ Get the position in millimeters. @@ -70,7 +76,13 @@ async def move_to_position( ... @abc.abstractmethod - async def home(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> bool: + async def home( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> bool: """ Home the gantry to find it's starting and ending positions @@ -85,7 +97,13 @@ async def home(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optiona """ @abc.abstractmethod - async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[float]: + async def get_lengths( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> List[float]: """ Get the lengths of the axes of the gantry in millimeters. @@ -102,7 +120,13 @@ async def get_lengths(self, *, extra: Optional[Dict[str, Any]] = None, timeout: ... @abc.abstractmethod - async def stop(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def stop( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): """ Stop all motion of the gantry. It is assumed that the gantry stops immediately. diff --git a/src/viam/components/gantry/service.py b/src/viam/components/gantry/service.py index 8828f3496..993e9a1de 100644 --- a/src/viam/components/gantry/service.py +++ b/src/viam/components/gantry/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.gantry import ( GantryServiceBase, GetLengthsRequest, @@ -29,17 +34,25 @@ class GantryRPCService(GantryServiceBase, ResourceRPCServiceBase[Gantry]): RESOURCE_TYPE = Gantry - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name gantry = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - position = await gantry.get_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + position = await gantry.get_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetPositionResponse(positions_mm=position) await stream.send_message(response) - async def MoveToPosition(self, stream: Stream[MoveToPositionRequest, MoveToPositionResponse]) -> None: + async def MoveToPosition( + self, stream: Stream[MoveToPositionRequest, MoveToPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -61,17 +74,27 @@ async def Home(self, stream: Stream[HomeRequest, HomeResponse]) -> None: name = request.name gantry = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - homed = await gantry.home(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + homed = await gantry.home( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = HomeResponse(homed=homed) await stream.send_message(response) - async def GetLengths(self, stream: Stream[GetLengthsRequest, GetLengthsResponse]) -> None: + async def GetLengths( + self, stream: Stream[GetLengthsRequest, GetLengthsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name gantry = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - lengths = await gantry.get_lengths(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + lengths = await gantry.get_lengths( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetLengthsResponse(lengths_mm=lengths) await stream.send_message(response) @@ -81,7 +104,11 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: name = request.name gantry = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await gantry.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await gantry.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = StopResponse() await stream.send_message(response) @@ -94,20 +121,30 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N response = IsMovingResponse(is_moving=is_moving) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None gantry = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await gantry.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await gantry.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/generic/client.py b/src/viam/components/generic/client.py index 493e4e156..8d110f987 100644 --- a/src/viam/components/generic/client.py +++ b/src/viam/components/generic/client.py @@ -29,7 +29,9 @@ async def do_command( ) -> Mapping[str, Any]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) try: - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) except GRPCError as e: if e.status == Status.UNIMPLEMENTED: raise NotImplementedError() @@ -37,12 +39,18 @@ async def do_command( return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) async def do_command( - channel: Channel, name: str, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None + channel: Channel, + name: str, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, ) -> Mapping[str, ValueTypes]: """Convenience method to allow component clients to execute ``do_command`` functions diff --git a/src/viam/components/generic/service.py b/src/viam/components/generic/service.py index e8c60ea59..41b055306 100644 --- a/src/viam/components/generic/service.py +++ b/src/viam/components/generic/service.py @@ -2,7 +2,12 @@ from grpclib.server import Stream from viam.components.component_base import ComponentBase -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.generic import GenericServiceBase from viam.resource.rpc_service_base import ResourceRPCServiceBase from viam.utils import dict_to_struct, struct_to_dict @@ -17,24 +22,37 @@ class GenericRPCService(GenericServiceBase, ResourceRPCServiceBase): RESOURCE_TYPE = ComponentBase - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name component = self.get_resource(name) try: timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await component.do_command(struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await component.do_command( + struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) except NotImplementedError: - raise GRPCError(Status.UNIMPLEMENTED, f"``DO`` command is unimplemented for component named: {name}") + raise GRPCError( + Status.UNIMPLEMENTED, + f"``DO`` command is unimplemented for component named: {name}", + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None component = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await component.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await component.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/gripper/__init__.py b/src/viam/components/gripper/__init__.py index 55b9f7aee..4a7d2846a 100644 --- a/src/viam/components/gripper/__init__.py +++ b/src/viam/components/gripper/__init__.py @@ -14,9 +14,16 @@ async def create_status(component: Gripper) -> Status: s = ActuatorStatus(is_moving=await component.is_moving()) - return Status(name=Gripper.get_resource_name(component.name), status=message_to_struct(s)) + return Status( + name=Gripper.get_resource_name(component.name), status=message_to_struct(s) + ) Registry.register_subtype( - ResourceRegistration(Gripper, GripperRPCService, lambda name, channel: GripperClient(name, channel), create_status) + ResourceRegistration( + Gripper, + GripperRPCService, + lambda name, channel: GripperClient(name, channel), + create_status, + ) ) diff --git a/src/viam/components/gripper/client.py b/src/viam/components/gripper/client.py index 61acff974..72d41de57 100644 --- a/src/viam/components/gripper/client.py +++ b/src/viam/components/gripper/client.py @@ -67,7 +67,9 @@ async def stop( async def is_moving(self, *, timeout: Optional[float] = None) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def do_command( @@ -78,8 +80,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/gripper/service.py b/src/viam/components/gripper/service.py index bd8b6f1da..eb34e7065 100644 --- a/src/viam/components/gripper/service.py +++ b/src/viam/components/gripper/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.gripper import ( GrabRequest, GrabResponse, @@ -31,7 +36,11 @@ async def Open(self, stream: Stream[OpenRequest, OpenResponse]) -> None: name = request.name gripper = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await gripper.open(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await gripper.open( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = OpenResponse() await stream.send_message(response) @@ -41,7 +50,11 @@ async def Grab(self, stream: Stream[GrabRequest, GrabResponse]) -> None: name = request.name gripper = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - grabbed = await gripper.grab(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + grabbed = await gripper.grab( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GrabResponse(success=grabbed) await stream.send_message(response) @@ -50,7 +63,11 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: assert request is not None gripper = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await gripper.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await gripper.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(StopResponse()) async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> None: @@ -62,20 +79,30 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N response = IsMovingResponse(is_moving=is_moving) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None gripper = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await gripper.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await gripper.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/input/__init__.py b/src/viam/components/input/__init__.py index 41dcee24c..b457519ab 100644 --- a/src/viam/components/input/__init__.py +++ b/src/viam/components/input/__init__.py @@ -19,10 +19,21 @@ async def create_status(component: Controller) -> Status: return Status( name=Controller.get_resource_name(component.name), - status=message_to_struct(InputStatus(events=[event.proto for event in (await component.get_events()).values()])), + status=message_to_struct( + InputStatus( + events=[ + event.proto for event in (await component.get_events()).values() + ] + ) + ), ) Registry.register_subtype( - ResourceRegistration(Controller, InputControllerRPCService, lambda name, channel: ControllerClient(name, channel), create_status) + ResourceRegistration( + Controller, + InputControllerRPCService, + lambda name, channel: ControllerClient(name, channel), + create_status, + ) ) diff --git a/src/viam/components/input/client.py b/src/viam/components/input/client.py index 96282fa36..6d318877c 100644 --- a/src/viam/components/input/client.py +++ b/src/viam/components/input/client.py @@ -53,7 +53,9 @@ async def get_controls( if extra is None: extra = {} request = GetControlsRequest(controller=self.name, extra=dict_to_struct(extra)) - response: GetControlsResponse = await self.client.GetControls(request, timeout=timeout) + response: GetControlsResponse = await self.client.GetControls( + request, timeout=timeout + ) return [Control(control) for control in response.controls] async def get_events( @@ -66,8 +68,13 @@ async def get_events( if extra is None: extra = {} request = GetEventsRequest(controller=self.name, extra=dict_to_struct(extra)) - response: GetEventsResponse = await self.client.GetEvents(request, timeout=timeout) - return {Control(event.control): Event.from_proto(event) for (event) in response.events} + response: GetEventsResponse = await self.client.GetEvents( + request, timeout=timeout + ) + return { + Control(event.control): Event.from_proto(event) + for (event) in response.events + } def register_control_callback( self, @@ -99,7 +106,9 @@ def handle_task_result(task: asyncio.Task): except Exception: LOGGER.exception("Exception raised by task = %r", task) - task = asyncio.create_task(self._stream_events(), name=f"{viam._TASK_PREFIX}-input_stream_events") + task = asyncio.create_task( + self._stream_events(), name=f"{viam._TASK_PREFIX}-input_stream_events" + ) task.add_done_callback(handle_task_result) def reset_channel(self, channel: Channel): @@ -119,12 +128,20 @@ async def trigger_event( ): if extra is None: extra = {} - request = TriggerEventRequest(controller=self.name, event=event.proto, extra=dict_to_struct(extra)) + request = TriggerEventRequest( + controller=self.name, event=event.proto, extra=dict_to_struct(extra) + ) try: await self.client.TriggerEvent(request, timeout=timeout) except GRPCError as e: - if e.status == Status.UNIMPLEMENTED and ("does not support triggering events" in e.message if e.message else False): - raise NotSupportedError(f"Input controller named {self.name} does not support triggering events") + if e.status == Status.UNIMPLEMENTED and ( + "does not support triggering events" in e.message + if e.message + else False + ): + raise NotSupportedError( + f"Input controller named {self.name} does not support triggering events" + ) raise e async def _stream_events(self): @@ -136,13 +153,17 @@ async def _stream_events(self): if not self.callbacks: return - request = StreamEventsRequest(controller=self.name, events=[], extra=self._callback_extra) + request = StreamEventsRequest( + controller=self.name, events=[], extra=self._callback_extra + ) with self._lock: for control, callbacks in self.callbacks.items(): event = StreamEventsRequest.Events( control=control, events=[et for (et, func) in callbacks.items() if func is not None], - cancelled_events=[et for (et, func) in callbacks.items() if func is None], + cancelled_events=[ + et for (et, func) in callbacks.items() if func is None + ], ) request.events.append(event) @@ -164,7 +185,12 @@ async def _stream_events(self): def _send_connection_status(self, connected: bool): for control in self.callbacks.keys(): - event = Event(time=time(), event=EventType.CONNECT if connected else EventType.DISCONNECT, control=control, value=0) + event = Event( + time=time(), + event=EventType.CONNECT if connected else EventType.DISCONNECT, + control=control, + value=0, + ) self._execute_callback(event) def _execute_callback(self, event: Event): @@ -188,8 +214,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/input/input.py b/src/viam/components/input/input.py index a90c71d2d..38282dc42 100644 --- a/src/viam/components/input/input.py +++ b/src/viam/components/input/input.py @@ -119,12 +119,19 @@ def proto(self): dt = datetime.fromtimestamp(self.time) timestamp = Timestamp() timestamp.FromDatetime(dt) - return PBEvent(time=timestamp, event=self.event.value, control=self.control.value, value=self.value) + return PBEvent( + time=timestamp, + event=self.event.value, + control=self.control.value, + value=self.value, + ) @classmethod def from_proto(cls, proto: PBEvent) -> Self: dt = proto.time.ToDatetime() - return cls(dt.timestamp(), EventType(proto.event), Control(proto.control), proto.value) + return cls( + dt.timestamp(), EventType(proto.event), Control(proto.control), proto.value + ) ControlFunction = Callable[[Event], None] @@ -142,7 +149,13 @@ class Controller(ComponentBase): ) @abc.abstractmethod - async def get_controls(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> List[Control]: + async def get_controls( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> List[Control]: """ Returns a list of Controls provided by the Controller @@ -165,7 +178,11 @@ async def get_controls(self, *, extra: Optional[Dict[str, Any]] = None, timeout: @abc.abstractmethod async def get_events( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Dict[Control, Event]: """ Returns the most recent Event for each input @@ -274,4 +291,6 @@ async def trigger_event( Args: event (Event): The event to trigger """ - raise NotSupportedError(f"Input controller named {self.name} does not support triggering events") + raise NotSupportedError( + f"Input controller named {self.name} does not support triggering events" + ) diff --git a/src/viam/components/input/service.py b/src/viam/components/input/service.py index 01175a183..d8c6eac03 100644 --- a/src/viam/components/input/service.py +++ b/src/viam/components/input/service.py @@ -7,7 +7,12 @@ import viam from viam.errors import NotSupportedError -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.inputcontroller import ( GetControlsRequest, GetControlsResponse, @@ -27,35 +32,51 @@ LOGGER = viam.logging.getLogger(__name__) -class InputControllerRPCService(InputControllerServiceBase, ResourceRPCServiceBase[Controller]): +class InputControllerRPCService( + InputControllerServiceBase, ResourceRPCServiceBase[Controller] +): """ gRPC Service for an input controller """ RESOURCE_TYPE = Controller - async def GetControls(self, stream: Stream[GetControlsRequest, GetControlsResponse]) -> None: + async def GetControls( + self, stream: Stream[GetControlsRequest, GetControlsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.controller controller = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - controls = await controller.get_controls(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + controls = await controller.get_controls( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetControlsResponse(controls=[c.value for c in controls]) await stream.send_message(response) - async def GetEvents(self, stream: Stream[GetEventsRequest, GetEventsResponse]) -> None: + async def GetEvents( + self, stream: Stream[GetEventsRequest, GetEventsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.controller controller = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - events = await controller.get_events(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + events = await controller.get_events( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) pb_events = [e.proto for e in events.values()] response = GetEventsResponse(events=pb_events) await stream.send_message(response) - async def StreamEvents(self, stream: Stream[StreamEventsRequest, StreamEventsResponse]) -> None: + async def StreamEvents( + self, stream: Stream[StreamEventsRequest, StreamEventsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.controller @@ -109,7 +130,9 @@ async def send_message(): except Exception as e: cleanup(e) - loop.create_task(send_message(), name=f"{viam._TASK_PREFIX}-input_send_event") + loop.create_task( + send_message(), name=f"{viam._TASK_PREFIX}-input_send_event" + ) loop.add_reader(pipe_r, read) @@ -140,7 +163,9 @@ def unregister_pipe_callbacks(): extra=struct_to_dict(request.extra), ) - async def TriggerEvent(self, stream: Stream[TriggerEventRequest, TriggerEventResponse]) -> None: + async def TriggerEvent( + self, stream: Stream[TriggerEventRequest, TriggerEventResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.controller @@ -149,27 +174,42 @@ async def TriggerEvent(self, stream: Stream[TriggerEventRequest, TriggerEventRes try: pb_event = request.event event = Event.from_proto(pb_event) - await controller.trigger_event(event, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await controller.trigger_event( + event, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) except NotSupportedError as e: raise e.grpc_error response = TriggerEventResponse() await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None controller = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await controller.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await controller.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None arm = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await arm.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await arm.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/motor/__init__.py b/src/viam/components/motor/__init__.py index 5f6fb607b..1d5072859 100644 --- a/src/viam/components/motor/__init__.py +++ b/src/viam/components/motor/__init__.py @@ -25,7 +25,16 @@ async def create_status(component: Motor) -> Status: position=position, is_moving=is_moving, ) - return Status(name=Motor.get_resource_name(component.name), status=message_to_struct(s)) + return Status( + name=Motor.get_resource_name(component.name), status=message_to_struct(s) + ) -Registry.register_subtype(ResourceRegistration(Motor, MotorRPCService, lambda name, channel: MotorClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Motor, + MotorRPCService, + lambda name, channel: MotorClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/motor/client.py b/src/viam/components/motor/client.py index dc6e0ff14..6a47c6407 100644 --- a/src/viam/components/motor/client.py +++ b/src/viam/components/motor/client.py @@ -45,7 +45,9 @@ async def set_power( ): if extra is None: extra = {} - request = SetPowerRequest(name=self.name, power_pct=power, extra=dict_to_struct(extra)) + request = SetPowerRequest( + name=self.name, power_pct=power, extra=dict_to_struct(extra) + ) await self.client.SetPower(request, timeout=timeout) async def go_for( @@ -59,7 +61,12 @@ async def go_for( ): if extra is None: extra = {} - request = GoForRequest(name=self.name, rpm=rpm, revolutions=revolutions, extra=dict_to_struct(extra)) + request = GoForRequest( + name=self.name, + rpm=rpm, + revolutions=revolutions, + extra=dict_to_struct(extra), + ) await self.client.GoFor(request, timeout=timeout) async def go_to( @@ -73,7 +80,12 @@ async def go_to( ): if extra is None: extra = {} - request = GoToRequest(name=self.name, rpm=rpm, position_revolutions=position_revolutions, extra=dict_to_struct(extra)) + request = GoToRequest( + name=self.name, + rpm=rpm, + position_revolutions=position_revolutions, + extra=dict_to_struct(extra), + ) await self.client.GoTo(request, timeout=timeout) async def reset_zero_position( @@ -86,7 +98,9 @@ async def reset_zero_position( ): if extra is None: extra = {} - request = ResetZeroPositionRequest(name=self.name, offset=offset, extra=dict_to_struct(extra)) + request = ResetZeroPositionRequest( + name=self.name, offset=offset, extra=dict_to_struct(extra) + ) await self.client.ResetZeroPosition(request, timeout=timeout) async def get_position( @@ -99,7 +113,9 @@ async def get_position( if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return response.position async def get_properties( @@ -112,7 +128,9 @@ async def get_properties( if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return Motor.Properties(position_reporting=response.position_reporting) async def stop( @@ -137,12 +155,16 @@ async def is_powered( if extra is None: extra = {} request = IsPoweredRequest(name=self.name, extra=dict_to_struct(extra)) - response: IsPoweredResponse = await self.client.IsPowered(request, timeout=timeout) + response: IsPoweredResponse = await self.client.IsPowered( + request, timeout=timeout + ) return response.is_on, response.power_pct async def is_moving(self, *, timeout: Optional[float] = None) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def do_command( @@ -153,8 +175,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/motor/service.py b/src/viam/components/motor/service.py index 638e5be53..7e32b2e85 100644 --- a/src/viam/components/motor/service.py +++ b/src/viam/components/motor/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.motor import ( GetPositionRequest, GetPositionResponse, @@ -41,7 +46,12 @@ async def SetPower(self, stream: Stream[SetPowerRequest, SetPowerResponse]) -> N name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await motor.set_power(request.power_pct, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await motor.set_power( + request.power_pct, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(SetPowerResponse()) async def GoFor(self, stream: Stream[GoForRequest, GoForResponse]) -> None: @@ -50,7 +60,13 @@ async def GoFor(self, stream: Stream[GoForRequest, GoForResponse]) -> None: name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await motor.go_for(request.rpm, request.revolutions, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await motor.go_for( + request.rpm, + request.revolutions, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(GoForResponse()) async def GoTo(self, stream: Stream[GoToRequest, GoToResponse]) -> None: @@ -60,35 +76,58 @@ async def GoTo(self, stream: Stream[GoToRequest, GoToResponse]) -> None: motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None await motor.go_to( - request.rpm, request.position_revolutions, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata + request.rpm, + request.position_revolutions, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, ) await stream.send_message(GoToResponse()) - async def ResetZeroPosition(self, stream: Stream[ResetZeroPositionRequest, ResetZeroPositionResponse]) -> None: + async def ResetZeroPosition( + self, stream: Stream[ResetZeroPositionRequest, ResetZeroPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await motor.reset_zero_position(request.offset, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await motor.reset_zero_position( + request.offset, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(ResetZeroPositionResponse()) - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - position = await motor.get_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + position = await motor.get_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(GetPositionResponse(position=position)) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - properties = await motor.get_properties(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + properties = await motor.get_properties( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetPropertiesResponse(**properties.__dict__) await stream.send_message(response) @@ -98,18 +137,30 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await motor.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await motor.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = StopResponse() await stream.send_message(response) - async def IsPowered(self, stream: Stream[IsPoweredRequest, IsPoweredResponse]) -> None: + async def IsPowered( + self, stream: Stream[IsPoweredRequest, IsPoweredResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name motor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - is_powered, power_pct = await motor.is_powered(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) - await stream.send_message(IsPoweredResponse(is_on=is_powered, power_pct=power_pct)) + is_powered, power_pct = await motor.is_powered( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) + await stream.send_message( + IsPoweredResponse(is_on=is_powered, power_pct=power_pct) + ) async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> None: request = await stream.recv_message() @@ -120,20 +171,30 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N response = IsMovingResponse(is_moving=is_moving) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None motor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await motor.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await motor.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None motor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await motor.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await motor.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/movement_sensor/client.py b/src/viam/components/movement_sensor/client.py index 238218f4d..11ae480ff 100644 --- a/src/viam/components/movement_sensor/client.py +++ b/src/viam/components/movement_sensor/client.py @@ -3,7 +3,13 @@ from grpclib.client import Channel from viam.components.movement_sensor.movement_sensor import MovementSensor -from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetReadingsRequest, GetReadingsResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + Geometry, + GetReadingsRequest, + GetReadingsResponse, +) from viam.proto.component.movementsensor import ( GetAccuracyRequest, GetAngularVelocityRequest, @@ -23,7 +29,14 @@ MovementSensorServiceStub, ) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase -from viam.utils import SensorReading, ValueTypes, dict_to_struct, get_geometries, sensor_readings_value_to_native, struct_to_dict +from viam.utils import ( + SensorReading, + ValueTypes, + dict_to_struct, + get_geometries, + sensor_readings_value_to_native, + struct_to_dict, +) from . import GeoPoint, Orientation, Vector3 @@ -46,7 +59,9 @@ async def get_position( if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return response.coordinate, response.altitude_m async def get_linear_velocity( @@ -59,7 +74,9 @@ async def get_linear_velocity( if extra is None: extra = {} request = GetLinearVelocityRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetLinearVelocityResponse = await self.client.GetLinearVelocity(request, timeout=timeout) + response: GetLinearVelocityResponse = await self.client.GetLinearVelocity( + request, timeout=timeout + ) return response.linear_velocity async def get_angular_velocity( @@ -72,7 +89,9 @@ async def get_angular_velocity( if extra is None: extra = {} request = GetAngularVelocityRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetAngularVelocityResponse = await self.client.GetAngularVelocity(request, timeout=timeout) + response: GetAngularVelocityResponse = await self.client.GetAngularVelocity( + request, timeout=timeout + ) return response.angular_velocity async def get_linear_acceleration( @@ -84,8 +103,12 @@ async def get_linear_acceleration( ) -> Vector3: if extra is None: extra = {} - request = GetLinearAccelerationRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetLinearAccelerationResponse = await self.client.GetLinearAcceleration(request, timeout=timeout) + request = GetLinearAccelerationRequest( + name=self.name, extra=dict_to_struct(extra) + ) + response: GetLinearAccelerationResponse = ( + await self.client.GetLinearAcceleration(request, timeout=timeout) + ) return response.linear_acceleration async def get_compass_heading( @@ -98,7 +121,9 @@ async def get_compass_heading( if extra is None: extra = {} request = GetCompassHeadingRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetCompassHeadingResponse = await self.client.GetCompassHeading(request, timeout=timeout) + response: GetCompassHeadingResponse = await self.client.GetCompassHeading( + request, timeout=timeout + ) return response.value async def get_orientation( @@ -111,7 +136,9 @@ async def get_orientation( if extra is None: extra = {} request = GetOrientationRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetOrientationResponse = await self.client.GetOrientation(request, timeout=timeout) + response: GetOrientationResponse = await self.client.GetOrientation( + request, timeout=timeout + ) return response.orientation async def get_properties( @@ -124,7 +151,9 @@ async def get_properties( if extra is None: extra = {} request = GetPropertiesRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return MovementSensor.Properties.from_proto(response) async def get_accuracy( @@ -149,7 +178,9 @@ async def get_readings( if extra is None: extra = {} request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) + response: GetReadingsResponse = await self.client.GetReadings( + request, timeout=timeout + ) return sensor_readings_value_to_native(response.readings) @@ -161,8 +192,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/movement_sensor/movement_sensor.py b/src/viam/components/movement_sensor/movement_sensor.py index 252fee7d2..218a98433 100644 --- a/src/viam/components/movement_sensor/movement_sensor.py +++ b/src/viam/components/movement_sensor/movement_sensor.py @@ -6,7 +6,10 @@ from typing_extensions import Self from viam.components.component_base import ComponentBase -from viam.proto.component.movementsensor import GetAccuracyResponse, GetPropertiesResponse +from viam.proto.component.movementsensor import ( + GetAccuracyResponse, + GetPropertiesResponse, +) from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_COMPONENT, Subtype from viam.utils import SensorReading @@ -64,7 +67,11 @@ def from_proto(cls, proto: GetPropertiesResponse) -> Self: @abc.abstractmethod async def get_position( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Tuple[GeoPoint, float]: """Get the current GeoPoint (latitude, longitude) and altitude (m) @@ -74,7 +81,13 @@ async def get_position( ... @abc.abstractmethod - async def get_linear_velocity(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Vector3: + async def get_linear_velocity( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Vector3: """Get the current linear velocity as a ``Vector3`` with x, y, and z axes represented in m/sec Returns: @@ -83,7 +96,13 @@ async def get_linear_velocity(self, *, extra: Optional[Dict[str, Any]] = None, t ... @abc.abstractmethod - async def get_angular_velocity(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Vector3: + async def get_angular_velocity( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Vector3: """Get the current angular velocity as a ``Vector3`` with x, y, and z axes represented in degrees/sec Returns: @@ -93,7 +112,11 @@ async def get_angular_velocity(self, *, extra: Optional[Dict[str, Any]] = None, @abc.abstractmethod async def get_linear_acceleration( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Vector3: """Get the current linear acceleration as a ``Vector3`` with x, y, and z axes represented in m/sec^2 @@ -103,7 +126,13 @@ async def get_linear_acceleration( ... @abc.abstractmethod - async def get_compass_heading(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> float: + async def get_compass_heading( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> float: """Get the current compass heading in degrees Returns: @@ -112,7 +141,13 @@ async def get_compass_heading(self, *, extra: Optional[Dict[str, Any]] = None, t ... @abc.abstractmethod - async def get_orientation(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Orientation: + async def get_orientation( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Orientation: """Get the current orientation Returns: @@ -121,7 +156,13 @@ async def get_orientation(self, *, extra: Optional[Dict[str, Any]] = None, timeo ... @abc.abstractmethod - async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Properties: + async def get_properties( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Properties: """Get the supported properties of this sensor Returns: @@ -130,7 +171,13 @@ async def get_properties(self, *, extra: Optional[Dict[str, Any]] = None, timeou ... @abc.abstractmethod - async def get_accuracy(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Accuracy: + async def get_accuracy( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Accuracy: """Get the accuracy of the various sensors Returns: @@ -139,7 +186,11 @@ async def get_accuracy(self, *, extra: Optional[Dict[str, Any]] = None, timeout: ... async def get_readings( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Mapping[str, SensorReading]: """Obtain the measurements/data specific to this sensor. If a sensor is not configured to have a measurement or fails to read a piece of data, it will not appear in the readings dictionary. diff --git a/src/viam/components/movement_sensor/service.py b/src/viam/components/movement_sensor/service.py index 003dbae01..4cb8da385 100644 --- a/src/viam/components/movement_sensor/service.py +++ b/src/viam/components/movement_sensor/service.py @@ -32,115 +32,184 @@ from viam.utils import dict_to_struct, sensor_readings_native_to_value, struct_to_dict -class MovementSensorRPCService(MovementSensorServiceBase, ResourceRPCServiceBase[MovementSensor]): +class MovementSensorRPCService( + MovementSensorServiceBase, ResourceRPCServiceBase[MovementSensor] +): """ gRPC Service for a MovementSensor """ RESOURCE_TYPE = MovementSensor - async def GetLinearVelocity(self, stream: Stream[GetLinearVelocityRequest, GetLinearVelocityResponse]) -> None: + async def GetLinearVelocity( + self, stream: Stream[GetLinearVelocityRequest, GetLinearVelocityResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - velocity = await sensor.get_linear_velocity(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + velocity = await sensor.get_linear_velocity( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetLinearVelocityResponse(linear_velocity=velocity) await stream.send_message(response) - async def GetAngularVelocity(self, stream: Stream[GetAngularVelocityRequest, GetAngularVelocityResponse]) -> None: + async def GetAngularVelocity( + self, stream: Stream[GetAngularVelocityRequest, GetAngularVelocityResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - velocity = await sensor.get_angular_velocity(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + velocity = await sensor.get_angular_velocity( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetAngularVelocityResponse(angular_velocity=velocity) await stream.send_message(response) - async def GetLinearAcceleration(self, stream: Stream[GetLinearAccelerationRequest, GetLinearAccelerationResponse]) -> None: + async def GetLinearAcceleration( + self, + stream: Stream[GetLinearAccelerationRequest, GetLinearAccelerationResponse], + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - acceleration = await sensor.get_linear_acceleration(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + acceleration = await sensor.get_linear_acceleration( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetLinearAccelerationResponse(linear_acceleration=acceleration) await stream.send_message(response) - async def GetCompassHeading(self, stream: Stream[GetCompassHeadingRequest, GetCompassHeadingResponse]) -> None: + async def GetCompassHeading( + self, stream: Stream[GetCompassHeadingRequest, GetCompassHeadingResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - heading = await sensor.get_compass_heading(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + heading = await sensor.get_compass_heading( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetCompassHeadingResponse(value=heading) await stream.send_message(response) - async def GetOrientation(self, stream: Stream[GetOrientationRequest, GetOrientationResponse]) -> None: + async def GetOrientation( + self, stream: Stream[GetOrientationRequest, GetOrientationResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - orientation = await sensor.get_orientation(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + orientation = await sensor.get_orientation( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetOrientationResponse(orientation=orientation) await stream.send_message(response) - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - point, alt = await sensor.get_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + point, alt = await sensor.get_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetPositionResponse(coordinate=point, altitude_m=alt) await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - response = await sensor.get_properties(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + response = await sensor.get_properties( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(response.proto) - async def GetAccuracy(self, stream: Stream[GetAccuracyRequest, GetAccuracyResponse]) -> None: + async def GetAccuracy( + self, stream: Stream[GetAccuracyRequest, GetAccuracyResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - accuracy = await sensor.get_accuracy(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + accuracy = await sensor.get_accuracy( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(accuracy) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None sensor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await sensor.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await sensor.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None sensor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await sensor.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await sensor.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) - async def GetReadings(self, stream: Stream[GetReadingsRequest, GetReadingsResponse]) -> None: + async def GetReadings( + self, stream: Stream[GetReadingsRequest, GetReadingsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - readings = await sensor.get_readings(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) - response = GetReadingsResponse(readings=sensor_readings_native_to_value(readings)) + readings = await sensor.get_readings( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) + response = GetReadingsResponse( + readings=sensor_readings_native_to_value(readings) + ) await stream.send_message(response) diff --git a/src/viam/components/pose_tracker/client.py b/src/viam/components/pose_tracker/client.py index 308f30535..3299d8c1f 100644 --- a/src/viam/components/pose_tracker/client.py +++ b/src/viam/components/pose_tracker/client.py @@ -3,7 +3,11 @@ from grpclib.client import Channel from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, PoseInFrame -from viam.proto.component.posetracker import GetPosesRequest, GetPosesResponse, PoseTrackerServiceStub +from viam.proto.component.posetracker import ( + GetPosesRequest, + GetPosesResponse, + PoseTrackerServiceStub, +) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase from viam.utils import ValueTypes, dict_to_struct, get_geometries, struct_to_dict @@ -30,8 +34,12 @@ async def get_poses( ) -> Dict[str, PoseInFrame]: if extra is None: extra = {} - request = GetPosesRequest(name=self.name, body_names=body_names, extra=dict_to_struct(extra)) - response: GetPosesResponse = await self.client.GetPoses(request, timeout=timeout) + request = GetPosesRequest( + name=self.name, body_names=body_names, extra=dict_to_struct(extra) + ) + response: GetPosesResponse = await self.client.GetPoses( + request, timeout=timeout + ) return {key: response.body_poses[key] for key in response.body_poses.keys()} async def do_command( @@ -42,8 +50,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/pose_tracker/service.py b/src/viam/components/pose_tracker/service.py index 96fc069f9..15880dfb6 100644 --- a/src/viam/components/pose_tracker/service.py +++ b/src/viam/components/pose_tracker/service.py @@ -1,14 +1,25 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse -from viam.proto.component.posetracker import GetPosesRequest, GetPosesResponse, PoseTrackerServiceBase +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) +from viam.proto.component.posetracker import ( + GetPosesRequest, + GetPosesResponse, + PoseTrackerServiceBase, +) from viam.resource.rpc_service_base import ResourceRPCServiceBase from viam.utils import dict_to_struct, struct_to_dict from .pose_tracker import PoseTracker -class PoseTrackerRPCService(PoseTrackerServiceBase, ResourceRPCServiceBase[PoseTracker]): +class PoseTrackerRPCService( + PoseTrackerServiceBase, ResourceRPCServiceBase[PoseTracker] +): """ gRPC service for a pose tracker """ @@ -22,24 +33,37 @@ async def GetPoses(self, stream: Stream[GetPosesRequest, GetPosesResponse]) -> N pose_tracker = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None poses = await pose_tracker.get_poses( - list(request.body_names), extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata + list(request.body_names), + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, ) await stream.send_message(GetPosesResponse(body_poses=poses)) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None pose_tracker = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await pose_tracker.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await pose_tracker.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None pose_tracker = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await pose_tracker.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await pose_tracker.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/power_sensor/client.py b/src/viam/components/power_sensor/client.py index 7418ef6cd..ad8c9c373 100644 --- a/src/viam/components/power_sensor/client.py +++ b/src/viam/components/power_sensor/client.py @@ -3,7 +3,12 @@ from grpclib.client import Channel from viam.components.power_sensor.power_sensor import PowerSensor -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetReadingsRequest, GetReadingsResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetReadingsRequest, + GetReadingsResponse, +) from viam.proto.component.powersensor import ( GetCurrentRequest, GetCurrentResponse, @@ -14,7 +19,13 @@ PowerSensorServiceStub, ) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase -from viam.utils import SensorReading, ValueTypes, dict_to_struct, sensor_readings_value_to_native, struct_to_dict +from viam.utils import ( + SensorReading, + ValueTypes, + dict_to_struct, + sensor_readings_value_to_native, + struct_to_dict, +) class PowerSensorClient(PowerSensor, ReconfigurableResourceRPCClientBase): @@ -35,7 +46,9 @@ async def get_voltage( if extra is None: extra = {} request = GetVoltageRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetVoltageResponse = await self.client.GetVoltage(request, timeout=timeout) + response: GetVoltageResponse = await self.client.GetVoltage( + request, timeout=timeout + ) return response.volts, response.is_ac async def get_current( @@ -48,7 +61,9 @@ async def get_current( if extra is None: extra = {} request = GetCurrentRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetCurrentResponse = await self.client.GetCurrent(request, timeout=timeout) + response: GetCurrentResponse = await self.client.GetCurrent( + request, timeout=timeout + ) return response.amperes, response.is_ac async def get_power( @@ -61,7 +76,9 @@ async def get_power( if extra is None: extra = {} request = GetPowerRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPowerResponse = await self.client.GetPower(request, timeout=timeout) + response: GetPowerResponse = await self.client.GetPower( + request, timeout=timeout + ) return response.watts async def get_readings( @@ -74,7 +91,9 @@ async def get_readings( if extra is None: extra = {} request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) + response: GetReadingsResponse = await self.client.GetReadings( + request, timeout=timeout + ) return sensor_readings_value_to_native(response.readings) async def do_command( @@ -85,5 +104,7 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/components/power_sensor/power_sensor.py b/src/viam/components/power_sensor/power_sensor.py index 36d78f5b9..c7576cd16 100644 --- a/src/viam/components/power_sensor/power_sensor.py +++ b/src/viam/components/power_sensor/power_sensor.py @@ -18,7 +18,13 @@ class PowerSensor(ComponentBase): ) @abc.abstractmethod - async def get_voltage(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Tuple[float, bool]: + async def get_voltage( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Tuple[float, bool]: """Get the voltage reading and bool IsAC Returns: @@ -27,7 +33,13 @@ async def get_voltage(self, *, extra: Optional[Dict[str, Any]] = None, timeout: ... @abc.abstractmethod - async def get_current(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> Tuple[float, bool]: + async def get_current( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> Tuple[float, bool]: """Get the current reading and bool IsAC Returns: @@ -36,7 +48,13 @@ async def get_current(self, *, extra: Optional[Dict[str, Any]] = None, timeout: ... @abc.abstractmethod - async def get_power(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> float: + async def get_power( + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> float: """Get the power reading in watts Returns: @@ -45,7 +63,11 @@ async def get_power(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Op ... async def get_readings( - self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Mapping[str, SensorReading]: """Obtain the measurements/data specific to this sensor. If a sensor is not configured to have a measurement or fails to read a piece of data, it will not appear in the readings dictionary. diff --git a/src/viam/components/power_sensor/service.py b/src/viam/components/power_sensor/service.py index 1de709fdc..67f232e96 100644 --- a/src/viam/components/power_sensor/service.py +++ b/src/viam/components/power_sensor/service.py @@ -1,7 +1,12 @@ from grpclib.server import Stream from viam.components.power_sensor.power_sensor import PowerSensor -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetReadingsRequest, GetReadingsResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetReadingsRequest, + GetReadingsResponse, +) from viam.proto.component.powersensor import ( GetCurrentRequest, GetCurrentResponse, @@ -15,40 +20,62 @@ from viam.utils import dict_to_struct, sensor_readings_native_to_value, struct_to_dict -class PowerSensorRPCService(PowerSensorServiceBase, ResourceRPCServiceBase[PowerSensor]): +class PowerSensorRPCService( + PowerSensorServiceBase, ResourceRPCServiceBase[PowerSensor] +): """ gRPC Service for a PowerSensor """ RESOURCE_TYPE = PowerSensor - async def GetReadings(self, stream: Stream[GetReadingsRequest, GetReadingsResponse]) -> None: + async def GetReadings( + self, stream: Stream[GetReadingsRequest, GetReadingsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - readings = await sensor.get_readings(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) - response = GetReadingsResponse(readings=sensor_readings_native_to_value(readings)) + readings = await sensor.get_readings( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) + response = GetReadingsResponse( + readings=sensor_readings_native_to_value(readings) + ) await stream.send_message(response) - async def GetVoltage(self, stream: Stream[GetVoltageRequest, GetVoltageResponse]) -> None: + async def GetVoltage( + self, stream: Stream[GetVoltageRequest, GetVoltageResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - voltage, is_ac = await sensor.get_voltage(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + voltage, is_ac = await sensor.get_voltage( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetVoltageResponse(volts=voltage, is_ac=is_ac) await stream.send_message(response) - async def GetCurrent(self, stream: Stream[GetCurrentRequest, GetCurrentResponse]) -> None: + async def GetCurrent( + self, stream: Stream[GetCurrentRequest, GetCurrentResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - current, is_ac = await sensor.get_current(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + current, is_ac = await sensor.get_current( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetCurrentResponse(amperes=current, is_ac=is_ac) await stream.send_message(response) @@ -58,15 +85,25 @@ async def GetPower(self, stream: Stream[GetPowerRequest, GetPowerResponse]) -> N name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - power = await sensor.get_power(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + power = await sensor.get_power( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) response = GetPowerResponse(watts=power) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None sensor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await sensor.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await sensor.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) diff --git a/src/viam/components/sensor/client.py b/src/viam/components/sensor/client.py index d6859b028..48c1be4e6 100644 --- a/src/viam/components/sensor/client.py +++ b/src/viam/components/sensor/client.py @@ -2,10 +2,23 @@ from grpclib.client import Channel -from viam.proto.common import DoCommandRequest, DoCommandResponse, Geometry, GetReadingsRequest, GetReadingsResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + Geometry, + GetReadingsRequest, + GetReadingsResponse, +) from viam.proto.component.sensor import SensorServiceStub from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase -from viam.utils import SensorReading, ValueTypes, dict_to_struct, get_geometries, sensor_readings_value_to_native, struct_to_dict +from viam.utils import ( + SensorReading, + ValueTypes, + dict_to_struct, + get_geometries, + sensor_readings_value_to_native, + struct_to_dict, +) from .sensor import Sensor @@ -30,7 +43,9 @@ async def get_readings( if extra is None: extra = {} request = GetReadingsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) + response: GetReadingsResponse = await self.client.GetReadings( + request, timeout=timeout + ) return sensor_readings_value_to_native(response.readings) async def do_command( @@ -41,8 +56,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/sensor/sensor.py b/src/viam/components/sensor/sensor.py index d030441eb..85c2f1c9f 100644 --- a/src/viam/components/sensor/sensor.py +++ b/src/viam/components/sensor/sensor.py @@ -22,7 +22,11 @@ class Sensor(ComponentBase): @abc.abstractmethod async def get_readings( - self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, ) -> Mapping[str, SensorReading]: """ Obtain the measurements/data specific to this sensor. diff --git a/src/viam/components/sensor/service.py b/src/viam/components/sensor/service.py index d669b0ed6..3e118798d 100644 --- a/src/viam/components/sensor/service.py +++ b/src/viam/components/sensor/service.py @@ -22,30 +22,48 @@ class SensorRPCService(SensorServiceBase, ResourceRPCServiceBase[Sensor]): RESOURCE_TYPE = Sensor - async def GetReadings(self, stream: Stream[GetReadingsRequest, GetReadingsResponse]) -> None: + async def GetReadings( + self, stream: Stream[GetReadingsRequest, GetReadingsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name sensor = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - readings = await sensor.get_readings(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) - response = GetReadingsResponse(readings=sensor_readings_native_to_value(readings)) + readings = await sensor.get_readings( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) + response = GetReadingsResponse( + readings=sensor_readings_native_to_value(readings) + ) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None sensor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await sensor.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await sensor.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None sensor = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await sensor.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await sensor.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/servo/__init__.py b/src/viam/components/servo/__init__.py index 93546e85e..9d9b8a234 100644 --- a/src/viam/components/servo/__init__.py +++ b/src/viam/components/servo/__init__.py @@ -15,9 +15,20 @@ async def create_status(component: Servo) -> Status: - (position_deg, is_moving) = await asyncio.gather(component.get_position(), component.is_moving()) + (position_deg, is_moving) = await asyncio.gather( + component.get_position(), component.is_moving() + ) s = ServoStatus(position_deg=position_deg, is_moving=is_moving) - return Status(name=Servo.get_resource_name(component.name), status=message_to_struct(s)) + return Status( + name=Servo.get_resource_name(component.name), status=message_to_struct(s) + ) -Registry.register_subtype(ResourceRegistration(Servo, ServoRPCService, lambda name, channel: ServoClient(name, channel), create_status)) +Registry.register_subtype( + ResourceRegistration( + Servo, + ServoRPCService, + lambda name, channel: ServoClient(name, channel), + create_status, + ) +) diff --git a/src/viam/components/servo/client.py b/src/viam/components/servo/client.py index 1e163122f..e76c3d811 100644 --- a/src/viam/components/servo/client.py +++ b/src/viam/components/servo/client.py @@ -38,7 +38,9 @@ async def get_position( if extra is None: extra = {} request = GetPositionRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return response.position_deg async def move( @@ -51,7 +53,9 @@ async def move( ): if extra is None: extra = {} - request = MoveRequest(name=self.name, angle_deg=angle, extra=dict_to_struct(extra)) + request = MoveRequest( + name=self.name, angle_deg=angle, extra=dict_to_struct(extra) + ) await self.client.Move(request, timeout=timeout) async def stop( @@ -68,7 +72,9 @@ async def stop( async def is_moving(self, *, timeout: Optional[float] = None) -> bool: request = IsMovingRequest(name=self.name) - response: IsMovingResponse = await self.client.IsMoving(request, timeout=timeout) + response: IsMovingResponse = await self.client.IsMoving( + request, timeout=timeout + ) return response.is_moving async def do_command( @@ -79,8 +85,12 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) - async def get_geometries(self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None) -> List[Geometry]: + async def get_geometries( + self, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + ) -> List[Geometry]: return await get_geometries(self.client, self.name, extra, timeout) diff --git a/src/viam/components/servo/service.py b/src/viam/components/servo/service.py index 928a353f4..362eaa164 100644 --- a/src/viam/components/servo/service.py +++ b/src/viam/components/servo/service.py @@ -1,6 +1,11 @@ from grpclib.server import Stream -from viam.proto.common import DoCommandRequest, DoCommandResponse, GetGeometriesRequest, GetGeometriesResponse +from viam.proto.common import ( + DoCommandRequest, + DoCommandResponse, + GetGeometriesRequest, + GetGeometriesResponse, +) from viam.proto.component.servo import ( GetPositionRequest, GetPositionResponse, @@ -31,16 +36,27 @@ async def Move(self, stream: Stream[MoveRequest, MoveResponse]) -> None: name = request.name servo = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await servo.move(request.angle_deg, extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await servo.move( + request.angle_deg, + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(MoveResponse()) - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name servo = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - position = await servo.get_position(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + position = await servo.get_position( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) resp = GetPositionResponse(position_deg=position) await stream.send_message(resp) @@ -50,7 +66,11 @@ async def Stop(self, stream: Stream[StopRequest, StopResponse]) -> None: name = request.name servo = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - await servo.stop(extra=struct_to_dict(request.extra), timeout=timeout, metadata=stream.metadata) + await servo.stop( + extra=struct_to_dict(request.extra), + timeout=timeout, + metadata=stream.metadata, + ) await stream.send_message(StopResponse()) async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> None: @@ -61,20 +81,30 @@ async def IsMoving(self, stream: Stream[IsMovingRequest, IsMovingResponse]) -> N is_moving = await servo.is_moving() await stream.send_message(IsMovingResponse(is_moving=is_moving)) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None servo = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await servo.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await servo.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) - async def GetGeometries(self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse]) -> None: + async def GetGeometries( + self, stream: Stream[GetGeometriesRequest, GetGeometriesResponse] + ) -> None: request = await stream.recv_message() assert request is not None servo = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - geometries = await servo.get_geometries(extra=struct_to_dict(request.extra), timeout=timeout) + geometries = await servo.get_geometries( + extra=struct_to_dict(request.extra), timeout=timeout + ) response = GetGeometriesResponse(geometries=geometries) await stream.send_message(response) diff --git a/src/viam/components/servo/servo.py b/src/viam/components/servo/servo.py index aaef6b124..2c1fc4da4 100644 --- a/src/viam/components/servo/servo.py +++ b/src/viam/components/servo/servo.py @@ -20,7 +20,14 @@ class Servo(ComponentBase): ) @abc.abstractmethod - async def move(self, angle: int, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def move( + self, + angle: int, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): """ Move the servo to the provided angle. @@ -30,7 +37,13 @@ async def move(self, angle: int, *, extra: Optional[Mapping[str, Any]] = None, t ... @abc.abstractmethod - async def get_position(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs) -> int: + async def get_position( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ) -> int: """ Get the current angle (degrees) of the servo. @@ -40,7 +53,13 @@ async def get_position(self, *, extra: Optional[Mapping[str, Any]] = None, timeo ... @abc.abstractmethod - async def stop(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + async def stop( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): """ Stop the servo. It is assumed that the servo stops immediately. """ diff --git a/src/viam/errors.py b/src/viam/errors.py index b9a6b0e7d..bcf952a51 100644 --- a/src/viam/errors.py +++ b/src/viam/errors.py @@ -22,7 +22,10 @@ class InsecureConnectionError(ViamError): def __init__(self, address: str, authenticated: bool = False) -> None: self.address = address self.authenticated = authenticated - self.message = f"Requested address {self.address} is insecure" + f'{" and will not send credentials" if self.authenticated else ""}' + self.message = ( + f"Requested address {self.address} is insecure" + + f'{" and will not send credentials" if self.authenticated else ""}' + ) super().__init__(self.message) @@ -35,7 +38,9 @@ class DuplicateResourceError(ViamError): def __init__(self, name: str) -> None: self.name = name - self.message = f'Cannot add resource with duplicate name "{name}" to the registry' + self.message = ( + f'Cannot add resource with duplicate name "{name}" to the registry' + ) super().__init__(self.message) @@ -101,5 +106,7 @@ class NoCaptureToStoreError(ViamGRPCError): """ def __init__(self): - self.message = "no capture from filter module" # Do not change the contents of this string + self.message = ( + "no capture from filter module" # Do not change the contents of this string + ) self.grpc_code = Status.FAILED_PRECONDITION diff --git a/src/viam/gen/app/agent/v1/agent_grpc.py b/src/viam/gen/app/agent/v1/agent_grpc.py index a339d295e..380c718dd 100644 --- a/src/viam/gen/app/agent/v1/agent_grpc.py +++ b/src/viam/gen/app/agent/v1/agent_grpc.py @@ -1,43 +1,89 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.duration_pb2 import google.protobuf.struct_pb2 -from .... import tagger -from .... import app -class AgentAppServiceBase(abc.ABC): +from .... import app, tagger + +class AgentAppServiceBase(abc.ABC): @abc.abstractmethod - async def GetAgentConfig(self, stream: 'grpclib.server.Stream[app.agent.v1.agent_pb2.GetAgentConfigRequest, app.agent.v1.agent_pb2.GetAgentConfigResponse]') -> None: + async def GetAgentConfig( + self, + stream: "grpclib.server.Stream[app.agent.v1.agent_pb2.GetAgentConfigRequest, app.agent.v1.agent_pb2.GetAgentConfigResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateAgentConfig(self, stream: 'grpclib.server.Stream[app.agent.v1.agent_pb2.UpdateAgentConfigRequest, app.agent.v1.agent_pb2.UpdateAgentConfigResponse]') -> None: + async def UpdateAgentConfig( + self, + stream: "grpclib.server.Stream[app.agent.v1.agent_pb2.UpdateAgentConfigRequest, app.agent.v1.agent_pb2.UpdateAgentConfigResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.agent.v1.AgentAppService/GetAgentConfig': grpclib.const.Handler(self.GetAgentConfig, grpclib.const.Cardinality.UNARY_UNARY, app.agent.v1.agent_pb2.GetAgentConfigRequest, app.agent.v1.agent_pb2.GetAgentConfigResponse), '/viam.app.agent.v1.AgentAppService/UpdateAgentConfig': grpclib.const.Handler(self.UpdateAgentConfig, grpclib.const.Cardinality.UNARY_UNARY, app.agent.v1.agent_pb2.UpdateAgentConfigRequest, app.agent.v1.agent_pb2.UpdateAgentConfigResponse)} + return { + "/viam.app.agent.v1.AgentAppService/GetAgentConfig": grpclib.const.Handler( + self.GetAgentConfig, + grpclib.const.Cardinality.UNARY_UNARY, + app.agent.v1.agent_pb2.GetAgentConfigRequest, + app.agent.v1.agent_pb2.GetAgentConfigResponse, + ), + "/viam.app.agent.v1.AgentAppService/UpdateAgentConfig": grpclib.const.Handler( + self.UpdateAgentConfig, + grpclib.const.Cardinality.UNARY_UNARY, + app.agent.v1.agent_pb2.UpdateAgentConfigRequest, + app.agent.v1.agent_pb2.UpdateAgentConfigResponse, + ), + } -class AgentAppServiceStub: +class AgentAppServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetAgentConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.agent.v1.AgentAppService/GetAgentConfig', app.agent.v1.agent_pb2.GetAgentConfigRequest, app.agent.v1.agent_pb2.GetAgentConfigResponse) - self.UpdateAgentConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.agent.v1.AgentAppService/UpdateAgentConfig', app.agent.v1.agent_pb2.UpdateAgentConfigRequest, app.agent.v1.agent_pb2.UpdateAgentConfigResponse) + self.GetAgentConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.agent.v1.AgentAppService/GetAgentConfig", + app.agent.v1.agent_pb2.GetAgentConfigRequest, + app.agent.v1.agent_pb2.GetAgentConfigResponse, + ) + self.UpdateAgentConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.agent.v1.AgentAppService/UpdateAgentConfig", + app.agent.v1.agent_pb2.UpdateAgentConfigRequest, + app.agent.v1.agent_pb2.UpdateAgentConfigResponse, + ) -class AgentDeviceServiceBase(abc.ABC): +class AgentDeviceServiceBase(abc.ABC): @abc.abstractmethod - async def DeviceAgentConfig(self, stream: 'grpclib.server.Stream[app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse]') -> None: + async def DeviceAgentConfig( + self, + stream: "grpclib.server.Stream[app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig': grpclib.const.Handler(self.DeviceAgentConfig, grpclib.const.Cardinality.UNARY_UNARY, app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse)} + return { + "/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig": grpclib.const.Handler( + self.DeviceAgentConfig, + grpclib.const.Cardinality.UNARY_UNARY, + app.agent.v1.agent_pb2.DeviceAgentConfigRequest, + app.agent.v1.agent_pb2.DeviceAgentConfigResponse, + ) + } -class AgentDeviceServiceStub: +class AgentDeviceServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.DeviceAgentConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig', app.agent.v1.agent_pb2.DeviceAgentConfigRequest, app.agent.v1.agent_pb2.DeviceAgentConfigResponse) \ No newline at end of file + self.DeviceAgentConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.agent.v1.AgentDeviceService/DeviceAgentConfig", + app.agent.v1.agent_pb2.DeviceAgentConfigRequest, + app.agent.v1.agent_pb2.DeviceAgentConfigResponse, + ) diff --git a/src/viam/gen/app/agent/v1/agent_pb2.py b/src/viam/gen/app/agent/v1/agent_pb2.py index 9f57e4c9c..e93b1af59 100644 --- a/src/viam/gen/app/agent/v1/agent_pb2.py +++ b/src/viam/gen/app/agent/v1/agent_pb2.py @@ -1,36 +1,59 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + from ....tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x18app/agent/v1/agent.proto\x12\x11viam.app.agent.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\'\n\x15GetAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"^\n\x16GetAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"p\n\x18UpdateAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x0cagent_config\x18\x02 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"a\n\x19UpdateAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"\x9b\x02\n\x0eAppAgentConfig\x12\x9c\x01\n\x11subsystem_configs\x18\x01 \x03(\x0b27.viam.app.agent.v1.AppAgentConfig.SubsystemConfigsEntryB6\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"R\x10subsystemConfigs\x1aj\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12;\n\x05value\x18\x02 \x01(\x0b2%.viam.app.agent.v1.AppSubsystemConfigR\x05value:\x028\x01"\xc3\x03\n\x12AppSubsystemConfig\x12[\n\x0frelease_channel\x18\x01 \x01(\tB2\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"R\x0ereleaseChannel\x12K\n\x0bpin_version\x18\x02 \x01(\tB*\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"R\npinVersion\x12;\n\x07pin_url\x18\x03 \x01(\tB"\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"R\x06pinUrl\x12c\n\x11disable_subsystem\x18\x04 \x01(\x08B6\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"R\x10disableSubsystem\x12a\n\nattributes\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB(\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"R\nattributes"\x9d\x02\n\x18DeviceAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\thost_info\x18\x02 \x01(\x0b2\x1b.viam.app.agent.v1.HostInfoR\x08hostInfo\x12q\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryR\x11subsystemVersions\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xbd\x02\n\x19DeviceAgentConfigResponse\x12o\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryR\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\x1am\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.viam.app.agent.v1.DeviceSubsystemConfigR\x05value:\x028\x01"\xd8\x01\n\x15DeviceSubsystemConfig\x12G\n\x0bupdate_info\x18\x01 \x01(\x0b2&.viam.app.agent.v1.SubsystemUpdateInfoR\nupdateInfo\x12\x18\n\x07disable\x18\x02 \x01(\x08R\x07disable\x12#\n\rforce_restart\x18\x03 \x01(\x08R\x0cforceRestart\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"R\n\x08HostInfo\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12\x16\n\x06distro\x18\x02 \x01(\tR\x06distro\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags"\xaf\x01\n\x13SubsystemUpdateInfo\x12\x1a\n\x08filename\x18\x01 \x01(\tR\x08filename\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x16\n\x06sha256\x18\x04 \x01(\x0cR\x06sha256\x128\n\x06format\x18\x05 \x01(\x0e2 .viam.app.agent.v1.PackageFormatR\x06format*\x9f\x01\n\rPackageFormat\x12\x1e\n\x1aPACKAGE_FORMAT_UNSPECIFIED\x10\x00\x12\x16\n\x12PACKAGE_FORMAT_RAW\x10\x01\x12\x15\n\x11PACKAGE_FORMAT_XZ\x10\x02\x12\x1d\n\x19PACKAGE_FORMAT_EXECUTABLE\x10\x03\x12 \n\x1cPACKAGE_FORMAT_XZ_EXECUTABLE\x10\x042\xe8\x01\n\x0fAgentAppService\x12e\n\x0eGetAgentConfig\x12(.viam.app.agent.v1.GetAgentConfigRequest\x1a).viam.app.agent.v1.GetAgentConfigResponse\x12n\n\x11UpdateAgentConfig\x12+.viam.app.agent.v1.UpdateAgentConfigRequest\x1a,.viam.app.agent.v1.UpdateAgentConfigResponse2\x84\x01\n\x12AgentDeviceService\x12n\n\x11DeviceAgentConfig\x12+.viam.app.agent.v1.DeviceAgentConfigRequest\x1a,.viam.app.agent.v1.DeviceAgentConfigResponseB\x1eZ\x1cgo.viam.com/api/app/agent/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x18app/agent/v1/agent.proto\x12\x11viam.app.agent.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\'\n\x15GetAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"^\n\x16GetAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"p\n\x18UpdateAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x0cagent_config\x18\x02 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"a\n\x19UpdateAgentConfigResponse\x12D\n\x0cagent_config\x18\x01 \x01(\x0b2!.viam.app.agent.v1.AppAgentConfigR\x0bagentConfig"\x9b\x02\n\x0eAppAgentConfig\x12\x9c\x01\n\x11subsystem_configs\x18\x01 \x03(\x0b27.viam.app.agent.v1.AppAgentConfig.SubsystemConfigsEntryB6\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"R\x10subsystemConfigs\x1aj\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12;\n\x05value\x18\x02 \x01(\x0b2%.viam.app.agent.v1.AppSubsystemConfigR\x05value:\x028\x01"\xc3\x03\n\x12AppSubsystemConfig\x12[\n\x0frelease_channel\x18\x01 \x01(\tB2\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"R\x0ereleaseChannel\x12K\n\x0bpin_version\x18\x02 \x01(\tB*\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"R\npinVersion\x12;\n\x07pin_url\x18\x03 \x01(\tB"\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"R\x06pinUrl\x12c\n\x11disable_subsystem\x18\x04 \x01(\x08B6\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"R\x10disableSubsystem\x12a\n\nattributes\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB(\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"R\nattributes"\x9d\x02\n\x18DeviceAgentConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x128\n\thost_info\x18\x02 \x01(\x0b2\x1b.viam.app.agent.v1.HostInfoR\x08hostInfo\x12q\n\x12subsystem_versions\x18\x03 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigRequest.SubsystemVersionsEntryR\x11subsystemVersions\x1aD\n\x16SubsystemVersionsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xbd\x02\n\x19DeviceAgentConfigResponse\x12o\n\x11subsystem_configs\x18\x01 \x03(\x0b2B.viam.app.agent.v1.DeviceAgentConfigResponse.SubsystemConfigsEntryR\x10subsystemConfigs\x12@\n\x0echeck_interval\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\rcheckInterval\x1am\n\x15SubsystemConfigsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12>\n\x05value\x18\x02 \x01(\x0b2(.viam.app.agent.v1.DeviceSubsystemConfigR\x05value:\x028\x01"\xd8\x01\n\x15DeviceSubsystemConfig\x12G\n\x0bupdate_info\x18\x01 \x01(\x0b2&.viam.app.agent.v1.SubsystemUpdateInfoR\nupdateInfo\x12\x18\n\x07disable\x18\x02 \x01(\x08R\x07disable\x12#\n\rforce_restart\x18\x03 \x01(\x08R\x0cforceRestart\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"R\n\x08HostInfo\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12\x16\n\x06distro\x18\x02 \x01(\tR\x06distro\x12\x12\n\x04tags\x18\x03 \x03(\tR\x04tags"\xaf\x01\n\x13SubsystemUpdateInfo\x12\x1a\n\x08filename\x18\x01 \x01(\tR\x08filename\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x16\n\x06sha256\x18\x04 \x01(\x0cR\x06sha256\x128\n\x06format\x18\x05 \x01(\x0e2 .viam.app.agent.v1.PackageFormatR\x06format*\x9f\x01\n\rPackageFormat\x12\x1e\n\x1aPACKAGE_FORMAT_UNSPECIFIED\x10\x00\x12\x16\n\x12PACKAGE_FORMAT_RAW\x10\x01\x12\x15\n\x11PACKAGE_FORMAT_XZ\x10\x02\x12\x1d\n\x19PACKAGE_FORMAT_EXECUTABLE\x10\x03\x12 \n\x1cPACKAGE_FORMAT_XZ_EXECUTABLE\x10\x042\xe8\x01\n\x0fAgentAppService\x12e\n\x0eGetAgentConfig\x12(.viam.app.agent.v1.GetAgentConfigRequest\x1a).viam.app.agent.v1.GetAgentConfigResponse\x12n\n\x11UpdateAgentConfig\x12+.viam.app.agent.v1.UpdateAgentConfigRequest\x1a,.viam.app.agent.v1.UpdateAgentConfigResponse2\x84\x01\n\x12AgentDeviceService\x12n\n\x11DeviceAgentConfig\x12+.viam.app.agent.v1.DeviceAgentConfigRequest\x1a,.viam.app.agent.v1.DeviceAgentConfigResponseB\x1eZ\x1cgo.viam.com/api/app/agent/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.agent.v1.agent_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.agent.v1.agent_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1cgo.viam.com/api/app/agent/v1' + DESCRIPTOR._serialized_options = b"Z\x1cgo.viam.com/api/app/agent/v1" _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._options = None - _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_options = b'8\x01' - _APPAGENTCONFIG.fields_by_name['subsystem_configs']._options = None - _APPAGENTCONFIG.fields_by_name['subsystem_configs']._serialized_options = b'\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"' - _APPSUBSYSTEMCONFIG.fields_by_name['release_channel']._options = None - _APPSUBSYSTEMCONFIG.fields_by_name['release_channel']._serialized_options = b'\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"' - _APPSUBSYSTEMCONFIG.fields_by_name['pin_version']._options = None - _APPSUBSYSTEMCONFIG.fields_by_name['pin_version']._serialized_options = b'\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"' - _APPSUBSYSTEMCONFIG.fields_by_name['pin_url']._options = None - _APPSUBSYSTEMCONFIG.fields_by_name['pin_url']._serialized_options = b'\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"' - _APPSUBSYSTEMCONFIG.fields_by_name['disable_subsystem']._options = None - _APPSUBSYSTEMCONFIG.fields_by_name['disable_subsystem']._serialized_options = b'\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"' - _APPSUBSYSTEMCONFIG.fields_by_name['attributes']._options = None - _APPSUBSYSTEMCONFIG.fields_by_name['attributes']._serialized_options = b'\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"' + _APPAGENTCONFIG_SUBSYSTEMCONFIGSENTRY._serialized_options = b"8\x01" + _APPAGENTCONFIG.fields_by_name["subsystem_configs"]._options = None + _APPAGENTCONFIG.fields_by_name[ + "subsystem_configs" + ]._serialized_options = ( + b'\x9a\x84\x9e\x031bson:"subsystem_configs" json:"subsystem_configs"' + ) + _APPSUBSYSTEMCONFIG.fields_by_name["release_channel"]._options = None + _APPSUBSYSTEMCONFIG.fields_by_name[ + "release_channel" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03-bson:"release_channel" json:"release_channel"' + ) + _APPSUBSYSTEMCONFIG.fields_by_name["pin_version"]._options = None + _APPSUBSYSTEMCONFIG.fields_by_name[ + "pin_version" + ]._serialized_options = b'\x9a\x84\x9e\x03%bson:"pin_version" json:"pin_version"' + _APPSUBSYSTEMCONFIG.fields_by_name["pin_url"]._options = None + _APPSUBSYSTEMCONFIG.fields_by_name[ + "pin_url" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1dbson:"pin_url" json:"pin_url"' + _APPSUBSYSTEMCONFIG.fields_by_name["disable_subsystem"]._options = None + _APPSUBSYSTEMCONFIG.fields_by_name[ + "disable_subsystem" + ]._serialized_options = ( + b'\x9a\x84\x9e\x031bson:"disable_subsystem" json:"disable_subsystem"' + ) + _APPSUBSYSTEMCONFIG.fields_by_name["attributes"]._options = None + _APPSUBSYSTEMCONFIG.fields_by_name[ + "attributes" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"attributes" json:"attributes"' _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._options = None - _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_options = b'8\x01' + _DEVICEAGENTCONFIGREQUEST_SUBSYSTEMVERSIONSENTRY._serialized_options = b"8\x01" _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._options = None - _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_options = b'8\x01' + _DEVICEAGENTCONFIGRESPONSE_SUBSYSTEMCONFIGSENTRY._serialized_options = b"8\x01" _PACKAGEFORMAT._serialized_start = 2313 _PACKAGEFORMAT._serialized_end = 2472 _GETAGENTCONFIGREQUEST._serialized_start = 133 @@ -64,4 +87,4 @@ _AGENTAPPSERVICE._serialized_start = 2475 _AGENTAPPSERVICE._serialized_end = 2707 _AGENTDEVICESERVICE._serialized_start = 2710 - _AGENTDEVICESERVICE._serialized_end = 2842 \ No newline at end of file + _AGENTDEVICESERVICE._serialized_end = 2842 diff --git a/src/viam/gen/app/agent/v1/agent_pb2.pyi b/src/viam/gen/app/agent/v1/agent_pb2.pyi index a69f5b15c..592de6b7b 100644 --- a/src/viam/gen/app/agent/v1/agent_pb2.pyi +++ b/src/viam/gen/app/agent/v1/agent_pb2.pyi @@ -4,14 +4,16 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -19,48 +21,54 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PackageFormat: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PackageFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PackageFormat.ValueType], builtins.type): +class _PackageFormatEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _PackageFormat.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor PACKAGE_FORMAT_UNSPECIFIED: _PackageFormat.ValueType - 'unknown/unset (autodetection may be attempted)' + "unknown/unset (autodetection may be attempted)" PACKAGE_FORMAT_RAW: _PackageFormat.ValueType - 'do nothing' + "do nothing" PACKAGE_FORMAT_XZ: _PackageFormat.ValueType - 'decompress .xz file' + "decompress .xz file" PACKAGE_FORMAT_EXECUTABLE: _PackageFormat.ValueType - 'set executable permissions' + "set executable permissions" PACKAGE_FORMAT_XZ_EXECUTABLE: _PackageFormat.ValueType - 'decompress and set executable' + "decompress and set executable" + +class PackageFormat(_PackageFormat, metaclass=_PackageFormatEnumTypeWrapper): ... -class PackageFormat(_PackageFormat, metaclass=_PackageFormatEnumTypeWrapper): - ... PACKAGE_FORMAT_UNSPECIFIED: PackageFormat.ValueType -'unknown/unset (autodetection may be attempted)' +"unknown/unset (autodetection may be attempted)" PACKAGE_FORMAT_RAW: PackageFormat.ValueType -'do nothing' +"do nothing" PACKAGE_FORMAT_XZ: PackageFormat.ValueType -'decompress .xz file' +"decompress .xz file" PACKAGE_FORMAT_EXECUTABLE: PackageFormat.ValueType -'set executable permissions' +"set executable permissions" PACKAGE_FORMAT_XZ_EXECUTABLE: PackageFormat.ValueType -'decompress and set executable' +"decompress and set executable" global___PackageFormat = PackageFormat @typing_extensions.final class GetAgentConfigRequest(google.protobuf.message.Message): """App side""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetAgentConfigRequest = GetAgentConfigRequest @typing_extensions.final @@ -69,17 +77,17 @@ class GetAgentConfigResponse(google.protobuf.message.Message): AGENT_CONFIG_FIELD_NUMBER: builtins.int @property - def agent_config(self) -> global___AppAgentConfig: - ... + def agent_config(self) -> global___AppAgentConfig: ... + def __init__( + self, *, agent_config: global___AppAgentConfig | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["agent_config", b"agent_config"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["agent_config", b"agent_config"] + ) -> None: ... - def __init__(self, *, agent_config: global___AppAgentConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config']) -> None: - ... global___GetAgentConfigResponse = GetAgentConfigResponse @typing_extensions.final @@ -90,17 +98,23 @@ class UpdateAgentConfigRequest(google.protobuf.message.Message): id: builtins.str @property - def agent_config(self) -> global___AppAgentConfig: - ... - - def __init__(self, *, id: builtins.str=..., agent_config: global___AppAgentConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config']) -> builtins.bool: - ... + def agent_config(self) -> global___AppAgentConfig: ... + def __init__( + self, + *, + id: builtins.str = ..., + agent_config: global___AppAgentConfig | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["agent_config", b"agent_config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "agent_config", b"agent_config", "id", b"id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config', 'id', b'id']) -> None: - ... global___UpdateAgentConfigRequest = UpdateAgentConfigRequest @typing_extensions.final @@ -109,17 +123,17 @@ class UpdateAgentConfigResponse(google.protobuf.message.Message): AGENT_CONFIG_FIELD_NUMBER: builtins.int @property - def agent_config(self) -> global___AppAgentConfig: - ... + def agent_config(self) -> global___AppAgentConfig: ... + def __init__( + self, *, agent_config: global___AppAgentConfig | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["agent_config", b"agent_config"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["agent_config", b"agent_config"] + ) -> None: ... - def __init__(self, *, agent_config: global___AppAgentConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['agent_config', b'agent_config']) -> None: - ... global___UpdateAgentConfigResponse = UpdateAgentConfigResponse @typing_extensions.final @@ -134,28 +148,43 @@ class AppAgentConfig(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___AppSubsystemConfig: - ... - - def __init__(self, *, key: builtins.str=..., value: global___AppSubsystemConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___AppSubsystemConfig: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: global___AppSubsystemConfig | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... SUBSYSTEM_CONFIGS_FIELD_NUMBER: builtins.int @property - def subsystem_configs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___AppSubsystemConfig]: - ... - - def __init__(self, *, subsystem_configs: collections.abc.Mapping[builtins.str, global___AppSubsystemConfig] | None=...) -> None: - ... + def subsystem_configs( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___AppSubsystemConfig + ]: ... + def __init__( + self, + *, + subsystem_configs: collections.abc.Mapping[ + builtins.str, global___AppSubsystemConfig + ] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "subsystem_configs", b"subsystem_configs" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['subsystem_configs', b'subsystem_configs']) -> None: - ... global___AppAgentConfig = AppAgentConfig @typing_extensions.final @@ -172,22 +201,41 @@ class AppSubsystemConfig(google.protobuf.message.Message): disable_subsystem: builtins.bool @property - def attributes(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, release_channel: builtins.str=..., pin_version: builtins.str=..., pin_url: builtins.str=..., disable_subsystem: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def attributes(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + release_channel: builtins.str = ..., + pin_version: builtins.str = ..., + pin_url: builtins.str = ..., + disable_subsystem: builtins.bool = ..., + attributes: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["attributes", b"attributes"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "attributes", + b"attributes", + "disable_subsystem", + b"disable_subsystem", + "pin_url", + b"pin_url", + "pin_version", + b"pin_version", + "release_channel", + b"release_channel", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'disable_subsystem', b'disable_subsystem', 'pin_url', b'pin_url', 'pin_version', b'pin_version', 'release_channel', b'release_channel']) -> None: - ... global___AppSubsystemConfig = AppSubsystemConfig @typing_extensions.final class DeviceAgentConfigRequest(google.protobuf.message.Message): """Device side""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -198,33 +246,52 @@ class DeviceAgentConfigRequest(google.protobuf.message.Message): key: builtins.str value: builtins.str - def __init__(self, *, key: builtins.str=..., value: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def __init__( + self, *, key: builtins.str = ..., value: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... ID_FIELD_NUMBER: builtins.int HOST_INFO_FIELD_NUMBER: builtins.int SUBSYSTEM_VERSIONS_FIELD_NUMBER: builtins.int id: builtins.str - 'robot partID' + "robot partID" @property def host_info(self) -> global___HostInfo: """info about the host system""" @property - def subsystem_versions(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + def subsystem_versions( + self, + ) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: """current subsystems and versions""" - def __init__(self, *, id: builtins.str=..., host_info: global___HostInfo | None=..., subsystem_versions: collections.abc.Mapping[builtins.str, builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['host_info', b'host_info']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + host_info: global___HostInfo | None = ..., + subsystem_versions: collections.abc.Mapping[builtins.str, builtins.str] + | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["host_info", b"host_info"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "host_info", + b"host_info", + "id", + b"id", + "subsystem_versions", + b"subsystem_versions", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['host_info', b'host_info', 'id', b'id', 'subsystem_versions', b'subsystem_versions']) -> None: - ... global___DeviceAgentConfigRequest = DeviceAgentConfigRequest @typing_extensions.final @@ -239,22 +306,29 @@ class DeviceAgentConfigResponse(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___DeviceSubsystemConfig: - ... - - def __init__(self, *, key: builtins.str=..., value: global___DeviceSubsystemConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___DeviceSubsystemConfig: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: global___DeviceSubsystemConfig | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... SUBSYSTEM_CONFIGS_FIELD_NUMBER: builtins.int CHECK_INTERVAL_FIELD_NUMBER: builtins.int @property - def subsystem_configs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___DeviceSubsystemConfig]: + def subsystem_configs( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___DeviceSubsystemConfig + ]: """subsystems to be installed/configured/updated note: previously installed subsystems will be removed from the system if removed from this list """ @@ -263,14 +337,28 @@ class DeviceAgentConfigResponse(google.protobuf.message.Message): def check_interval(self) -> google.protobuf.duration_pb2.Duration: """how often this request should be repeated""" - def __init__(self, *, subsystem_configs: collections.abc.Mapping[builtins.str, global___DeviceSubsystemConfig] | None=..., check_interval: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['check_interval', b'check_interval']) -> builtins.bool: - ... + def __init__( + self, + *, + subsystem_configs: collections.abc.Mapping[ + builtins.str, global___DeviceSubsystemConfig + ] + | None = ..., + check_interval: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["check_interval", b"check_interval"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "check_interval", + b"check_interval", + "subsystem_configs", + b"subsystem_configs", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['check_interval', b'check_interval', 'subsystem_configs', b'subsystem_configs']) -> None: - ... global___DeviceAgentConfigResponse = DeviceAgentConfigResponse @typing_extensions.final @@ -285,22 +373,42 @@ class DeviceSubsystemConfig(google.protobuf.message.Message): def update_info(self) -> global___SubsystemUpdateInfo: """data needed to download/validate the subsystem""" disable: builtins.bool - 'if this subsystem is disabled and should not be started by the agent' + "if this subsystem is disabled and should not be started by the agent" force_restart: builtins.bool - 'force_restart will restart the subsystem, even if no updates are available' + "force_restart will restart the subsystem, even if no updates are available" @property def attributes(self) -> google.protobuf.struct_pb2.Struct: """arbitrary config sections""" - def __init__(self, *, update_info: global___SubsystemUpdateInfo | None=..., disable: builtins.bool=..., force_restart: builtins.bool=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + update_info: global___SubsystemUpdateInfo | None = ..., + disable: builtins.bool = ..., + force_restart: builtins.bool = ..., + attributes: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "attributes", b"attributes", "update_info", b"update_info" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "attributes", + b"attributes", + "disable", + b"disable", + "force_restart", + b"force_restart", + "update_info", + b"update_info", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'update_info', b'update_info']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'disable', b'disable', 'force_restart', b'force_restart', 'update_info', b'update_info']) -> None: - ... global___DeviceSubsystemConfig = DeviceSubsystemConfig @typing_extensions.final @@ -310,21 +418,32 @@ class HostInfo(google.protobuf.message.Message): DISTRO_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int platform: builtins.str - 'platform is the docker styled combination of kernel and architecture. Ex: linux/amd64, darwin/arm64' + "platform is the docker styled combination of kernel and architecture. Ex: linux/amd64, darwin/arm64" distro: builtins.str - 'ID and VERSION_ID fields from /etc/os-release, colon seperated. Ex: ubuntu:22.04, debian:11' + "ID and VERSION_ID fields from /etc/os-release, colon seperated. Ex: ubuntu:22.04, debian:11" @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """additional tags for specific hardware or software that's present and may affect software selection ex: "jetson", "rpi4", "systemd", etc. """ - def __init__(self, *, platform: builtins.str=..., distro: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def __init__( + self, + *, + platform: builtins.str = ..., + distro: builtins.str = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "distro", b"distro", "platform", b"platform", "tags", b"tags" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['distro', b'distro', 'platform', b'platform', 'tags', b'tags']) -> None: - ... global___HostInfo = HostInfo @typing_extensions.final @@ -336,19 +455,39 @@ class SubsystemUpdateInfo(google.protobuf.message.Message): SHA256_FIELD_NUMBER: builtins.int FORMAT_FIELD_NUMBER: builtins.int filename: builtins.str - 'unpacked filename as it is expected on disk (regardless of url)' + "unpacked filename as it is expected on disk (regardless of url)" url: builtins.str - 'url to download from' + "url to download from" version: builtins.str - 'version expected at the url' + "version expected at the url" sha256: builtins.bytes - 'sha256 sum of file as downloaded' + "sha256 sum of file as downloaded" format: global___PackageFormat.ValueType - 'determines if decompression or executable permissions are needed' - - def __init__(self, *, filename: builtins.str=..., url: builtins.str=..., version: builtins.str=..., sha256: builtins.bytes=..., format: global___PackageFormat.ValueType=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filename', b'filename', 'format', b'format', 'sha256', b'sha256', 'url', b'url', 'version', b'version']) -> None: - ... -global___SubsystemUpdateInfo = SubsystemUpdateInfo \ No newline at end of file + "determines if decompression or executable permissions are needed" + + def __init__( + self, + *, + filename: builtins.str = ..., + url: builtins.str = ..., + version: builtins.str = ..., + sha256: builtins.bytes = ..., + format: global___PackageFormat.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "filename", + b"filename", + "format", + b"format", + "sha256", + b"sha256", + "url", + b"url", + "version", + b"version", + ], + ) -> None: ... + +global___SubsystemUpdateInfo = SubsystemUpdateInfo diff --git a/src/viam/gen/app/cloudslam/v1/cloud_slam_grpc.py b/src/viam/gen/app/cloudslam/v1/cloud_slam_grpc.py index e99a38b38..7b7e27a07 100644 --- a/src/viam/gen/app/cloudslam/v1/cloud_slam_grpc.py +++ b/src/viam/gen/app/cloudslam/v1/cloud_slam_grpc.py @@ -1,49 +1,136 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -from .... import app -class CloudSLAMServiceBase(abc.ABC): +from .... import app, common + +class CloudSLAMServiceBase(abc.ABC): @abc.abstractmethod - async def StartMappingSession(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse]') -> None: + async def StartMappingSession( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetActiveMappingSessionsForRobot(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse]') -> None: + async def GetActiveMappingSessionsForRobot( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse]", + ) -> None: pass @abc.abstractmethod - async def GetMappingSessionPointCloud(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse]') -> None: + async def GetMappingSessionPointCloud( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse]", + ) -> None: pass @abc.abstractmethod - async def ListMappingSessions(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse]') -> None: + async def ListMappingSessions( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse]", + ) -> None: pass @abc.abstractmethod - async def StopMappingSession(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse]') -> None: + async def StopMappingSession( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetMappingSessionMetadataByID(self, stream: 'grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse]') -> None: + async def GetMappingSessionMetadataByID( + self, + stream: "grpclib.server.Stream[app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.cloudslam.v1.CloudSLAMService/StartMappingSession': grpclib.const.Handler(self.StartMappingSession, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse), '/viam.app.cloudslam.v1.CloudSLAMService/GetActiveMappingSessionsForRobot': grpclib.const.Handler(self.GetActiveMappingSessionsForRobot, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse), '/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionPointCloud': grpclib.const.Handler(self.GetMappingSessionPointCloud, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse), '/viam.app.cloudslam.v1.CloudSLAMService/ListMappingSessions': grpclib.const.Handler(self.ListMappingSessions, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse), '/viam.app.cloudslam.v1.CloudSLAMService/StopMappingSession': grpclib.const.Handler(self.StopMappingSession, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse), '/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionMetadataByID': grpclib.const.Handler(self.GetMappingSessionMetadataByID, grpclib.const.Cardinality.UNARY_UNARY, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse)} + return { + "/viam.app.cloudslam.v1.CloudSLAMService/StartMappingSession": grpclib.const.Handler( + self.StartMappingSession, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, + app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse, + ), + "/viam.app.cloudslam.v1.CloudSLAMService/GetActiveMappingSessionsForRobot": grpclib.const.Handler( + self.GetActiveMappingSessionsForRobot, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, + app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse, + ), + "/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionPointCloud": grpclib.const.Handler( + self.GetMappingSessionPointCloud, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse, + ), + "/viam.app.cloudslam.v1.CloudSLAMService/ListMappingSessions": grpclib.const.Handler( + self.ListMappingSessions, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, + app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse, + ), + "/viam.app.cloudslam.v1.CloudSLAMService/StopMappingSession": grpclib.const.Handler( + self.StopMappingSession, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, + app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse, + ), + "/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionMetadataByID": grpclib.const.Handler( + self.GetMappingSessionMetadataByID, + grpclib.const.Cardinality.UNARY_UNARY, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse, + ), + } -class CloudSLAMServiceStub: +class CloudSLAMServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.StartMappingSession = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/StartMappingSession', app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse) - self.GetActiveMappingSessionsForRobot = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/GetActiveMappingSessionsForRobot', app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse) - self.GetMappingSessionPointCloud = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionPointCloud', app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse) - self.ListMappingSessions = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/ListMappingSessions', app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse) - self.StopMappingSession = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/StopMappingSession', app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse) - self.GetMappingSessionMetadataByID = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionMetadataByID', app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse) \ No newline at end of file + self.StartMappingSession = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/StartMappingSession", + app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionRequest, + app.cloudslam.v1.cloud_slam_pb2.StartMappingSessionResponse, + ) + self.GetActiveMappingSessionsForRobot = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/GetActiveMappingSessionsForRobot", + app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotRequest, + app.cloudslam.v1.cloud_slam_pb2.GetActiveMappingSessionsForRobotResponse, + ) + self.GetMappingSessionPointCloud = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionPointCloud", + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudRequest, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionPointCloudResponse, + ) + self.ListMappingSessions = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/ListMappingSessions", + app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsRequest, + app.cloudslam.v1.cloud_slam_pb2.ListMappingSessionsResponse, + ) + self.StopMappingSession = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/StopMappingSession", + app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionRequest, + app.cloudslam.v1.cloud_slam_pb2.StopMappingSessionResponse, + ) + self.GetMappingSessionMetadataByID = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.cloudslam.v1.CloudSLAMService/GetMappingSessionMetadataByID", + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDRequest, + app.cloudslam.v1.cloud_slam_pb2.GetMappingSessionMetadataByIDResponse, + ) diff --git a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py index be75d272b..d82b3c786 100644 --- a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py +++ b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.py @@ -1,18 +1,25 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!app/cloudslam/v1/cloud_slam.proto\x12\x15viam.app.cloudslam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xfe\x03\n\x1aStartMappingSessionRequest\x12!\n\x0cslam_version\x18\x01 \x01(\tR\x0bslamVersion\x12.\n\x13viam_server_version\x18\x02 \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x03 \x01(\tR\x07mapName\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x05 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x06 \x01(\tR\x07robotId\x12Q\n\x10capture_interval\x18\x07 \x01(\x0b2&.viam.app.cloudslam.v1.CaptureIntervalR\x0fcaptureInterval\x12;\n\x07sensors\x18\x08 \x03(\x0b2!.viam.app.cloudslam.v1.SensorInfoR\x07sensors\x12K\n\x15slam_algorithm_params\x18\n \x01(\x0b2\x17.google.protobuf.StructR\x13slamAlgorithmParams\x120\n\x14existing_map_version\x18\x0b \x01(\tR\x12existingMapVersion"\x80\x01\n\nSensorInfo\x122\n\x15source_component_name\x18\x01 \x01(\tR\x13sourceComponentName\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12*\n\x11data_frequency_hz\x18\x03 \x01(\tR\x0fdataFrequencyHz"\x83\x01\n\x0fCaptureInterval\x129\n\nstart_time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime"<\n\x1bStartMappingSessionResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"D\n\'GetActiveMappingSessionsForRobotRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"I\n(GetActiveMappingSessionsForRobotResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"C\n"GetMappingSessionPointCloudRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"h\n#GetMappingSessionPointCloudResponse\x12\x17\n\x07map_url\x18\x01 \x01(\tR\x06mapUrl\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"f\n\x1aListMappingSessionsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"_\n\x1bListMappingSessionsResponse\x12@\n\x07session\x18\x01 \x03(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x07session":\n\x19StopMappingSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"U\n\x1aStopMappingSessionResponse\x12\x1d\n\npackage_id\x18\x01 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"E\n$GetMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"z\n%GetMappingSessionMetadataByIDResponse\x12Q\n\x10session_metadata\x18\x01 \x01(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x0fsessionMetadata"\xb5\x05\n\x0fMappingMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x03 \x01(\tR\x07robotId\x12L\n\x14time_start_submitted\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x12timeStartSubmitted\x12V\n\x1atime_cloud_run_job_started\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x16timeCloudRunJobStarted\x12H\n\x12time_end_submitted\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10timeEndSubmitted\x12R\n\x18time_cloud_run_job_ended\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12?\n\nend_status\x18\x08 \x01(\x0e2 .viam.app.cloudslam.v1.EndStatusR\tendStatus\x12\'\n\x10cloud_run_job_id\x18\t \x01(\tR\rcloudRunJobId\x12.\n\x13viam_server_version\x18\n \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x0b \x01(\tR\x07mapName\x12!\n\x0cslam_version\x18\x0c \x01(\tR\x0bslamVersion\x12\x16\n\x06config\x18\r \x01(\tR\x06config\x12\x1b\n\terror_msg\x18\x0e \x01(\tR\x08errorMsg*l\n\tEndStatus\x12\x1a\n\x16END_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12END_STATUS_SUCCESS\x10\x01\x12\x16\n\x12END_STATUS_TIMEOUT\x10\x02\x12\x13\n\x0fEND_STATUS_FAIL\x10\x032\xe3\x06\n\x10CloudSLAMService\x12|\n\x13StartMappingSession\x121.viam.app.cloudslam.v1.StartMappingSessionRequest\x1a2.viam.app.cloudslam.v1.StartMappingSessionResponse\x12\xa3\x01\n GetActiveMappingSessionsForRobot\x12>.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotRequest\x1a?.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotResponse\x12\x94\x01\n\x1bGetMappingSessionPointCloud\x129.viam.app.cloudslam.v1.GetMappingSessionPointCloudRequest\x1a:.viam.app.cloudslam.v1.GetMappingSessionPointCloudResponse\x12|\n\x13ListMappingSessions\x121.viam.app.cloudslam.v1.ListMappingSessionsRequest\x1a2.viam.app.cloudslam.v1.ListMappingSessionsResponse\x12y\n\x12StopMappingSession\x120.viam.app.cloudslam.v1.StopMappingSessionRequest\x1a1.viam.app.cloudslam.v1.StopMappingSessionResponse\x12\x9a\x01\n\x1dGetMappingSessionMetadataByID\x12;.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDRequest\x1a<.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDResponseB"Z go.viam.com/api/app/cloudslam/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n!app/cloudslam/v1/cloud_slam.proto\x12\x15viam.app.cloudslam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xfe\x03\n\x1aStartMappingSessionRequest\x12!\n\x0cslam_version\x18\x01 \x01(\tR\x0bslamVersion\x12.\n\x13viam_server_version\x18\x02 \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x03 \x01(\tR\x07mapName\x12\'\n\x0forganization_id\x18\x04 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x05 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x06 \x01(\tR\x07robotId\x12Q\n\x10capture_interval\x18\x07 \x01(\x0b2&.viam.app.cloudslam.v1.CaptureIntervalR\x0fcaptureInterval\x12;\n\x07sensors\x18\x08 \x03(\x0b2!.viam.app.cloudslam.v1.SensorInfoR\x07sensors\x12K\n\x15slam_algorithm_params\x18\n \x01(\x0b2\x17.google.protobuf.StructR\x13slamAlgorithmParams\x120\n\x14existing_map_version\x18\x0b \x01(\tR\x12existingMapVersion"\x80\x01\n\nSensorInfo\x122\n\x15source_component_name\x18\x01 \x01(\tR\x13sourceComponentName\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12*\n\x11data_frequency_hz\x18\x03 \x01(\tR\x0fdataFrequencyHz"\x83\x01\n\x0fCaptureInterval\x129\n\nstart_time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartTime\x125\n\x08end_time\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endTime"<\n\x1bStartMappingSessionResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"D\n\'GetActiveMappingSessionsForRobotRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"I\n(GetActiveMappingSessionsForRobotResponse\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"C\n"GetMappingSessionPointCloudRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"h\n#GetMappingSessionPointCloudResponse\x12\x17\n\x07map_url\x18\x01 \x01(\tR\x06mapUrl\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"f\n\x1aListMappingSessionsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId"_\n\x1bListMappingSessionsResponse\x12@\n\x07session\x18\x01 \x03(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x07session":\n\x19StopMappingSessionRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"U\n\x1aStopMappingSessionResponse\x12\x1d\n\npackage_id\x18\x01 \x01(\tR\tpackageId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"E\n$GetMappingSessionMetadataByIDRequest\x12\x1d\n\nsession_id\x18\x01 \x01(\tR\tsessionId"z\n%GetMappingSessionMetadataByIDResponse\x12Q\n\x10session_metadata\x18\x01 \x01(\x0b2&.viam.app.cloudslam.v1.MappingMetadataR\x0fsessionMetadata"\xb5\x05\n\x0fMappingMetadata\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x19\n\x08robot_id\x18\x03 \x01(\tR\x07robotId\x12L\n\x14time_start_submitted\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x12timeStartSubmitted\x12V\n\x1atime_cloud_run_job_started\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x16timeCloudRunJobStarted\x12H\n\x12time_end_submitted\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10timeEndSubmitted\x12R\n\x18time_cloud_run_job_ended\x18\x07 \x01(\x0b2\x1a.google.protobuf.TimestampR\x14timeCloudRunJobEnded\x12?\n\nend_status\x18\x08 \x01(\x0e2 .viam.app.cloudslam.v1.EndStatusR\tendStatus\x12\'\n\x10cloud_run_job_id\x18\t \x01(\tR\rcloudRunJobId\x12.\n\x13viam_server_version\x18\n \x01(\tR\x11viamServerVersion\x12\x19\n\x08map_name\x18\x0b \x01(\tR\x07mapName\x12!\n\x0cslam_version\x18\x0c \x01(\tR\x0bslamVersion\x12\x16\n\x06config\x18\r \x01(\tR\x06config\x12\x1b\n\terror_msg\x18\x0e \x01(\tR\x08errorMsg*l\n\tEndStatus\x12\x1a\n\x16END_STATUS_UNSPECIFIED\x10\x00\x12\x16\n\x12END_STATUS_SUCCESS\x10\x01\x12\x16\n\x12END_STATUS_TIMEOUT\x10\x02\x12\x13\n\x0fEND_STATUS_FAIL\x10\x032\xe3\x06\n\x10CloudSLAMService\x12|\n\x13StartMappingSession\x121.viam.app.cloudslam.v1.StartMappingSessionRequest\x1a2.viam.app.cloudslam.v1.StartMappingSessionResponse\x12\xa3\x01\n GetActiveMappingSessionsForRobot\x12>.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotRequest\x1a?.viam.app.cloudslam.v1.GetActiveMappingSessionsForRobotResponse\x12\x94\x01\n\x1bGetMappingSessionPointCloud\x129.viam.app.cloudslam.v1.GetMappingSessionPointCloudRequest\x1a:.viam.app.cloudslam.v1.GetMappingSessionPointCloudResponse\x12|\n\x13ListMappingSessions\x121.viam.app.cloudslam.v1.ListMappingSessionsRequest\x1a2.viam.app.cloudslam.v1.ListMappingSessionsResponse\x12y\n\x12StopMappingSession\x120.viam.app.cloudslam.v1.StopMappingSessionRequest\x1a1.viam.app.cloudslam.v1.StopMappingSessionResponse\x12\x9a\x01\n\x1dGetMappingSessionMetadataByID\x12;.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDRequest\x1a<.viam.app.cloudslam.v1.GetMappingSessionMetadataByIDResponseB"Z go.viam.com/api/app/cloudslam/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.cloudslam.v1.cloud_slam_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "app.cloudslam.v1.cloud_slam_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z go.viam.com/api/app/cloudslam/v1' + DESCRIPTOR._serialized_options = b"Z go.viam.com/api/app/cloudslam/v1" _ENDSTATUS._serialized_start = 2546 _ENDSTATUS._serialized_end = 2654 _STARTMAPPINGSESSIONREQUEST._serialized_start = 148 @@ -46,4 +53,4 @@ _MAPPINGMETADATA._serialized_start = 1851 _MAPPINGMETADATA._serialized_end = 2544 _CLOUDSLAMSERVICE._serialized_start = 2657 - _CLOUDSLAMSERVICE._serialized_end = 3524 \ No newline at end of file + _CLOUDSLAMSERVICE._serialized_end = 3524 diff --git a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi index 73f47a504..2aa0800e0 100644 --- a/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi +++ b/src/viam/gen/app/cloudslam/v1/cloud_slam_pb2.pyi @@ -4,15 +4,18 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -20,18 +23,21 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _EndStatus: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _EndStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EndStatus.ValueType], builtins.type): +class _EndStatusEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_EndStatus.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor END_STATUS_UNSPECIFIED: _EndStatus.ValueType END_STATUS_SUCCESS: _EndStatus.ValueType END_STATUS_TIMEOUT: _EndStatus.ValueType END_STATUS_FAIL: _EndStatus.ValueType -class EndStatus(_EndStatus, metaclass=_EndStatusEnumTypeWrapper): - ... +class EndStatus(_EndStatus, metaclass=_EndStatusEnumTypeWrapper): ... + END_STATUS_UNSPECIFIED: EndStatus.ValueType END_STATUS_SUCCESS: EndStatus.ValueType END_STATUS_TIMEOUT: EndStatus.ValueType @@ -41,6 +47,7 @@ global___EndStatus = EndStatus @typing_extensions.final class StartMappingSessionRequest(google.protobuf.message.Message): """StartMappingSession""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SLAM_VERSION_FIELD_NUMBER: builtins.int VIAM_SERVER_VERSION_FIELD_NUMBER: builtins.int @@ -53,35 +60,75 @@ class StartMappingSessionRequest(google.protobuf.message.Message): SLAM_ALGORITHM_PARAMS_FIELD_NUMBER: builtins.int EXISTING_MAP_VERSION_FIELD_NUMBER: builtins.int slam_version: builtins.str - 'Version to use for slam, defaults stable' + "Version to use for slam, defaults stable" viam_server_version: builtins.str - 'Version to use for viam, defaults stable' + "Version to use for viam, defaults stable" map_name: builtins.str organization_id: builtins.str location_id: builtins.str robot_id: builtins.str @property - def capture_interval(self) -> global___CaptureInterval: - ... - + def capture_interval(self) -> global___CaptureInterval: ... @property - def sensors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SensorInfo]: - ... - + def sensors( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___SensorInfo + ]: ... @property - def slam_algorithm_params(self) -> google.protobuf.struct_pb2.Struct: - ... + def slam_algorithm_params(self) -> google.protobuf.struct_pb2.Struct: ... existing_map_version: builtins.str - def __init__(self, *, slam_version: builtins.str=..., viam_server_version: builtins.str=..., map_name: builtins.str=..., organization_id: builtins.str=..., location_id: builtins.str=..., robot_id: builtins.str=..., capture_interval: global___CaptureInterval | None=..., sensors: collections.abc.Iterable[global___SensorInfo] | None=..., slam_algorithm_params: google.protobuf.struct_pb2.Struct | None=..., existing_map_version: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['capture_interval', b'capture_interval', 'slam_algorithm_params', b'slam_algorithm_params']) -> builtins.bool: - ... + def __init__( + self, + *, + slam_version: builtins.str = ..., + viam_server_version: builtins.str = ..., + map_name: builtins.str = ..., + organization_id: builtins.str = ..., + location_id: builtins.str = ..., + robot_id: builtins.str = ..., + capture_interval: global___CaptureInterval | None = ..., + sensors: collections.abc.Iterable[global___SensorInfo] | None = ..., + slam_algorithm_params: google.protobuf.struct_pb2.Struct | None = ..., + existing_map_version: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "capture_interval", + b"capture_interval", + "slam_algorithm_params", + b"slam_algorithm_params", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "capture_interval", + b"capture_interval", + "existing_map_version", + b"existing_map_version", + "location_id", + b"location_id", + "map_name", + b"map_name", + "organization_id", + b"organization_id", + "robot_id", + b"robot_id", + "sensors", + b"sensors", + "slam_algorithm_params", + b"slam_algorithm_params", + "slam_version", + b"slam_version", + "viam_server_version", + b"viam_server_version", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['capture_interval', b'capture_interval', 'existing_map_version', b'existing_map_version', 'location_id', b'location_id', 'map_name', b'map_name', 'organization_id', b'organization_id', 'robot_id', b'robot_id', 'sensors', b'sensors', 'slam_algorithm_params', b'slam_algorithm_params', 'slam_version', b'slam_version', 'viam_server_version', b'viam_server_version']) -> None: - ... global___StartMappingSessionRequest = StartMappingSessionRequest @typing_extensions.final @@ -92,14 +139,28 @@ class SensorInfo(google.protobuf.message.Message): DATA_FREQUENCY_HZ_FIELD_NUMBER: builtins.int source_component_name: builtins.str type: builtins.str - 'type is the RDK component type' + "type is the RDK component type" data_frequency_hz: builtins.str - def __init__(self, *, source_component_name: builtins.str=..., type: builtins.str=..., data_frequency_hz: builtins.str=...) -> None: - ... + def __init__( + self, + *, + source_component_name: builtins.str = ..., + type: builtins.str = ..., + data_frequency_hz: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "data_frequency_hz", + b"data_frequency_hz", + "source_component_name", + b"source_component_name", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data_frequency_hz', b'data_frequency_hz', 'source_component_name', b'source_component_name', 'type', b'type']) -> None: - ... global___SensorInfo = SensorInfo @typing_extensions.final @@ -109,21 +170,30 @@ class CaptureInterval(google.protobuf.message.Message): END_TIME_FIELD_NUMBER: builtins.int @property - def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property def end_time(self) -> google.protobuf.timestamp_pb2.Timestamp: """if no end_time specified cloud slam will be run using live sensors""" - def __init__(self, *, start_time: google.protobuf.timestamp_pb2.Timestamp | None=..., end_time: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['end_time', b'end_time', 'start_time', b'start_time']) -> builtins.bool: - ... + def __init__( + self, + *, + start_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + end_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "end_time", b"end_time", "start_time", b"start_time" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "end_time", b"end_time", "start_time", b"start_time" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['end_time', b'end_time', 'start_time', b'start_time']) -> None: - ... global___CaptureInterval = CaptureInterval @typing_extensions.final @@ -132,27 +202,30 @@ class StartMappingSessionResponse(google.protobuf.message.Message): SESSION_ID_FIELD_NUMBER: builtins.int session_id: builtins.str - def __init__(self, *, session_id: builtins.str=...) -> None: - ... + def __init__(self, *, session_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session_id", b"session_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_id', b'session_id']) -> None: - ... global___StartMappingSessionResponse = StartMappingSessionResponse @typing_extensions.final class GetActiveMappingSessionsForRobotRequest(google.protobuf.message.Message): """GetActiveMappingSessionsForRobot""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ROBOT_ID_FIELD_NUMBER: builtins.int robot_id: builtins.str - 'assumes only one active mapping session on a robot' + "assumes only one active mapping session on a robot" - def __init__(self, *, robot_id: builtins.str=...) -> None: - ... + def __init__(self, *, robot_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["robot_id", b"robot_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['robot_id', b'robot_id']) -> None: - ... -global___GetActiveMappingSessionsForRobotRequest = GetActiveMappingSessionsForRobotRequest +global___GetActiveMappingSessionsForRobotRequest = ( + GetActiveMappingSessionsForRobotRequest +) @typing_extensions.final class GetActiveMappingSessionsForRobotResponse(google.protobuf.message.Message): @@ -160,25 +233,28 @@ class GetActiveMappingSessionsForRobotResponse(google.protobuf.message.Message): SESSION_ID_FIELD_NUMBER: builtins.int session_id: builtins.str - def __init__(self, *, session_id: builtins.str=...) -> None: - ... + def __init__(self, *, session_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session_id", b"session_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_id', b'session_id']) -> None: - ... -global___GetActiveMappingSessionsForRobotResponse = GetActiveMappingSessionsForRobotResponse +global___GetActiveMappingSessionsForRobotResponse = ( + GetActiveMappingSessionsForRobotResponse +) @typing_extensions.final class GetMappingSessionPointCloudRequest(google.protobuf.message.Message): """GetMappingSessionPointCloud""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SESSION_ID_FIELD_NUMBER: builtins.int session_id: builtins.str - def __init__(self, *, session_id: builtins.str=...) -> None: - ... + def __init__(self, *, session_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session_id", b"session_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_id', b'session_id']) -> None: - ... global___GetMappingSessionPointCloudRequest = GetMappingSessionPointCloudRequest @typing_extensions.final @@ -187,36 +263,48 @@ class GetMappingSessionPointCloudResponse(google.protobuf.message.Message): MAP_URL_FIELD_NUMBER: builtins.int POSE_FIELD_NUMBER: builtins.int map_url: builtins.str - 'url to the pointcloud map' + "url to the pointcloud map" @property def pose(self) -> common.v1.common_pb2.Pose: """Current position within the SLAM Map""" - def __init__(self, *, map_url: builtins.str=..., pose: common.v1.common_pb2.Pose | None=...) -> None: - ... + def __init__( + self, + *, + map_url: builtins.str = ..., + pose: common.v1.common_pb2.Pose | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["map_url", b"map_url", "pose", b"pose"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['map_url', b'map_url', 'pose', b'pose']) -> None: - ... global___GetMappingSessionPointCloudResponse = GetMappingSessionPointCloudResponse @typing_extensions.final class ListMappingSessionsRequest(google.protobuf.message.Message): """ListMappingSessions""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int LOCATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str location_id: builtins.str - def __init__(self, *, organization_id: builtins.str=..., location_id: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., location_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", b"location_id", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'organization_id', b'organization_id']) -> None: - ... global___ListMappingSessionsRequest = ListMappingSessionsRequest @typing_extensions.final @@ -225,28 +313,35 @@ class ListMappingSessionsResponse(google.protobuf.message.Message): SESSION_FIELD_NUMBER: builtins.int @property - def session(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___MappingMetadata]: - ... - - def __init__(self, *, session: collections.abc.Iterable[global___MappingMetadata] | None=...) -> None: - ... + def session( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___MappingMetadata + ]: ... + def __init__( + self, + *, + session: collections.abc.Iterable[global___MappingMetadata] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session", b"session"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session', b'session']) -> None: - ... global___ListMappingSessionsResponse = ListMappingSessionsResponse @typing_extensions.final class StopMappingSessionRequest(google.protobuf.message.Message): """StopMappingSession""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SESSION_ID_FIELD_NUMBER: builtins.int session_id: builtins.str - def __init__(self, *, session_id: builtins.str=...) -> None: - ... + def __init__(self, *, session_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session_id", b"session_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_id', b'session_id']) -> None: - ... global___StopMappingSessionRequest = StopMappingSessionRequest @typing_extensions.final @@ -257,25 +352,31 @@ class StopMappingSessionResponse(google.protobuf.message.Message): package_id: builtins.str version: builtins.str - def __init__(self, *, package_id: builtins.str=..., version: builtins.str=...) -> None: - ... + def __init__( + self, *, package_id: builtins.str = ..., version: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "package_id", b"package_id", "version", b"version" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['package_id', b'package_id', 'version', b'version']) -> None: - ... global___StopMappingSessionResponse = StopMappingSessionResponse @typing_extensions.final class GetMappingSessionMetadataByIDRequest(google.protobuf.message.Message): """GetMappingSessionMetadataByID""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SESSION_ID_FIELD_NUMBER: builtins.int session_id: builtins.str - def __init__(self, *, session_id: builtins.str=...) -> None: - ... + def __init__(self, *, session_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["session_id", b"session_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_id', b'session_id']) -> None: - ... global___GetMappingSessionMetadataByIDRequest = GetMappingSessionMetadataByIDRequest @typing_extensions.final @@ -284,17 +385,19 @@ class GetMappingSessionMetadataByIDResponse(google.protobuf.message.Message): SESSION_METADATA_FIELD_NUMBER: builtins.int @property - def session_metadata(self) -> global___MappingMetadata: - ... - - def __init__(self, *, session_metadata: global___MappingMetadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['session_metadata', b'session_metadata']) -> builtins.bool: - ... + def session_metadata(self) -> global___MappingMetadata: ... + def __init__( + self, *, session_metadata: global___MappingMetadata | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["session_metadata", b"session_metadata"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["session_metadata", b"session_metadata"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['session_metadata', b'session_metadata']) -> None: - ... global___GetMappingSessionMetadataByIDResponse = GetMappingSessionMetadataByIDResponse @typing_extensions.final @@ -315,11 +418,11 @@ class MappingMetadata(google.protobuf.message.Message): CONFIG_FIELD_NUMBER: builtins.int ERROR_MSG_FIELD_NUMBER: builtins.int org_id: builtins.str - 'org associated with the slam session' + "org associated with the slam session" location_id: builtins.str - 'location associated with the slam session' + "location associated with the slam session" robot_id: builtins.str - 'robot associated with slam session' + "robot associated with slam session" @property def time_start_submitted(self) -> google.protobuf.timestamp_pb2.Timestamp: @@ -337,26 +440,84 @@ class MappingMetadata(google.protobuf.message.Message): def time_cloud_run_job_ended(self) -> google.protobuf.timestamp_pb2.Timestamp: """time the cloud run job ended""" end_status: global___EndStatus.ValueType - 'enums that represent “success”, “failed”, etc' + "enums that represent “success”, “failed”, etc" cloud_run_job_id: builtins.str - 'initially unset' + "initially unset" viam_server_version: builtins.str - 'version tag from request, defaults to stable' + "version tag from request, defaults to stable" map_name: builtins.str - 'name of the map package' + "name of the map package" slam_version: builtins.str - 'version tag from request, defaults to stable' + "version tag from request, defaults to stable" config: builtins.str - 'a robot config for a slam session' + "a robot config for a slam session" error_msg: builtins.str - 'additional details on the end status if needed, such as errors' - - def __init__(self, *, org_id: builtins.str=..., location_id: builtins.str=..., robot_id: builtins.str=..., time_start_submitted: google.protobuf.timestamp_pb2.Timestamp | None=..., time_cloud_run_job_started: google.protobuf.timestamp_pb2.Timestamp | None=..., time_end_submitted: google.protobuf.timestamp_pb2.Timestamp | None=..., time_cloud_run_job_ended: google.protobuf.timestamp_pb2.Timestamp | None=..., end_status: global___EndStatus.ValueType=..., cloud_run_job_id: builtins.str=..., viam_server_version: builtins.str=..., map_name: builtins.str=..., slam_version: builtins.str=..., config: builtins.str=..., error_msg: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['time_cloud_run_job_ended', b'time_cloud_run_job_ended', 'time_cloud_run_job_started', b'time_cloud_run_job_started', 'time_end_submitted', b'time_end_submitted', 'time_start_submitted', b'time_start_submitted']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud_run_job_id', b'cloud_run_job_id', 'config', b'config', 'end_status', b'end_status', 'error_msg', b'error_msg', 'location_id', b'location_id', 'map_name', b'map_name', 'org_id', b'org_id', 'robot_id', b'robot_id', 'slam_version', b'slam_version', 'time_cloud_run_job_ended', b'time_cloud_run_job_ended', 'time_cloud_run_job_started', b'time_cloud_run_job_started', 'time_end_submitted', b'time_end_submitted', 'time_start_submitted', b'time_start_submitted', 'viam_server_version', b'viam_server_version']) -> None: - ... -global___MappingMetadata = MappingMetadata \ No newline at end of file + "additional details on the end status if needed, such as errors" + + def __init__( + self, + *, + org_id: builtins.str = ..., + location_id: builtins.str = ..., + robot_id: builtins.str = ..., + time_start_submitted: google.protobuf.timestamp_pb2.Timestamp | None = ..., + time_cloud_run_job_started: google.protobuf.timestamp_pb2.Timestamp + | None = ..., + time_end_submitted: google.protobuf.timestamp_pb2.Timestamp | None = ..., + time_cloud_run_job_ended: google.protobuf.timestamp_pb2.Timestamp | None = ..., + end_status: global___EndStatus.ValueType = ..., + cloud_run_job_id: builtins.str = ..., + viam_server_version: builtins.str = ..., + map_name: builtins.str = ..., + slam_version: builtins.str = ..., + config: builtins.str = ..., + error_msg: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "time_cloud_run_job_ended", + b"time_cloud_run_job_ended", + "time_cloud_run_job_started", + b"time_cloud_run_job_started", + "time_end_submitted", + b"time_end_submitted", + "time_start_submitted", + b"time_start_submitted", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "cloud_run_job_id", + b"cloud_run_job_id", + "config", + b"config", + "end_status", + b"end_status", + "error_msg", + b"error_msg", + "location_id", + b"location_id", + "map_name", + b"map_name", + "org_id", + b"org_id", + "robot_id", + b"robot_id", + "slam_version", + b"slam_version", + "time_cloud_run_job_ended", + b"time_cloud_run_job_ended", + "time_cloud_run_job_started", + b"time_cloud_run_job_started", + "time_end_submitted", + b"time_end_submitted", + "time_start_submitted", + b"time_start_submitted", + "viam_server_version", + b"viam_server_version", + ], + ) -> None: ... + +global___MappingMetadata = MappingMetadata diff --git a/src/viam/gen/app/data/v1/data_grpc.py b/src/viam/gen/app/data/v1/data_grpc.py index 7ef07d41f..450aecc43 100644 --- a/src/viam/gen/app/data/v1/data_grpc.py +++ b/src/viam/gen/app/data/v1/data_grpc.py @@ -1,119 +1,403 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.any_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 + from .... import app -class DataServiceBase(abc.ABC): +class DataServiceBase(abc.ABC): @abc.abstractmethod - async def TabularDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse]') -> None: + async def TabularDataByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def TabularDataBySQL(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse]') -> None: + async def TabularDataBySQL( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse]", + ) -> None: pass @abc.abstractmethod - async def TabularDataByMQL(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse]') -> None: + async def TabularDataByMQL( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse]", + ) -> None: pass @abc.abstractmethod - async def BinaryDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse]') -> None: + async def BinaryDataByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def BinaryDataByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse]') -> None: + async def BinaryDataByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteTabularData(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse]') -> None: + async def DeleteTabularData( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteBinaryDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse]') -> None: + async def DeleteBinaryDataByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteBinaryDataByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse]') -> None: + async def DeleteBinaryDataByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse]", + ) -> None: pass @abc.abstractmethod - async def AddTagsToBinaryDataByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse]') -> None: + async def AddTagsToBinaryDataByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse]", + ) -> None: pass @abc.abstractmethod - async def AddTagsToBinaryDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse]') -> None: + async def AddTagsToBinaryDataByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveTagsFromBinaryDataByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse]') -> None: + async def RemoveTagsFromBinaryDataByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveTagsFromBinaryDataByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse]') -> None: + async def RemoveTagsFromBinaryDataByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def TagsByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse]') -> None: + async def TagsByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def AddBoundingBoxToImageByID(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse]') -> None: + async def AddBoundingBoxToImageByID( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveBoundingBoxFromImageByID(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse]') -> None: + async def RemoveBoundingBoxFromImageByID( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse]", + ) -> None: pass @abc.abstractmethod - async def BoundingBoxLabelsByFilter(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse]') -> None: + async def BoundingBoxLabelsByFilter( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse]", + ) -> None: pass @abc.abstractmethod - async def GetDatabaseConnection(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse]') -> None: + async def GetDatabaseConnection( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse]", + ) -> None: pass @abc.abstractmethod - async def ConfigureDatabaseUser(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse]') -> None: + async def ConfigureDatabaseUser( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse]", + ) -> None: pass @abc.abstractmethod - async def AddBinaryDataToDatasetByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse]') -> None: + async def AddBinaryDataToDatasetByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveBinaryDataFromDatasetByIDs(self, stream: 'grpclib.server.Stream[app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse]') -> None: + async def RemoveBinaryDataFromDatasetByIDs( + self, + stream: "grpclib.server.Stream[app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.data.v1.DataService/TabularDataByFilter': grpclib.const.Handler(self.TabularDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse), '/viam.app.data.v1.DataService/TabularDataBySQL': grpclib.const.Handler(self.TabularDataBySQL, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse), '/viam.app.data.v1.DataService/TabularDataByMQL': grpclib.const.Handler(self.TabularDataByMQL, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse), '/viam.app.data.v1.DataService/BinaryDataByFilter': grpclib.const.Handler(self.BinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse), '/viam.app.data.v1.DataService/BinaryDataByIDs': grpclib.const.Handler(self.BinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse), '/viam.app.data.v1.DataService/DeleteTabularData': grpclib.const.Handler(self.DeleteTabularData, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByFilter': grpclib.const.Handler(self.DeleteBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/DeleteBinaryDataByIDs': grpclib.const.Handler(self.DeleteBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs': grpclib.const.Handler(self.AddTagsToBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter': grpclib.const.Handler(self.AddTagsToBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse), '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter': grpclib.const.Handler(self.RemoveTagsFromBinaryDataByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse), '/viam.app.data.v1.DataService/TagsByFilter': grpclib.const.Handler(self.TagsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse), '/viam.app.data.v1.DataService/AddBoundingBoxToImageByID': grpclib.const.Handler(self.AddBoundingBoxToImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse), '/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID': grpclib.const.Handler(self.RemoveBoundingBoxFromImageByID, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse), '/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter': grpclib.const.Handler(self.BoundingBoxLabelsByFilter, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse), '/viam.app.data.v1.DataService/GetDatabaseConnection': grpclib.const.Handler(self.GetDatabaseConnection, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse), '/viam.app.data.v1.DataService/ConfigureDatabaseUser': grpclib.const.Handler(self.ConfigureDatabaseUser, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse), '/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs': grpclib.const.Handler(self.AddBinaryDataToDatasetByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse), '/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs': grpclib.const.Handler(self.RemoveBinaryDataFromDatasetByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse)} + return { + "/viam.app.data.v1.DataService/TabularDataByFilter": grpclib.const.Handler( + self.TabularDataByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.TabularDataByFilterRequest, + app.data.v1.data_pb2.TabularDataByFilterResponse, + ), + "/viam.app.data.v1.DataService/TabularDataBySQL": grpclib.const.Handler( + self.TabularDataBySQL, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.TabularDataBySQLRequest, + app.data.v1.data_pb2.TabularDataBySQLResponse, + ), + "/viam.app.data.v1.DataService/TabularDataByMQL": grpclib.const.Handler( + self.TabularDataByMQL, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.TabularDataByMQLRequest, + app.data.v1.data_pb2.TabularDataByMQLResponse, + ), + "/viam.app.data.v1.DataService/BinaryDataByFilter": grpclib.const.Handler( + self.BinaryDataByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.BinaryDataByFilterRequest, + app.data.v1.data_pb2.BinaryDataByFilterResponse, + ), + "/viam.app.data.v1.DataService/BinaryDataByIDs": grpclib.const.Handler( + self.BinaryDataByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.BinaryDataByIDsRequest, + app.data.v1.data_pb2.BinaryDataByIDsResponse, + ), + "/viam.app.data.v1.DataService/DeleteTabularData": grpclib.const.Handler( + self.DeleteTabularData, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.DeleteTabularDataRequest, + app.data.v1.data_pb2.DeleteTabularDataResponse, + ), + "/viam.app.data.v1.DataService/DeleteBinaryDataByFilter": grpclib.const.Handler( + self.DeleteBinaryDataByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, + app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse, + ), + "/viam.app.data.v1.DataService/DeleteBinaryDataByIDs": grpclib.const.Handler( + self.DeleteBinaryDataByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, + app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse, + ), + "/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs": grpclib.const.Handler( + self.AddTagsToBinaryDataByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, + app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse, + ), + "/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter": grpclib.const.Handler( + self.AddTagsToBinaryDataByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, + app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse, + ), + "/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs": grpclib.const.Handler( + self.RemoveTagsFromBinaryDataByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse, + ), + "/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter": grpclib.const.Handler( + self.RemoveTagsFromBinaryDataByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse, + ), + "/viam.app.data.v1.DataService/TagsByFilter": grpclib.const.Handler( + self.TagsByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.TagsByFilterRequest, + app.data.v1.data_pb2.TagsByFilterResponse, + ), + "/viam.app.data.v1.DataService/AddBoundingBoxToImageByID": grpclib.const.Handler( + self.AddBoundingBoxToImageByID, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, + app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse, + ), + "/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID": grpclib.const.Handler( + self.RemoveBoundingBoxFromImageByID, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, + app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse, + ), + "/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter": grpclib.const.Handler( + self.BoundingBoxLabelsByFilter, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, + app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse, + ), + "/viam.app.data.v1.DataService/GetDatabaseConnection": grpclib.const.Handler( + self.GetDatabaseConnection, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.GetDatabaseConnectionRequest, + app.data.v1.data_pb2.GetDatabaseConnectionResponse, + ), + "/viam.app.data.v1.DataService/ConfigureDatabaseUser": grpclib.const.Handler( + self.ConfigureDatabaseUser, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.ConfigureDatabaseUserRequest, + app.data.v1.data_pb2.ConfigureDatabaseUserResponse, + ), + "/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs": grpclib.const.Handler( + self.AddBinaryDataToDatasetByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, + app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse, + ), + "/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs": grpclib.const.Handler( + self.RemoveBinaryDataFromDatasetByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, + app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse, + ), + } -class DataServiceStub: +class DataServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.TabularDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/TabularDataByFilter', app.data.v1.data_pb2.TabularDataByFilterRequest, app.data.v1.data_pb2.TabularDataByFilterResponse) - self.TabularDataBySQL = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/TabularDataBySQL', app.data.v1.data_pb2.TabularDataBySQLRequest, app.data.v1.data_pb2.TabularDataBySQLResponse) - self.TabularDataByMQL = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/TabularDataByMQL', app.data.v1.data_pb2.TabularDataByMQLRequest, app.data.v1.data_pb2.TabularDataByMQLResponse) - self.BinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BinaryDataByFilter', app.data.v1.data_pb2.BinaryDataByFilterRequest, app.data.v1.data_pb2.BinaryDataByFilterResponse) - self.BinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BinaryDataByIDs', app.data.v1.data_pb2.BinaryDataByIDsRequest, app.data.v1.data_pb2.BinaryDataByIDsResponse) - self.DeleteTabularData = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteTabularData', app.data.v1.data_pb2.DeleteTabularDataRequest, app.data.v1.data_pb2.DeleteTabularDataResponse) - self.DeleteBinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteBinaryDataByFilter', app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse) - self.DeleteBinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/DeleteBinaryDataByIDs', app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse) - self.AddTagsToBinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs', app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse) - self.AddTagsToBinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter', app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse) - self.RemoveTagsFromBinaryDataByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs', app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse) - self.RemoveTagsFromBinaryDataByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter', app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse) - self.TagsByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/TagsByFilter', app.data.v1.data_pb2.TagsByFilterRequest, app.data.v1.data_pb2.TagsByFilterResponse) - self.AddBoundingBoxToImageByID = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/AddBoundingBoxToImageByID', app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse) - self.RemoveBoundingBoxFromImageByID = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID', app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse) - self.BoundingBoxLabelsByFilter = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter', app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse) - self.GetDatabaseConnection = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/GetDatabaseConnection', app.data.v1.data_pb2.GetDatabaseConnectionRequest, app.data.v1.data_pb2.GetDatabaseConnectionResponse) - self.ConfigureDatabaseUser = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/ConfigureDatabaseUser', app.data.v1.data_pb2.ConfigureDatabaseUserRequest, app.data.v1.data_pb2.ConfigureDatabaseUserResponse) - self.AddBinaryDataToDatasetByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs', app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse) - self.RemoveBinaryDataFromDatasetByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs', app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse) \ No newline at end of file + self.TabularDataByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/TabularDataByFilter", + app.data.v1.data_pb2.TabularDataByFilterRequest, + app.data.v1.data_pb2.TabularDataByFilterResponse, + ) + self.TabularDataBySQL = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/TabularDataBySQL", + app.data.v1.data_pb2.TabularDataBySQLRequest, + app.data.v1.data_pb2.TabularDataBySQLResponse, + ) + self.TabularDataByMQL = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/TabularDataByMQL", + app.data.v1.data_pb2.TabularDataByMQLRequest, + app.data.v1.data_pb2.TabularDataByMQLResponse, + ) + self.BinaryDataByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/BinaryDataByFilter", + app.data.v1.data_pb2.BinaryDataByFilterRequest, + app.data.v1.data_pb2.BinaryDataByFilterResponse, + ) + self.BinaryDataByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/BinaryDataByIDs", + app.data.v1.data_pb2.BinaryDataByIDsRequest, + app.data.v1.data_pb2.BinaryDataByIDsResponse, + ) + self.DeleteTabularData = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/DeleteTabularData", + app.data.v1.data_pb2.DeleteTabularDataRequest, + app.data.v1.data_pb2.DeleteTabularDataResponse, + ) + self.DeleteBinaryDataByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/DeleteBinaryDataByFilter", + app.data.v1.data_pb2.DeleteBinaryDataByFilterRequest, + app.data.v1.data_pb2.DeleteBinaryDataByFilterResponse, + ) + self.DeleteBinaryDataByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/DeleteBinaryDataByIDs", + app.data.v1.data_pb2.DeleteBinaryDataByIDsRequest, + app.data.v1.data_pb2.DeleteBinaryDataByIDsResponse, + ) + self.AddTagsToBinaryDataByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/AddTagsToBinaryDataByIDs", + app.data.v1.data_pb2.AddTagsToBinaryDataByIDsRequest, + app.data.v1.data_pb2.AddTagsToBinaryDataByIDsResponse, + ) + self.AddTagsToBinaryDataByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/AddTagsToBinaryDataByFilter", + app.data.v1.data_pb2.AddTagsToBinaryDataByFilterRequest, + app.data.v1.data_pb2.AddTagsToBinaryDataByFilterResponse, + ) + self.RemoveTagsFromBinaryDataByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByIDs", + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsRequest, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByIDsResponse, + ) + self.RemoveTagsFromBinaryDataByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/RemoveTagsFromBinaryDataByFilter", + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterRequest, + app.data.v1.data_pb2.RemoveTagsFromBinaryDataByFilterResponse, + ) + self.TagsByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/TagsByFilter", + app.data.v1.data_pb2.TagsByFilterRequest, + app.data.v1.data_pb2.TagsByFilterResponse, + ) + self.AddBoundingBoxToImageByID = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/AddBoundingBoxToImageByID", + app.data.v1.data_pb2.AddBoundingBoxToImageByIDRequest, + app.data.v1.data_pb2.AddBoundingBoxToImageByIDResponse, + ) + self.RemoveBoundingBoxFromImageByID = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/RemoveBoundingBoxFromImageByID", + app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDRequest, + app.data.v1.data_pb2.RemoveBoundingBoxFromImageByIDResponse, + ) + self.BoundingBoxLabelsByFilter = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/BoundingBoxLabelsByFilter", + app.data.v1.data_pb2.BoundingBoxLabelsByFilterRequest, + app.data.v1.data_pb2.BoundingBoxLabelsByFilterResponse, + ) + self.GetDatabaseConnection = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/GetDatabaseConnection", + app.data.v1.data_pb2.GetDatabaseConnectionRequest, + app.data.v1.data_pb2.GetDatabaseConnectionResponse, + ) + self.ConfigureDatabaseUser = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/ConfigureDatabaseUser", + app.data.v1.data_pb2.ConfigureDatabaseUserRequest, + app.data.v1.data_pb2.ConfigureDatabaseUserResponse, + ) + self.AddBinaryDataToDatasetByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/AddBinaryDataToDatasetByIDs", + app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsRequest, + app.data.v1.data_pb2.AddBinaryDataToDatasetByIDsResponse, + ) + self.RemoveBinaryDataFromDatasetByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.data.v1.DataService/RemoveBinaryDataFromDatasetByIDs", + app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsRequest, + app.data.v1.data_pb2.RemoveBinaryDataFromDatasetByIDsResponse, + ) diff --git a/src/viam/gen/app/data/v1/data_pb2.py b/src/viam/gen/app/data/v1/data_pb2.py index 7c232d01a..15f8f8304 100644 --- a/src/viam/gen/app/data/v1/data_pb2.py +++ b/src/viam/gen/app/data/v1/data_pb2.py @@ -1,20 +1,24 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"G\n\x18TabularDataBySQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"r\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinaryJ\x04\x08\x02\x10\x03R\tmql_query"G\n\x18TabularDataByMQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\x9e\x03\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"~\n"AddBinaryDataToDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\x83\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\xfc\x13\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x16app/data/v1/data.proto\x12\x10viam.app.data.v1\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa1\x01\n\x0bDataRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x14\n\x05limit\x18\x02 \x01(\x04R\x05limit\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x126\n\nsort_order\x18\x04 \x01(\x0e2\x17.viam.app.data.v1.OrderR\tsortOrder"\xaa\x04\n\x06Filter\x12%\n\x0ecomponent_name\x18\x01 \x01(\tR\rcomponentName\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12\x16\n\x06method\x18\x04 \x01(\tR\x06method\x12\x1d\n\nrobot_name\x18\x06 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x07 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x08 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\t \x01(\tR\x06partId\x12!\n\x0clocation_ids\x18\n \x03(\tR\x0blocationIds\x12)\n\x10organization_ids\x18\x0b \x03(\tR\x0forganizationIds\x12\x1b\n\tmime_type\x18\x0c \x03(\tR\x08mimeType\x12=\n\x08interval\x18\r \x01(\x0b2!.viam.app.data.v1.CaptureIntervalR\x08interval\x12=\n\x0btags_filter\x18\x0e \x01(\x0b2\x1c.viam.app.data.v1.TagsFilterR\ntagsFilter\x12\x1f\n\x0bbbox_labels\x18\x0f \x03(\tR\nbboxLabels\x12\x1d\n\ndataset_id\x18\x10 \x01(\tR\tdatasetIdJ\x04\x08\x03\x10\x04J\x04\x08\x05\x10\x06R\x0fcomponent_modelR\x04tags"V\n\nTagsFilter\x124\n\x04type\x18\x01 \x01(\x0e2 .viam.app.data.v1.TagsFilterTypeR\x04type\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"\xc3\x04\n\x0fCaptureMetadata\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12\x19\n\x08robot_id\x18\x04 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x05 \x01(\tR\x08partName\x12\x17\n\x07part_id\x18\x06 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x07 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\t \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\n \x01(\tR\nmethodName\x12d\n\x11method_parameters\x18\x0b \x03(\x0b27.viam.app.data.v1.CaptureMetadata.MethodParametersEntryR\x10methodParameters\x12\x12\n\x04tags\x18\x0c \x03(\tR\x04tags\x12\x1b\n\tmime_type\x18\r \x01(\tR\x08mimeType\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x08\x10\tR\x0fcomponent_model"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xb1\x01\n\x1aTabularDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12\x1d\n\ncount_only\x18\x02 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x03 \x01(\x08R\x13includeInternalData"\xe3\x01\n\x1bTabularDataByFilterResponse\x12=\n\x08metadata\x18\x01 \x03(\x0b2!.viam.app.data.v1.CaptureMetadataR\x08metadata\x121\n\x04data\x18\x02 \x03(\x0b2\x1d.viam.app.data.v1.TabularDataR\x04data\x12\x14\n\x05count\x18\x03 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x04 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x05 \x01(\x04R\x0etotalSizeBytes"\xe5\x01\n\x0bTabularData\x12+\n\x04data\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04data\x12%\n\x0emetadata_index\x18\x02 \x01(\rR\rmetadataIndex\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"_\n\x17TabularDataBySQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1b\n\tsql_query\x18\x02 \x01(\tR\x08sqlQuery"G\n\x18TabularDataBySQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"r\n\x17TabularDataByMQLRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1d\n\nmql_binary\x18\x03 \x03(\x0cR\tmqlBinaryJ\x04\x08\x02\x10\x03R\tmql_query"G\n\x18TabularDataByMQLResponse\x12+\n\x04data\x18\x01 \x03(\x0b2\x17.google.protobuf.StructR\x04data"b\n\nBinaryData\x12\x16\n\x06binary\x18\x01 \x01(\x0cR\x06binary\x12<\n\x08metadata\x18\x02 \x01(\x0b2 .viam.app.data.v1.BinaryMetadataR\x08metadata"\xd7\x01\n\x19BinaryDataByFilterRequest\x12@\n\x0cdata_request\x18\x01 \x01(\x0b2\x1d.viam.app.data.v1.DataRequestR\x0bdataRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x12\x1d\n\ncount_only\x18\x03 \x01(\x08R\tcountOnly\x122\n\x15include_internal_data\x18\x04 \x01(\x08R\x13includeInternalData"\xa2\x01\n\x1aBinaryDataByFilterResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count\x12\x12\n\x04last\x18\x03 \x01(\tR\x04last\x12(\n\x10total_size_bytes\x18\x04 \x01(\x04R\x0etotalSizeBytes"m\n\x08BinaryID\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId"\x8a\x01\n\x16BinaryDataByIDsRequest\x12%\n\x0einclude_binary\x18\x02 \x01(\x08R\rincludeBinary\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"a\n\x17BinaryDataByIDsResponse\x120\n\x04data\x18\x01 \x03(\x0b2\x1c.viam.app.data.v1.BinaryDataR\x04data\x12\x14\n\x05count\x18\x02 \x01(\x04R\x05count"\xdb\x01\n\x0bBoundingBox\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalized"D\n\x0bAnnotations\x125\n\x06bboxes\x18\x01 \x03(\x0b2\x1d.viam.app.data.v1.BoundingBoxR\x06bboxes"\x9e\x03\n\x0eBinaryMetadata\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12L\n\x10capture_metadata\x18\x02 \x01(\x0b2!.viam.app.data.v1.CaptureMetadataR\x0fcaptureMetadata\x12A\n\x0etime_requested\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived\x12\x1b\n\tfile_name\x18\x05 \x01(\tR\x08fileName\x12\x19\n\x08file_ext\x18\x06 \x01(\tR\x07fileExt\x12\x10\n\x03uri\x18\x07 \x01(\tR\x03uri\x12?\n\x0bannotations\x18\x08 \x01(\x0b2\x1d.viam.app.data.v1.AnnotationsR\x0bannotations\x12\x1f\n\x0bdataset_ids\x18\t \x03(\tR\ndatasetIds"x\n\x18DeleteTabularDataRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x123\n\x16delete_older_than_days\x18\x02 \x01(\rR\x13deleteOlderThanDays"@\n\x19DeleteTabularDataResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"\x87\x01\n\x1fDeleteBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x122\n\x15include_internal_data\x18\x02 \x01(\x08R\x13includeInternalData"U\n DeleteBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"i\n\x1cDeleteBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x02 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIdsJ\x04\x08\x01\x10\x02R\x08file_ids"R\n\x1dDeleteBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCountJ\x04\x08\x02\x10\x03R\x06result"\x80\x01\n\x1fAddTagsToBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids""\n AddTagsToBinaryDataByIDsResponse"j\n"AddTagsToBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"%\n#AddTagsToBinaryDataByFilterResponse"\x85\x01\n$RemoveTagsFromBinaryDataByIDsRequest\x129\n\nbinary_ids\x18\x03 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tagsJ\x04\x08\x01\x10\x02R\x08file_ids"L\n%RemoveTagsFromBinaryDataByIDsResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"o\n\'RemoveTagsFromBinaryDataByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter\x12\x12\n\x04tags\x18\x02 \x03(\tR\x04tags"O\n(RemoveTagsFromBinaryDataByFilterResponse\x12#\n\rdeleted_count\x18\x01 \x01(\x04R\x0cdeletedCount"G\n\x13TagsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter"*\n\x14TagsByFilterResponse\x12\x12\n\x04tags\x18\x01 \x03(\tR\x04tags"\xa8\x02\n AddBoundingBoxToImageByIDRequest\x127\n\tbinary_id\x18\x07 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x14\n\x05label\x18\x02 \x01(\tR\x05label\x12(\n\x10x_min_normalized\x18\x03 \x01(\x01R\x0exMinNormalized\x12(\n\x10y_min_normalized\x18\x04 \x01(\x01R\x0eyMinNormalized\x12(\n\x10x_max_normalized\x18\x05 \x01(\x01R\x0exMaxNormalized\x12(\n\x10y_max_normalized\x18\x06 \x01(\x01R\x0eyMaxNormalizedJ\x04\x08\x01\x10\x02R\x07file_id"<\n!AddBoundingBoxToImageByIDResponse\x12\x17\n\x07bbox_id\x18\x01 \x01(\tR\x06bboxId"\x88\x01\n%RemoveBoundingBoxFromImageByIDRequest\x127\n\tbinary_id\x18\x03 \x01(\x0b2\x1a.viam.app.data.v1.BinaryIDR\x08binaryId\x12\x17\n\x07bbox_id\x18\x02 \x01(\tR\x06bboxIdJ\x04\x08\x01\x10\x02R\x07file_id"(\n&RemoveBoundingBoxFromImageByIDResponse"T\n BoundingBoxLabelsByFilterRequest\x120\n\x06filter\x18\x01 \x01(\x0b2\x18.viam.app.data.v1.FilterR\x06filter";\n!BoundingBoxLabelsByFilterResponse\x12\x16\n\x06labels\x18\x01 \x03(\tR\x06labels"c\n\x1cConfigureDatabaseUserRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1a\n\x08password\x18\x02 \x01(\tR\x08password"\x1f\n\x1dConfigureDatabaseUserResponse"G\n\x1cGetDatabaseConnectionRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x88\x01\n\x1dGetDatabaseConnectionResponse\x12\x1a\n\x08hostname\x18\x01 \x01(\tR\x08hostname\x12\x1f\n\x0bmongodb_uri\x18\x02 \x01(\tR\nmongodbUri\x12*\n\x11has_database_user\x18\x03 \x01(\x08R\x0fhasDatabaseUser"~\n"AddBinaryDataToDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"%\n#AddBinaryDataToDatasetByIDsResponse"\x83\x01\n\'RemoveBinaryDataFromDatasetByIDsRequest\x129\n\nbinary_ids\x18\x01 \x03(\x0b2\x1a.viam.app.data.v1.BinaryIDR\tbinaryIds\x12\x1d\n\ndataset_id\x18\x02 \x01(\tR\tdatasetId"*\n(RemoveBinaryDataFromDatasetByIDsResponse*I\n\x05Order\x12\x15\n\x11ORDER_UNSPECIFIED\x10\x00\x12\x14\n\x10ORDER_DESCENDING\x10\x01\x12\x13\n\x0fORDER_ASCENDING\x10\x02*\x90\x01\n\x0eTagsFilterType\x12 \n\x1cTAGS_FILTER_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1cTAGS_FILTER_TYPE_MATCH_BY_OR\x10\x01\x12\x1b\n\x17TAGS_FILTER_TYPE_TAGGED\x10\x02\x12\x1d\n\x19TAGS_FILTER_TYPE_UNTAGGED\x10\x032\xfc\x13\n\x0bDataService\x12r\n\x13TabularDataByFilter\x12,.viam.app.data.v1.TabularDataByFilterRequest\x1a-.viam.app.data.v1.TabularDataByFilterResponse\x12i\n\x10TabularDataBySQL\x12).viam.app.data.v1.TabularDataBySQLRequest\x1a*.viam.app.data.v1.TabularDataBySQLResponse\x12i\n\x10TabularDataByMQL\x12).viam.app.data.v1.TabularDataByMQLRequest\x1a*.viam.app.data.v1.TabularDataByMQLResponse\x12o\n\x12BinaryDataByFilter\x12+.viam.app.data.v1.BinaryDataByFilterRequest\x1a,.viam.app.data.v1.BinaryDataByFilterResponse\x12f\n\x0fBinaryDataByIDs\x12(.viam.app.data.v1.BinaryDataByIDsRequest\x1a).viam.app.data.v1.BinaryDataByIDsResponse\x12l\n\x11DeleteTabularData\x12*.viam.app.data.v1.DeleteTabularDataRequest\x1a+.viam.app.data.v1.DeleteTabularDataResponse\x12\x81\x01\n\x18DeleteBinaryDataByFilter\x121.viam.app.data.v1.DeleteBinaryDataByFilterRequest\x1a2.viam.app.data.v1.DeleteBinaryDataByFilterResponse\x12x\n\x15DeleteBinaryDataByIDs\x12..viam.app.data.v1.DeleteBinaryDataByIDsRequest\x1a/.viam.app.data.v1.DeleteBinaryDataByIDsResponse\x12\x81\x01\n\x18AddTagsToBinaryDataByIDs\x121.viam.app.data.v1.AddTagsToBinaryDataByIDsRequest\x1a2.viam.app.data.v1.AddTagsToBinaryDataByIDsResponse\x12\x8a\x01\n\x1bAddTagsToBinaryDataByFilter\x124.viam.app.data.v1.AddTagsToBinaryDataByFilterRequest\x1a5.viam.app.data.v1.AddTagsToBinaryDataByFilterResponse\x12\x90\x01\n\x1dRemoveTagsFromBinaryDataByIDs\x126.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsRequest\x1a7.viam.app.data.v1.RemoveTagsFromBinaryDataByIDsResponse\x12\x99\x01\n RemoveTagsFromBinaryDataByFilter\x129.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterRequest\x1a:.viam.app.data.v1.RemoveTagsFromBinaryDataByFilterResponse\x12]\n\x0cTagsByFilter\x12%.viam.app.data.v1.TagsByFilterRequest\x1a&.viam.app.data.v1.TagsByFilterResponse\x12\x84\x01\n\x19AddBoundingBoxToImageByID\x122.viam.app.data.v1.AddBoundingBoxToImageByIDRequest\x1a3.viam.app.data.v1.AddBoundingBoxToImageByIDResponse\x12\x93\x01\n\x1eRemoveBoundingBoxFromImageByID\x127.viam.app.data.v1.RemoveBoundingBoxFromImageByIDRequest\x1a8.viam.app.data.v1.RemoveBoundingBoxFromImageByIDResponse\x12\x84\x01\n\x19BoundingBoxLabelsByFilter\x122.viam.app.data.v1.BoundingBoxLabelsByFilterRequest\x1a3.viam.app.data.v1.BoundingBoxLabelsByFilterResponse\x12x\n\x15GetDatabaseConnection\x12..viam.app.data.v1.GetDatabaseConnectionRequest\x1a/.viam.app.data.v1.GetDatabaseConnectionResponse\x12x\n\x15ConfigureDatabaseUser\x12..viam.app.data.v1.ConfigureDatabaseUserRequest\x1a/.viam.app.data.v1.ConfigureDatabaseUserResponse\x12\x8a\x01\n\x1bAddBinaryDataToDatasetByIDs\x124.viam.app.data.v1.AddBinaryDataToDatasetByIDsRequest\x1a5.viam.app.data.v1.AddBinaryDataToDatasetByIDsResponse\x12\x99\x01\n RemoveBinaryDataFromDatasetByIDs\x129.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsRequest\x1a:.viam.app.data.v1.RemoveBinaryDataFromDatasetByIDsResponseB\x1dZ\x1bgo.viam.com/api/app/data/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.data.v1.data_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.data.v1.data_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1bgo.viam.com/api/app/data/v1' + DESCRIPTOR._serialized_options = b"Z\x1bgo.viam.com/api/app/data/v1" _CAPTUREMETADATA_METHODPARAMETERSENTRY._options = None - _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b'8\x01' + _CAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b"8\x01" _ORDER._serialized_start = 7007 _ORDER._serialized_end = 7080 _TAGSFILTERTYPE._serialized_start = 7083 @@ -124,4 +128,4 @@ _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_start = 6963 _REMOVEBINARYDATAFROMDATASETBYIDSRESPONSE._serialized_end = 7005 _DATASERVICE._serialized_start = 7230 - _DATASERVICE._serialized_end = 9786 \ No newline at end of file + _DATASERVICE._serialized_end = 9786 diff --git a/src/viam/gen/app/data/v1/data_pb2.pyi b/src/viam/gen/app/data/v1/data_pb2.pyi index 569d60eb5..c336cbf15 100644 --- a/src/viam/gen/app/data/v1/data_pb2.pyi +++ b/src/viam/gen/app/data/v1/data_pb2.pyi @@ -4,6 +4,9 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.any_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers @@ -11,8 +14,7 @@ import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -20,10 +22,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _Order: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _OrderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Order.ValueType], builtins.type): +class _OrderEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Order.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor ORDER_UNSPECIFIED: _Order.ValueType ORDER_DESCENDING: _Order.ValueType @@ -31,34 +36,41 @@ class _OrderEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumType class Order(_Order, metaclass=_OrderEnumTypeWrapper): """Order specifies the order in which data is returned.""" + ORDER_UNSPECIFIED: Order.ValueType ORDER_DESCENDING: Order.ValueType ORDER_ASCENDING: Order.ValueType global___Order = Order class _TagsFilterType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _TagsFilterTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TagsFilterType.ValueType], builtins.type): +class _TagsFilterTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _TagsFilterType.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor TAGS_FILTER_TYPE_UNSPECIFIED: _TagsFilterType.ValueType TAGS_FILTER_TYPE_MATCH_BY_OR: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.' + "TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter." TAGS_FILTER_TYPE_TAGGED: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.' + "TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned." TAGS_FILTER_TYPE_UNTAGGED: _TagsFilterType.ValueType - 'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.' + "TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned." class TagsFilterType(_TagsFilterType, metaclass=_TagsFilterTypeEnumTypeWrapper): """TagsFilterType specifies how data can be filtered based on tags.""" + TAGS_FILTER_TYPE_UNSPECIFIED: TagsFilterType.ValueType TAGS_FILTER_TYPE_MATCH_BY_OR: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter.' +"TAGS_FILTER_TYPE_MATCH_BY_OR specifies documents matched (using logical OR) on the tags field in the TagsFilter." TAGS_FILTER_TYPE_TAGGED: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned.' +"TAGS_FILTER_TYPE_TAGGED specifies that all tagged documents should be returned." TAGS_FILTER_TYPE_UNTAGGED: TagsFilterType.ValueType -'TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned.' +"TAGS_FILTER_TYPE_UNTAGGED specifes that all untagged documents should be returned." global___TagsFilterType = TagsFilterType @typing_extensions.final @@ -70,6 +82,7 @@ class DataRequest(google.protobuf.message.Message): We can then use the last string from the previous API calls in the subsequent request to get the next set of ordered documents. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int LIMIT_FIELD_NUMBER: builtins.int @@ -77,20 +90,36 @@ class DataRequest(google.protobuf.message.Message): SORT_ORDER_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... + def filter(self) -> global___Filter: ... limit: builtins.int last: builtins.str sort_order: global___Order.ValueType - def __init__(self, *, filter: global___Filter | None=..., limit: builtins.int=..., last: builtins.str=..., sort_order: global___Order.ValueType=...) -> None: - ... + def __init__( + self, + *, + filter: global___Filter | None = ..., + limit: builtins.int = ..., + last: builtins.str = ..., + sort_order: global___Order.ValueType = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "filter", + b"filter", + "last", + b"last", + "limit", + b"limit", + "sort_order", + b"sort_order", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter', 'last', b'last', 'limit', b'limit', 'sort_order', b'sort_order']) -> None: - ... global___DataRequest = DataRequest @typing_extensions.final @@ -101,6 +130,7 @@ class Filter(google.protobuf.message.Message): box labels, such that if component_type, robot_id, tagA, tagB are specified, we return data from that `robot_id` of type `component_type` with `tagA` or `tagB`. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor COMPONENT_NAME_FIELD_NUMBER: builtins.int COMPONENT_TYPE_FIELD_NUMBER: builtins.int @@ -125,62 +155,125 @@ class Filter(google.protobuf.message.Message): part_id: builtins.str @property - def location_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def location_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def organization_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def organization_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def mime_type(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def mime_type( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def interval(self) -> global___CaptureInterval: - ... - + def interval(self) -> global___CaptureInterval: ... @property - def tags_filter(self) -> global___TagsFilter: - ... - + def tags_filter(self) -> global___TagsFilter: ... @property - def bbox_labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def bbox_labels( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """bbox_labels are used to match documents with the specified bounding box labels (using logical OR).""" dataset_id: builtins.str - def __init__(self, *, component_name: builtins.str=..., component_type: builtins.str=..., method: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., location_ids: collections.abc.Iterable[builtins.str] | None=..., organization_ids: collections.abc.Iterable[builtins.str] | None=..., mime_type: collections.abc.Iterable[builtins.str] | None=..., interval: global___CaptureInterval | None=..., tags_filter: global___TagsFilter | None=..., bbox_labels: collections.abc.Iterable[builtins.str] | None=..., dataset_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + component_name: builtins.str = ..., + component_type: builtins.str = ..., + method: builtins.str = ..., + robot_name: builtins.str = ..., + robot_id: builtins.str = ..., + part_name: builtins.str = ..., + part_id: builtins.str = ..., + location_ids: collections.abc.Iterable[builtins.str] | None = ..., + organization_ids: collections.abc.Iterable[builtins.str] | None = ..., + mime_type: collections.abc.Iterable[builtins.str] | None = ..., + interval: global___CaptureInterval | None = ..., + tags_filter: global___TagsFilter | None = ..., + bbox_labels: collections.abc.Iterable[builtins.str] | None = ..., + dataset_id: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "interval", b"interval", "tags_filter", b"tags_filter" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "bbox_labels", + b"bbox_labels", + "component_name", + b"component_name", + "component_type", + b"component_type", + "dataset_id", + b"dataset_id", + "interval", + b"interval", + "location_ids", + b"location_ids", + "method", + b"method", + "mime_type", + b"mime_type", + "organization_ids", + b"organization_ids", + "part_id", + b"part_id", + "part_name", + b"part_name", + "robot_id", + b"robot_id", + "robot_name", + b"robot_name", + "tags_filter", + b"tags_filter", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['interval', b'interval', 'tags_filter', b'tags_filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['bbox_labels', b'bbox_labels', 'component_name', b'component_name', 'component_type', b'component_type', 'dataset_id', b'dataset_id', 'interval', b'interval', 'location_ids', b'location_ids', 'method', b'method', 'mime_type', b'mime_type', 'organization_ids', b'organization_ids', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags_filter', b'tags_filter']) -> None: - ... global___Filter = Filter @typing_extensions.final class TagsFilter(google.protobuf.message.Message): """TagsFilter defines the type of filtering and, if applicable, over which tags to perform a logical OR.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor TYPE_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int type: global___TagsFilterType.ValueType @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """Tags are used to match documents if `type` is UNSPECIFIED or MATCH_BY_OR.""" - def __init__(self, *, type: global___TagsFilterType.ValueType=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def __init__( + self, + *, + type: global___TagsFilterType.ValueType = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["tags", b"tags", "type", b"type"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['tags', b'tags', 'type', b'type']) -> None: - ... global___TagsFilter = TagsFilter @typing_extensions.final class CaptureMetadata(google.protobuf.message.Message): """CaptureMetadata contains information on the settings used for the data capture.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -191,17 +284,20 @@ class CaptureMetadata(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> google.protobuf.any_pb2.Any: - ... - - def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... ORGANIZATION_ID_FIELD_NUMBER: builtins.int LOCATION_ID_FIELD_NUMBER: builtins.int ROBOT_NAME_FIELD_NUMBER: builtins.int @@ -225,73 +321,139 @@ class CaptureMetadata(google.protobuf.message.Message): method_name: builtins.str @property - def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]: - ... - + def method_parameters( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, google.protobuf.any_pb2.Any + ]: ... @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... mime_type: builtins.str - def __init__(self, *, organization_id: builtins.str=..., location_id: builtins.str=..., robot_name: builtins.str=..., robot_id: builtins.str=..., part_name: builtins.str=..., part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., tags: collections.abc.Iterable[builtins.str] | None=..., mime_type: builtins.str=...) -> None: - ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + location_id: builtins.str = ..., + robot_name: builtins.str = ..., + robot_id: builtins.str = ..., + part_name: builtins.str = ..., + part_id: builtins.str = ..., + component_type: builtins.str = ..., + component_name: builtins.str = ..., + method_name: builtins.str = ..., + method_parameters: collections.abc.Mapping[ + builtins.str, google.protobuf.any_pb2.Any + ] + | None = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + mime_type: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "component_type", + b"component_type", + "location_id", + b"location_id", + "method_name", + b"method_name", + "method_parameters", + b"method_parameters", + "mime_type", + b"mime_type", + "organization_id", + b"organization_id", + "part_id", + b"part_id", + "part_name", + b"part_name", + "robot_id", + b"robot_id", + "robot_name", + b"robot_name", + "tags", + b"tags", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'component_type', b'component_type', 'location_id', b'location_id', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'mime_type', b'mime_type', 'organization_id', b'organization_id', 'part_id', b'part_id', 'part_name', b'part_name', 'robot_id', b'robot_id', 'robot_name', b'robot_name', 'tags', b'tags']) -> None: - ... global___CaptureMetadata = CaptureMetadata @typing_extensions.final class CaptureInterval(google.protobuf.message.Message): """CaptureInterval describes the start and end time of the capture in this file.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor START_FIELD_NUMBER: builtins.int END_FIELD_NUMBER: builtins.int @property - def start(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def start(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def end(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def end(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + start: google.protobuf.timestamp_pb2.Timestamp | None = ..., + end: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"] + ) -> None: ... - def __init__(self, *, start: google.protobuf.timestamp_pb2.Timestamp | None=..., end: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> None: - ... global___CaptureInterval = CaptureInterval @typing_extensions.final class TabularDataByFilterRequest(google.protobuf.message.Message): """TabularDataByFilterRequest requests tabular data based on filter values.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_REQUEST_FIELD_NUMBER: builtins.int COUNT_ONLY_FIELD_NUMBER: builtins.int INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int @property - def data_request(self) -> global___DataRequest: - ... + def data_request(self) -> global___DataRequest: ... count_only: builtins.bool include_internal_data: builtins.bool - def __init__(self, *, data_request: global___DataRequest | None=..., count_only: builtins.bool=..., include_internal_data: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + data_request: global___DataRequest | None = ..., + count_only: builtins.bool = ..., + include_internal_data: builtins.bool = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["data_request", b"data_request"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "count_only", + b"count_only", + "data_request", + b"data_request", + "include_internal_data", + b"include_internal_data", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['data_request', b'data_request']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['count_only', b'count_only', 'data_request', b'data_request', 'include_internal_data', b'include_internal_data']) -> None: - ... global___TabularDataByFilterRequest = TabularDataByFilterRequest @typing_extensions.final class TabularDataByFilterResponse(google.protobuf.message.Message): """TabularDataByFilterResponse provides the data and metadata of tabular data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int DATA_FIELD_NUMBER: builtins.int @@ -300,26 +462,52 @@ class TabularDataByFilterResponse(google.protobuf.message.Message): TOTAL_SIZE_BYTES_FIELD_NUMBER: builtins.int @property - def metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CaptureMetadata]: - ... - + def metadata( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___CaptureMetadata + ]: ... @property - def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TabularData]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___TabularData + ]: ... count: builtins.int last: builtins.str total_size_bytes: builtins.int - def __init__(self, *, metadata: collections.abc.Iterable[global___CaptureMetadata] | None=..., data: collections.abc.Iterable[global___TabularData] | None=..., count: builtins.int=..., last: builtins.str=..., total_size_bytes: builtins.int=...) -> None: - ... + def __init__( + self, + *, + metadata: collections.abc.Iterable[global___CaptureMetadata] | None = ..., + data: collections.abc.Iterable[global___TabularData] | None = ..., + count: builtins.int = ..., + last: builtins.str = ..., + total_size_bytes: builtins.int = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "count", + b"count", + "data", + b"data", + "last", + b"last", + "metadata", + b"metadata", + "total_size_bytes", + b"total_size_bytes", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['count', b'count', 'data', b'data', 'last', b'last', 'metadata', b'metadata', 'total_size_bytes', b'total_size_bytes']) -> None: - ... global___TabularDataByFilterResponse = TabularDataByFilterResponse @typing_extensions.final class TabularData(google.protobuf.message.Message): """TabularData contains data and metadata associated with tabular data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int METADATA_INDEX_FIELD_NUMBER: builtins.int @@ -327,31 +515,52 @@ class TabularData(google.protobuf.message.Message): TIME_RECEIVED_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.struct_pb2.Struct: - ... + def data(self) -> google.protobuf.struct_pb2.Struct: ... metadata_index: builtins.int @property - def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, data: google.protobuf.struct_pb2.Struct | None=..., metadata_index: builtins.int=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['data', b'data', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool: - ... + def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + data: google.protobuf.struct_pb2.Struct | None = ..., + metadata_index: builtins.int = ..., + time_requested: google.protobuf.timestamp_pb2.Timestamp | None = ..., + time_received: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "data", + b"data", + "time_received", + b"time_received", + "time_requested", + b"time_requested", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "data", + b"data", + "metadata_index", + b"metadata_index", + "time_received", + b"time_received", + "time_requested", + b"time_requested", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data', 'metadata_index', b'metadata_index', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> None: - ... global___TabularData = TabularData @typing_extensions.final class TabularDataBySQLRequest(google.protobuf.message.Message): """TabularDataBySQLRequest requests tabular data using a SQL query.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int SQL_QUERY_FIELD_NUMBER: builtins.int @@ -359,94 +568,134 @@ class TabularDataBySQLRequest(google.protobuf.message.Message): sql_query: builtins.str 'sql_query accepts any valid SQL SELECT statement. Tabular data is held in a database\n called "sensorData" and a table called readings, so queries should select from "readings"\n or "sensorData.readings".\n ' - def __init__(self, *, organization_id: builtins.str=..., sql_query: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., sql_query: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "sql_query", b"sql_query" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'sql_query', b'sql_query']) -> None: - ... global___TabularDataBySQLRequest = TabularDataBySQLRequest @typing_extensions.final class TabularDataBySQLResponse(google.protobuf.message.Message): """TabularDataBySQLResponse provides unified tabular data and metadata, queried with SQL.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + google.protobuf.struct_pb2.Struct + ]: ... + def __init__( + self, + *, + data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def __init__(self, *, data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___TabularDataBySQLResponse = TabularDataBySQLResponse @typing_extensions.final class TabularDataByMQLRequest(google.protobuf.message.Message): """TabularDataByMQLRequest requests tabular data using an MQL query.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int MQL_BINARY_FIELD_NUMBER: builtins.int organization_id: builtins.str @property - def mql_binary(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.bytes]: + def mql_binary( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.bytes + ]: """mql_binary accepts a MongoDB aggregation pipeline as a list of BSON documents, where each document is one stage in the pipeline. The pipeline is run on the "sensorData.readings" namespace, which holds the Viam organization's tabular data. """ - def __init__(self, *, organization_id: builtins.str=..., mql_binary: collections.abc.Iterable[builtins.bytes] | None=...) -> None: - ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + mql_binary: collections.abc.Iterable[builtins.bytes] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "mql_binary", b"mql_binary", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['mql_binary', b'mql_binary', 'organization_id', b'organization_id']) -> None: - ... global___TabularDataByMQLRequest = TabularDataByMQLRequest @typing_extensions.final class TabularDataByMQLResponse(google.protobuf.message.Message): """TabularDataByMQLResponse provides unified tabular data and metadata, queried with MQL.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]: - ... - - def __init__(self, *, data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + google.protobuf.struct_pb2.Struct + ]: ... + def __init__( + self, + *, + data: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___TabularDataByMQLResponse = TabularDataByMQLResponse @typing_extensions.final class BinaryData(google.protobuf.message.Message): """BinaryData contains data and metadata associated with binary data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_FIELD_NUMBER: builtins.int METADATA_FIELD_NUMBER: builtins.int binary: builtins.bytes @property - def metadata(self) -> global___BinaryMetadata: - ... + def metadata(self) -> global___BinaryMetadata: ... + def __init__( + self, + *, + binary: builtins.bytes = ..., + metadata: global___BinaryMetadata | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary", b"binary", "metadata", b"metadata" + ], + ) -> None: ... - def __init__(self, *, binary: builtins.bytes=..., metadata: global___BinaryMetadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'metadata', b'metadata']) -> None: - ... global___BinaryData = BinaryData @typing_extensions.final class BinaryDataByFilterRequest(google.protobuf.message.Message): """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_REQUEST_FIELD_NUMBER: builtins.int INCLUDE_BINARY_FIELD_NUMBER: builtins.int @@ -454,25 +703,42 @@ class BinaryDataByFilterRequest(google.protobuf.message.Message): INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int @property - def data_request(self) -> global___DataRequest: - ... + def data_request(self) -> global___DataRequest: ... include_binary: builtins.bool count_only: builtins.bool include_internal_data: builtins.bool - def __init__(self, *, data_request: global___DataRequest | None=..., include_binary: builtins.bool=..., count_only: builtins.bool=..., include_internal_data: builtins.bool=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['data_request', b'data_request']) -> builtins.bool: - ... + def __init__( + self, + *, + data_request: global___DataRequest | None = ..., + include_binary: builtins.bool = ..., + count_only: builtins.bool = ..., + include_internal_data: builtins.bool = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["data_request", b"data_request"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "count_only", + b"count_only", + "data_request", + b"data_request", + "include_binary", + b"include_binary", + "include_internal_data", + b"include_internal_data", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['count_only', b'count_only', 'data_request', b'data_request', 'include_binary', b'include_binary', 'include_internal_data', b'include_internal_data']) -> None: - ... global___BinaryDataByFilterRequest = BinaryDataByFilterRequest @typing_extensions.final class BinaryDataByFilterResponse(google.protobuf.message.Message): """BinaryDataByFilterResponse provides the data and metadata of binary (image + file) data when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int COUNT_FIELD_NUMBER: builtins.int @@ -480,22 +746,43 @@ class BinaryDataByFilterResponse(google.protobuf.message.Message): TOTAL_SIZE_BYTES_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryData + ]: ... count: builtins.int last: builtins.str total_size_bytes: builtins.int - def __init__(self, *, data: collections.abc.Iterable[global___BinaryData] | None=..., count: builtins.int=..., last: builtins.str=..., total_size_bytes: builtins.int=...) -> None: - ... + def __init__( + self, + *, + data: collections.abc.Iterable[global___BinaryData] | None = ..., + count: builtins.int = ..., + last: builtins.str = ..., + total_size_bytes: builtins.int = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "count", + b"count", + "data", + b"data", + "last", + b"last", + "total_size_bytes", + b"total_size_bytes", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['count', b'count', 'data', b'data', 'last', b'last', 'total_size_bytes', b'total_size_bytes']) -> None: - ... global___BinaryDataByFilterResponse = BinaryDataByFilterResponse @typing_extensions.final class BinaryID(google.protobuf.message.Message): """BinaryID is the unique identifier for a file that one can request to be retrieved or modified.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int @@ -504,49 +791,83 @@ class BinaryID(google.protobuf.message.Message): organization_id: builtins.str location_id: builtins.str - def __init__(self, *, file_id: builtins.str=..., organization_id: builtins.str=..., location_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + file_id: builtins.str = ..., + organization_id: builtins.str = ..., + location_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "file_id", + b"file_id", + "location_id", + b"location_id", + "organization_id", + b"organization_id", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['file_id', b'file_id', 'location_id', b'location_id', 'organization_id', b'organization_id']) -> None: - ... global___BinaryID = BinaryID @typing_extensions.final class BinaryDataByIDsRequest(google.protobuf.message.Message): """BinaryDataByFilterRequest requests the data and metadata of binary (image + file) data by binary ids.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor INCLUDE_BINARY_FIELD_NUMBER: builtins.int BINARY_IDS_FIELD_NUMBER: builtins.int include_binary: builtins.bool @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... + def __init__( + self, + *, + include_binary: builtins.bool = ..., + binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_ids", b"binary_ids", "include_binary", b"include_binary" + ], + ) -> None: ... - def __init__(self, *, include_binary: builtins.bool=..., binary_ids: collections.abc.Iterable[global___BinaryID] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'include_binary', b'include_binary']) -> None: - ... global___BinaryDataByIDsRequest = BinaryDataByIDsRequest @typing_extensions.final class BinaryDataByIDsResponse(google.protobuf.message.Message): """BinaryDataByIDsResponse provides the data and metadata of binary (image + file) data when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int COUNT_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryData]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryData + ]: ... count: builtins.int - def __init__(self, *, data: collections.abc.Iterable[global___BinaryData] | None=..., count: builtins.int=...) -> None: - ... + def __init__( + self, + *, + data: collections.abc.Iterable[global___BinaryData] | None = ..., + count: builtins.int = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["count", b"count", "data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['count', b'count', 'data', b'data']) -> None: - ... global___BinaryDataByIDsResponse = BinaryDataByIDsResponse @typing_extensions.final @@ -554,6 +875,7 @@ class BoundingBox(google.protobuf.message.Message): """BoundingBox represents a labeled bounding box on an image. x and y values are normalized ratios between 0 and 1. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int LABEL_FIELD_NUMBER: builtins.int @@ -568,33 +890,62 @@ class BoundingBox(google.protobuf.message.Message): x_max_normalized: builtins.float y_max_normalized: builtins.float - def __init__(self, *, id: builtins.str=..., label: builtins.str=..., x_min_normalized: builtins.float=..., y_min_normalized: builtins.float=..., x_max_normalized: builtins.float=..., y_max_normalized: builtins.float=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + label: builtins.str = ..., + x_min_normalized: builtins.float = ..., + y_min_normalized: builtins.float = ..., + x_max_normalized: builtins.float = ..., + y_max_normalized: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "label", + b"label", + "x_max_normalized", + b"x_max_normalized", + "x_min_normalized", + b"x_min_normalized", + "y_max_normalized", + b"y_max_normalized", + "y_min_normalized", + b"y_min_normalized", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> None: - ... global___BoundingBox = BoundingBox @typing_extensions.final class Annotations(google.protobuf.message.Message): """Annotations are data annotations used for machine learning.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BBOXES_FIELD_NUMBER: builtins.int @property - def bboxes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BoundingBox]: - ... + def bboxes( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BoundingBox + ]: ... + def __init__( + self, *, bboxes: collections.abc.Iterable[global___BoundingBox] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["bboxes", b"bboxes"] + ) -> None: ... - def __init__(self, *, bboxes: collections.abc.Iterable[global___BoundingBox] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['bboxes', b'bboxes']) -> None: - ... global___Annotations = Annotations @typing_extensions.final class BinaryMetadata(google.protobuf.message.Message): """BinaryMetadata is the metadata associated with binary data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int CAPTURE_METADATA_FIELD_NUMBER: builtins.int @@ -608,36 +959,73 @@ class BinaryMetadata(google.protobuf.message.Message): id: builtins.str @property - def capture_metadata(self) -> global___CaptureMetadata: - ... - + def capture_metadata(self) -> global___CaptureMetadata: ... @property - def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: ... file_name: builtins.str file_ext: builtins.str uri: builtins.str @property - def annotations(self) -> global___Annotations: - ... - + def annotations(self) -> global___Annotations: ... @property - def dataset_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, id: builtins.str=..., capture_metadata: global___CaptureMetadata | None=..., time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=..., file_name: builtins.str=..., file_ext: builtins.str=..., uri: builtins.str=..., annotations: global___Annotations | None=..., dataset_ids: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool: - ... + def dataset_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + id: builtins.str = ..., + capture_metadata: global___CaptureMetadata | None = ..., + time_requested: google.protobuf.timestamp_pb2.Timestamp | None = ..., + time_received: google.protobuf.timestamp_pb2.Timestamp | None = ..., + file_name: builtins.str = ..., + file_ext: builtins.str = ..., + uri: builtins.str = ..., + annotations: global___Annotations | None = ..., + dataset_ids: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "annotations", + b"annotations", + "capture_metadata", + b"capture_metadata", + "time_received", + b"time_received", + "time_requested", + b"time_requested", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "annotations", + b"annotations", + "capture_metadata", + b"capture_metadata", + "dataset_ids", + b"dataset_ids", + "file_ext", + b"file_ext", + "file_name", + b"file_name", + "id", + b"id", + "time_received", + b"time_received", + "time_requested", + b"time_requested", + "uri", + b"uri", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['annotations', b'annotations', 'capture_metadata', b'capture_metadata', 'dataset_ids', b'dataset_ids', 'file_ext', b'file_ext', 'file_name', b'file_name', 'id', b'id', 'time_received', b'time_received', 'time_requested', b'time_requested', 'uri', b'uri']) -> None: - ... global___BinaryMetadata = BinaryMetadata @typing_extensions.final @@ -646,273 +1034,351 @@ class DeleteTabularDataRequest(google.protobuf.message.Message): For example if `delete_older_than_days` is 10, this deletes any data that was captured up to 10 days ago. If it is 0, all existing data is deleted. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int DELETE_OLDER_THAN_DAYS_FIELD_NUMBER: builtins.int organization_id: builtins.str delete_older_than_days: builtins.int - def __init__(self, *, organization_id: builtins.str=..., delete_older_than_days: builtins.int=...) -> None: - ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + delete_older_than_days: builtins.int = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "delete_older_than_days", + b"delete_older_than_days", + "organization_id", + b"organization_id", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['delete_older_than_days', b'delete_older_than_days', 'organization_id', b'organization_id']) -> None: - ... global___DeleteTabularDataRequest = DeleteTabularDataRequest @typing_extensions.final class DeleteTabularDataResponse(google.protobuf.message.Message): """DeleteBinaryDataResponse returns the number of tabular datapoints deleted.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int - def __init__(self, *, deleted_count: builtins.int=...) -> None: - ... + def __init__(self, *, deleted_count: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["deleted_count", b"deleted_count"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: - ... global___DeleteTabularDataResponse = DeleteTabularDataResponse @typing_extensions.final class DeleteBinaryDataByFilterRequest(google.protobuf.message.Message): """DeleteBinaryDataByFilterRequest deletes the data and metadata of binary data when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int INCLUDE_INTERNAL_DATA_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... + def filter(self) -> global___Filter: ... include_internal_data: builtins.bool - def __init__(self, *, filter: global___Filter | None=..., include_internal_data: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + filter: global___Filter | None = ..., + include_internal_data: builtins.bool = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "filter", b"filter", "include_internal_data", b"include_internal_data" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter', 'include_internal_data', b'include_internal_data']) -> None: - ... global___DeleteBinaryDataByFilterRequest = DeleteBinaryDataByFilterRequest @typing_extensions.final class DeleteBinaryDataByFilterResponse(google.protobuf.message.Message): """DeleteBinaryDataByFilterResponse returns the number of binary files deleted when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int - def __init__(self, *, deleted_count: builtins.int=...) -> None: - ... + def __init__(self, *, deleted_count: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["deleted_count", b"deleted_count"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: - ... global___DeleteBinaryDataByFilterResponse = DeleteBinaryDataByFilterResponse @typing_extensions.final class DeleteBinaryDataByIDsRequest(google.protobuf.message.Message): """DeleteBinaryDataByIDsRequest deletes the data and metadata of binary data when binary ids are provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... - - def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=...) -> None: - ... + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... + def __init__( + self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["binary_ids", b"binary_ids"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids']) -> None: - ... global___DeleteBinaryDataByIDsRequest = DeleteBinaryDataByIDsRequest @typing_extensions.final class DeleteBinaryDataByIDsResponse(google.protobuf.message.Message): """DeleteBinaryDataByIDsResponse returns the number of binary files deleted when binary ids are provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int - def __init__(self, *, deleted_count: builtins.int=...) -> None: - ... + def __init__(self, *, deleted_count: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["deleted_count", b"deleted_count"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: - ... global___DeleteBinaryDataByIDsResponse = DeleteBinaryDataByIDsResponse @typing_extensions.final class AddTagsToBinaryDataByIDsRequest(google.protobuf.message.Message): """AddTagsToBinaryDataByIDsRequest requests adding all specified tags to each of the files when binary ids are provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... - + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_ids", b"binary_ids", "tags", b"tags" + ], + ) -> None: ... - def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'tags', b'tags']) -> None: - ... global___AddTagsToBinaryDataByIDsRequest = AddTagsToBinaryDataByIDsRequest @typing_extensions.final class AddTagsToBinaryDataByIDsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddTagsToBinaryDataByIDsResponse = AddTagsToBinaryDataByIDsResponse @typing_extensions.final class AddTagsToBinaryDataByFilterRequest(google.protobuf.message.Message): """AddTagsToBinaryDataByFilterRequest requests adding all specified tags to each of the files when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... - + def filter(self) -> global___Filter: ... @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + filter: global___Filter | None = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["filter", b"filter", "tags", b"tags"], + ) -> None: ... - def __init__(self, *, filter: global___Filter | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter', 'tags', b'tags']) -> None: - ... global___AddTagsToBinaryDataByFilterRequest = AddTagsToBinaryDataByFilterRequest @typing_extensions.final class AddTagsToBinaryDataByFilterResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddTagsToBinaryDataByFilterResponse = AddTagsToBinaryDataByFilterResponse @typing_extensions.final class RemoveTagsFromBinaryDataByIDsRequest(google.protobuf.message.Message): """RemoveTagsFromBinaryDataByIDsRequest requests removing the given tags value from each file when binary ids are provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... - + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_ids", b"binary_ids", "tags", b"tags" + ], + ) -> None: ... - def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'tags', b'tags']) -> None: - ... global___RemoveTagsFromBinaryDataByIDsRequest = RemoveTagsFromBinaryDataByIDsRequest @typing_extensions.final class RemoveTagsFromBinaryDataByIDsResponse(google.protobuf.message.Message): """RemoveTagsFromBinaryDataByIDsResponse returns the number of binary files which had tags removed""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int - def __init__(self, *, deleted_count: builtins.int=...) -> None: - ... + def __init__(self, *, deleted_count: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["deleted_count", b"deleted_count"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: - ... global___RemoveTagsFromBinaryDataByIDsResponse = RemoveTagsFromBinaryDataByIDsResponse @typing_extensions.final class RemoveTagsFromBinaryDataByFilterRequest(google.protobuf.message.Message): """RemoveTagsFromBinaryDataByFilterRequest requests removing the given tags value from each file when a filter is provided.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int TAGS_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... - + def filter(self) -> global___Filter: ... @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, filter: global___Filter | None=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter', 'tags', b'tags']) -> None: - ... -global___RemoveTagsFromBinaryDataByFilterRequest = RemoveTagsFromBinaryDataByFilterRequest + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + filter: global___Filter | None = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["filter", b"filter", "tags", b"tags"], + ) -> None: ... + +global___RemoveTagsFromBinaryDataByFilterRequest = ( + RemoveTagsFromBinaryDataByFilterRequest +) @typing_extensions.final class RemoveTagsFromBinaryDataByFilterResponse(google.protobuf.message.Message): """RemoveTagsFromBinaryDataByFilterResponse returns the number of binary files which had tags removed.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DELETED_COUNT_FIELD_NUMBER: builtins.int deleted_count: builtins.int - def __init__(self, *, deleted_count: builtins.int=...) -> None: - ... + def __init__(self, *, deleted_count: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["deleted_count", b"deleted_count"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['deleted_count', b'deleted_count']) -> None: - ... -global___RemoveTagsFromBinaryDataByFilterResponse = RemoveTagsFromBinaryDataByFilterResponse +global___RemoveTagsFromBinaryDataByFilterResponse = ( + RemoveTagsFromBinaryDataByFilterResponse +) @typing_extensions.final class TagsByFilterRequest(google.protobuf.message.Message): """TagsByFilterRequest requests the unique tags from data based on given filter.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... + def filter(self) -> global___Filter: ... + def __init__(self, *, filter: global___Filter | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> None: ... - def __init__(self, *, filter: global___Filter | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> None: - ... global___TagsByFilterRequest = TagsByFilterRequest @typing_extensions.final class TagsByFilterResponse(google.protobuf.message.Message): """TagsByFilterResponse returns the unique tags from data based on given filter.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor TAGS_FIELD_NUMBER: builtins.int @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, tags: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["tags", b"tags"] + ) -> None: ... - def __init__(self, *, tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['tags', b'tags']) -> None: - ... global___TagsByFilterResponse = TagsByFilterResponse @typing_extensions.final @@ -920,6 +1386,7 @@ class AddBoundingBoxToImageByIDRequest(google.protobuf.message.Message): """AddBoundingBoxToImageByIDRequest specifies the binary ID to which a bounding box with the associated label and position in normalized coordinates will be added. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_ID_FIELD_NUMBER: builtins.int LABEL_FIELD_NUMBER: builtins.int @@ -929,103 +1396,135 @@ class AddBoundingBoxToImageByIDRequest(google.protobuf.message.Message): Y_MAX_NORMALIZED_FIELD_NUMBER: builtins.int @property - def binary_id(self) -> global___BinaryID: - ... + def binary_id(self) -> global___BinaryID: ... label: builtins.str x_min_normalized: builtins.float y_min_normalized: builtins.float x_max_normalized: builtins.float y_max_normalized: builtins.float - def __init__(self, *, binary_id: global___BinaryID | None=..., label: builtins.str=..., x_min_normalized: builtins.float=..., y_min_normalized: builtins.float=..., x_max_normalized: builtins.float=..., y_max_normalized: builtins.float=...) -> None: - ... + def __init__( + self, + *, + binary_id: global___BinaryID | None = ..., + label: builtins.str = ..., + x_min_normalized: builtins.float = ..., + y_min_normalized: builtins.float = ..., + x_max_normalized: builtins.float = ..., + y_max_normalized: builtins.float = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["binary_id", b"binary_id"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_id", + b"binary_id", + "label", + b"label", + "x_max_normalized", + b"x_max_normalized", + "x_min_normalized", + b"x_min_normalized", + "y_max_normalized", + b"y_max_normalized", + "y_min_normalized", + b"y_min_normalized", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['binary_id', b'binary_id']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary_id', b'binary_id', 'label', b'label', 'x_max_normalized', b'x_max_normalized', 'x_min_normalized', b'x_min_normalized', 'y_max_normalized', b'y_max_normalized', 'y_min_normalized', b'y_min_normalized']) -> None: - ... global___AddBoundingBoxToImageByIDRequest = AddBoundingBoxToImageByIDRequest @typing_extensions.final class AddBoundingBoxToImageByIDResponse(google.protobuf.message.Message): """AddBoundingBoxToImageByIDResponse returns the bounding box ID of the successfully added bounding box.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BBOX_ID_FIELD_NUMBER: builtins.int bbox_id: builtins.str - def __init__(self, *, bbox_id: builtins.str=...) -> None: - ... + def __init__(self, *, bbox_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["bbox_id", b"bbox_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['bbox_id', b'bbox_id']) -> None: - ... global___AddBoundingBoxToImageByIDResponse = AddBoundingBoxToImageByIDResponse @typing_extensions.final class RemoveBoundingBoxFromImageByIDRequest(google.protobuf.message.Message): """RemoveBoundingBoxFromImageByIDRequest removes the bounding box with specified bbox ID for the file represented by the binary id.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_ID_FIELD_NUMBER: builtins.int BBOX_ID_FIELD_NUMBER: builtins.int @property - def binary_id(self) -> global___BinaryID: - ... + def binary_id(self) -> global___BinaryID: ... bbox_id: builtins.str - def __init__(self, *, binary_id: global___BinaryID | None=..., bbox_id: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['binary_id', b'binary_id']) -> builtins.bool: - ... + def __init__( + self, *, binary_id: global___BinaryID | None = ..., bbox_id: builtins.str = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["binary_id", b"binary_id"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "bbox_id", b"bbox_id", "binary_id", b"binary_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['bbox_id', b'bbox_id', 'binary_id', b'binary_id']) -> None: - ... global___RemoveBoundingBoxFromImageByIDRequest = RemoveBoundingBoxFromImageByIDRequest @typing_extensions.final class RemoveBoundingBoxFromImageByIDResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___RemoveBoundingBoxFromImageByIDResponse = RemoveBoundingBoxFromImageByIDResponse @typing_extensions.final class BoundingBoxLabelsByFilterRequest(google.protobuf.message.Message): """BoundingBoxLabelsByFilterRequest requests all the labels of the bounding boxes from files from a given filter.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILTER_FIELD_NUMBER: builtins.int @property - def filter(self) -> global___Filter: - ... - - def __init__(self, *, filter: global___Filter | None=...) -> None: - ... + def filter(self) -> global___Filter: ... + def __init__(self, *, filter: global___Filter | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["filter", b"filter"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['filter', b'filter']) -> None: - ... global___BoundingBoxLabelsByFilterRequest = BoundingBoxLabelsByFilterRequest @typing_extensions.final class BoundingBoxLabelsByFilterResponse(google.protobuf.message.Message): """BoundingBoxLabelsByFilterRequest returns all the labels of the bounding boxes from files from a given filter.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor LABELS_FIELD_NUMBER: builtins.int @property - def labels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def labels( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, labels: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["labels", b"labels"] + ) -> None: ... - def __init__(self, *, labels: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['labels', b'labels']) -> None: - ... global___BoundingBoxLabelsByFilterResponse = BoundingBoxLabelsByFilterResponse @typing_extensions.final @@ -1034,39 +1533,47 @@ class ConfigureDatabaseUserRequest(google.protobuf.message.Message): being configured. Viam uses gRPC over TLS, so the entire request will be encrypted while in flight, including the password. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int PASSWORD_FIELD_NUMBER: builtins.int organization_id: builtins.str password: builtins.str - def __init__(self, *, organization_id: builtins.str=..., password: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., password: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "password", b"password" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'password', b'password']) -> None: - ... global___ConfigureDatabaseUserRequest = ConfigureDatabaseUserRequest @typing_extensions.final class ConfigureDatabaseUserResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ConfigureDatabaseUserResponse = ConfigureDatabaseUserResponse @typing_extensions.final class GetDatabaseConnectionRequest(google.protobuf.message.Message): """GetDatabaseConnectionRequest requests the database connection hostname.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___GetDatabaseConnectionRequest = GetDatabaseConnectionRequest @typing_extensions.final @@ -1075,6 +1582,7 @@ class GetDatabaseConnectionResponse(google.protobuf.message.Message): a URI that can be used to connect to the database instance through MongoDB clients, as well as information on whether the Viam organization has a database user configured. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor HOSTNAME_FIELD_NUMBER: builtins.int MONGODB_URI_FIELD_NUMBER: builtins.int @@ -1083,63 +1591,105 @@ class GetDatabaseConnectionResponse(google.protobuf.message.Message): mongodb_uri: builtins.str has_database_user: builtins.bool - def __init__(self, *, hostname: builtins.str=..., mongodb_uri: builtins.str=..., has_database_user: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + hostname: builtins.str = ..., + mongodb_uri: builtins.str = ..., + has_database_user: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "has_database_user", + b"has_database_user", + "hostname", + b"hostname", + "mongodb_uri", + b"mongodb_uri", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['has_database_user', b'has_database_user', 'hostname', b'hostname', 'mongodb_uri', b'mongodb_uri']) -> None: - ... global___GetDatabaseConnectionResponse = GetDatabaseConnectionResponse @typing_extensions.final class AddBinaryDataToDatasetByIDsRequest(google.protobuf.message.Message): """AddBinaryDataToDatasetByIDsRequest adds the binary data with the given binary IDs to a dataset with dataset_id.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int DATASET_ID_FIELD_NUMBER: builtins.int @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... dataset_id: builtins.str - def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., dataset_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., + dataset_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_ids", b"binary_ids", "dataset_id", b"dataset_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None: - ... global___AddBinaryDataToDatasetByIDsRequest = AddBinaryDataToDatasetByIDsRequest @typing_extensions.final class AddBinaryDataToDatasetByIDsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddBinaryDataToDatasetByIDsResponse = AddBinaryDataToDatasetByIDsResponse @typing_extensions.final class RemoveBinaryDataFromDatasetByIDsRequest(google.protobuf.message.Message): """RemoveBinaryDataFromDatasetByIDsRequest removes the specified binary IDs from a dataset with dataset_id.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BINARY_IDS_FIELD_NUMBER: builtins.int DATASET_ID_FIELD_NUMBER: builtins.int @property - def binary_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BinaryID]: - ... + def binary_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BinaryID + ]: ... dataset_id: builtins.str - def __init__(self, *, binary_ids: collections.abc.Iterable[global___BinaryID] | None=..., dataset_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['binary_ids', b'binary_ids', 'dataset_id', b'dataset_id']) -> None: - ... -global___RemoveBinaryDataFromDatasetByIDsRequest = RemoveBinaryDataFromDatasetByIDsRequest + def __init__( + self, + *, + binary_ids: collections.abc.Iterable[global___BinaryID] | None = ..., + dataset_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary_ids", b"binary_ids", "dataset_id", b"dataset_id" + ], + ) -> None: ... + +global___RemoveBinaryDataFromDatasetByIDsRequest = ( + RemoveBinaryDataFromDatasetByIDsRequest +) @typing_extensions.final class RemoveBinaryDataFromDatasetByIDsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___RemoveBinaryDataFromDatasetByIDsResponse = RemoveBinaryDataFromDatasetByIDsResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___RemoveBinaryDataFromDatasetByIDsResponse = ( + RemoveBinaryDataFromDatasetByIDsResponse +) diff --git a/src/viam/gen/app/dataset/v1/dataset_grpc.py b/src/viam/gen/app/dataset/v1/dataset_grpc.py index 36c5e2341..c6a8d6c75 100644 --- a/src/viam/gen/app/dataset/v1/dataset_grpc.py +++ b/src/viam/gen/app/dataset/v1/dataset_grpc.py @@ -1,42 +1,116 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.timestamp_pb2 + from .... import app -class DatasetServiceBase(abc.ABC): +class DatasetServiceBase(abc.ABC): @abc.abstractmethod - async def CreateDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse]') -> None: + async def CreateDataset( + self, + stream: "grpclib.server.Stream[app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse]') -> None: + async def DeleteDataset( + self, + stream: "grpclib.server.Stream[app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse]", + ) -> None: pass @abc.abstractmethod - async def RenameDataset(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse]') -> None: + async def RenameDataset( + self, + stream: "grpclib.server.Stream[app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse]", + ) -> None: pass @abc.abstractmethod - async def ListDatasetsByOrganizationID(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse]') -> None: + async def ListDatasetsByOrganizationID( + self, + stream: "grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse]", + ) -> None: pass @abc.abstractmethod - async def ListDatasetsByIDs(self, stream: 'grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse]') -> None: + async def ListDatasetsByIDs( + self, + stream: "grpclib.server.Stream[app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.dataset.v1.DatasetService/CreateDataset': grpclib.const.Handler(self.CreateDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse), '/viam.app.dataset.v1.DatasetService/DeleteDataset': grpclib.const.Handler(self.DeleteDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse), '/viam.app.dataset.v1.DatasetService/RenameDataset': grpclib.const.Handler(self.RenameDataset, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse), '/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID': grpclib.const.Handler(self.ListDatasetsByOrganizationID, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse), '/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs': grpclib.const.Handler(self.ListDatasetsByIDs, grpclib.const.Cardinality.UNARY_UNARY, app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse)} + return { + "/viam.app.dataset.v1.DatasetService/CreateDataset": grpclib.const.Handler( + self.CreateDataset, + grpclib.const.Cardinality.UNARY_UNARY, + app.dataset.v1.dataset_pb2.CreateDatasetRequest, + app.dataset.v1.dataset_pb2.CreateDatasetResponse, + ), + "/viam.app.dataset.v1.DatasetService/DeleteDataset": grpclib.const.Handler( + self.DeleteDataset, + grpclib.const.Cardinality.UNARY_UNARY, + app.dataset.v1.dataset_pb2.DeleteDatasetRequest, + app.dataset.v1.dataset_pb2.DeleteDatasetResponse, + ), + "/viam.app.dataset.v1.DatasetService/RenameDataset": grpclib.const.Handler( + self.RenameDataset, + grpclib.const.Cardinality.UNARY_UNARY, + app.dataset.v1.dataset_pb2.RenameDatasetRequest, + app.dataset.v1.dataset_pb2.RenameDatasetResponse, + ), + "/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID": grpclib.const.Handler( + self.ListDatasetsByOrganizationID, + grpclib.const.Cardinality.UNARY_UNARY, + app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, + app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse, + ), + "/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs": grpclib.const.Handler( + self.ListDatasetsByIDs, + grpclib.const.Cardinality.UNARY_UNARY, + app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, + app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse, + ), + } -class DatasetServiceStub: +class DatasetServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.CreateDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/CreateDataset', app.dataset.v1.dataset_pb2.CreateDatasetRequest, app.dataset.v1.dataset_pb2.CreateDatasetResponse) - self.DeleteDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/DeleteDataset', app.dataset.v1.dataset_pb2.DeleteDatasetRequest, app.dataset.v1.dataset_pb2.DeleteDatasetResponse) - self.RenameDataset = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/RenameDataset', app.dataset.v1.dataset_pb2.RenameDatasetRequest, app.dataset.v1.dataset_pb2.RenameDatasetResponse) - self.ListDatasetsByOrganizationID = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID', app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse) - self.ListDatasetsByIDs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs', app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse) \ No newline at end of file + self.CreateDataset = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.dataset.v1.DatasetService/CreateDataset", + app.dataset.v1.dataset_pb2.CreateDatasetRequest, + app.dataset.v1.dataset_pb2.CreateDatasetResponse, + ) + self.DeleteDataset = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.dataset.v1.DatasetService/DeleteDataset", + app.dataset.v1.dataset_pb2.DeleteDatasetRequest, + app.dataset.v1.dataset_pb2.DeleteDatasetResponse, + ) + self.RenameDataset = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.dataset.v1.DatasetService/RenameDataset", + app.dataset.v1.dataset_pb2.RenameDatasetRequest, + app.dataset.v1.dataset_pb2.RenameDatasetResponse, + ) + self.ListDatasetsByOrganizationID = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.dataset.v1.DatasetService/ListDatasetsByOrganizationID", + app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDRequest, + app.dataset.v1.dataset_pb2.ListDatasetsByOrganizationIDResponse, + ) + self.ListDatasetsByIDs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.dataset.v1.DatasetService/ListDatasetsByIDs", + app.dataset.v1.dataset_pb2.ListDatasetsByIDsRequest, + app.dataset.v1.dataset_pb2.ListDatasetsByIDsResponse, + ) diff --git a/src/viam/gen/app/dataset/v1/dataset_pb2.py b/src/viam/gen/app/dataset/v1/dataset_pb2.py index 416109e4e..de3fef9b1 100644 --- a/src/viam/gen/app/dataset/v1/dataset_pb2.py +++ b/src/viam/gen/app/dataset/v1/dataset_pb2.py @@ -1,16 +1,22 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1capp/dataset/v1/dataset.proto\x12\x13viam.app.dataset.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x95\x01\n\x07Dataset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12=\n\x0ctime_created\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0btimeCreated"S\n\x14CreateDatasetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\'\n\x15CreateDatasetResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"&\n\x14DeleteDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x17\n\x15DeleteDatasetResponse":\n\x14RenameDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\x17\n\x15RenameDatasetResponse"N\n#ListDatasetsByOrganizationIDRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n$ListDatasetsByOrganizationIDResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets",\n\x18ListDatasetsByIDsRequest\x12\x10\n\x03ids\x18\x01 \x03(\tR\x03ids"U\n\x19ListDatasetsByIDsResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets2\xd2\x04\n\x0eDatasetService\x12f\n\rCreateDataset\x12).viam.app.dataset.v1.CreateDatasetRequest\x1a*.viam.app.dataset.v1.CreateDatasetResponse\x12f\n\rDeleteDataset\x12).viam.app.dataset.v1.DeleteDatasetRequest\x1a*.viam.app.dataset.v1.DeleteDatasetResponse\x12f\n\rRenameDataset\x12).viam.app.dataset.v1.RenameDatasetRequest\x1a*.viam.app.dataset.v1.RenameDatasetResponse\x12\x93\x01\n\x1cListDatasetsByOrganizationID\x128.viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest\x1a9.viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse\x12r\n\x11ListDatasetsByIDs\x12-.viam.app.dataset.v1.ListDatasetsByIDsRequest\x1a..viam.app.dataset.v1.ListDatasetsByIDsResponseB Z\x1ego.viam.com/api/app/dataset/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1capp/dataset/v1/dataset.proto\x12\x13viam.app.dataset.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x95\x01\n\x07Dataset\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId\x12=\n\x0ctime_created\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0btimeCreated"S\n\x14CreateDatasetRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\'\n\x15CreateDatasetResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"&\n\x14DeleteDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x17\n\x15DeleteDatasetResponse":\n\x14RenameDatasetRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"\x17\n\x15RenameDatasetResponse"N\n#ListDatasetsByOrganizationIDRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n$ListDatasetsByOrganizationIDResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets",\n\x18ListDatasetsByIDsRequest\x12\x10\n\x03ids\x18\x01 \x03(\tR\x03ids"U\n\x19ListDatasetsByIDsResponse\x128\n\x08datasets\x18\x01 \x03(\x0b2\x1c.viam.app.dataset.v1.DatasetR\x08datasets2\xd2\x04\n\x0eDatasetService\x12f\n\rCreateDataset\x12).viam.app.dataset.v1.CreateDatasetRequest\x1a*.viam.app.dataset.v1.CreateDatasetResponse\x12f\n\rDeleteDataset\x12).viam.app.dataset.v1.DeleteDatasetRequest\x1a*.viam.app.dataset.v1.DeleteDatasetResponse\x12f\n\rRenameDataset\x12).viam.app.dataset.v1.RenameDatasetRequest\x1a*.viam.app.dataset.v1.RenameDatasetResponse\x12\x93\x01\n\x1cListDatasetsByOrganizationID\x128.viam.app.dataset.v1.ListDatasetsByOrganizationIDRequest\x1a9.viam.app.dataset.v1.ListDatasetsByOrganizationIDResponse\x12r\n\x11ListDatasetsByIDs\x12-.viam.app.dataset.v1.ListDatasetsByIDsRequest\x1a..viam.app.dataset.v1.ListDatasetsByIDsResponseB Z\x1ego.viam.com/api/app/dataset/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.dataset.v1.dataset_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "app.dataset.v1.dataset_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1ego.viam.com/api/app/dataset/v1' + DESCRIPTOR._serialized_options = b"Z\x1ego.viam.com/api/app/dataset/v1" _DATASET._serialized_start = 87 _DATASET._serialized_end = 236 _CREATEDATASETREQUEST._serialized_start = 238 @@ -34,4 +40,4 @@ _LISTDATASETSBYIDSRESPONSE._serialized_start = 738 _LISTDATASETSBYIDSRESPONSE._serialized_end = 823 _DATASETSERVICE._serialized_start = 826 - _DATASETSERVICE._serialized_end = 1420 \ No newline at end of file + _DATASETSERVICE._serialized_end = 1420 diff --git a/src/viam/gen/app/dataset/v1/dataset_pb2.pyi b/src/viam/gen/app/dataset/v1/dataset_pb2.pyi index aac7b177b..2719713cf 100644 --- a/src/viam/gen/app/dataset/v1/dataset_pb2.pyi +++ b/src/viam/gen/app/dataset/v1/dataset_pb2.pyi @@ -4,11 +4,13 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.timestamp_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -18,6 +20,7 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing_extensions.final class Dataset(google.protobuf.message.Message): """Dataset stores the metadata of a dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int @@ -28,156 +31,197 @@ class Dataset(google.protobuf.message.Message): organization_id: builtins.str @property - def time_created(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., organization_id: builtins.str=..., time_created: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... + def time_created(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + organization_id: builtins.str = ..., + time_created: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["time_created", b"time_created"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "name", + b"name", + "organization_id", + b"organization_id", + "time_created", + b"time_created", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['time_created', b'time_created']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name', 'organization_id', b'organization_id', 'time_created', b'time_created']) -> None: - ... global___Dataset = Dataset @typing_extensions.final class CreateDatasetRequest(google.protobuf.message.Message): """CreateDatasetRequest defines the name and organization ID of a dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int name: builtins.str organization_id: builtins.str - def __init__(self, *, name: builtins.str=..., organization_id: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., organization_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", b"name", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'organization_id', b'organization_id']) -> None: - ... global___CreateDatasetRequest = CreateDatasetRequest @typing_extensions.final class CreateDatasetResponse(google.protobuf.message.Message): """CreateDatasetResponse returns the dataset ID of the created dataset.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___CreateDatasetResponse = CreateDatasetResponse @typing_extensions.final class DeleteDatasetRequest(google.protobuf.message.Message): """DeleteDatasetRequest deletes the dataset specified by the dataset ID.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___DeleteDatasetRequest = DeleteDatasetRequest @typing_extensions.final class DeleteDatasetResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteDatasetResponse = DeleteDatasetResponse @typing_extensions.final class RenameDatasetRequest(google.protobuf.message.Message): """RenameDatasetRequest applies the new name to the dataset specified by the dataset ID.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int id: builtins.str name: builtins.str - def __init__(self, *, id: builtins.str=..., name: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ..., name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name']) -> None: - ... global___RenameDatasetRequest = RenameDatasetRequest @typing_extensions.final class RenameDatasetResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___RenameDatasetResponse = RenameDatasetResponse @typing_extensions.final class ListDatasetsByOrganizationIDRequest(google.protobuf.message.Message): """ListDatasetsByOrganizationIDRequest requests all of the datasets for an organization.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___ListDatasetsByOrganizationIDRequest = ListDatasetsByOrganizationIDRequest @typing_extensions.final class ListDatasetsByOrganizationIDResponse(google.protobuf.message.Message): """ListDatasetsByOrganizationIDResponse returns all the dataset metadata for the organization.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATASETS_FIELD_NUMBER: builtins.int @property - def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Dataset]: - ... - - def __init__(self, *, datasets: collections.abc.Iterable[global___Dataset] | None=...) -> None: - ... + def datasets( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Dataset + ]: ... + def __init__( + self, *, datasets: collections.abc.Iterable[global___Dataset] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["datasets", b"datasets"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['datasets', b'datasets']) -> None: - ... global___ListDatasetsByOrganizationIDResponse = ListDatasetsByOrganizationIDResponse @typing_extensions.final class ListDatasetsByIDsRequest(google.protobuf.message.Message): """ListDatasetsByIDsRequest requests all of the datasets by their dataset IDs.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor IDS_FIELD_NUMBER: builtins.int @property - def ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, ids: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def ids( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, ids: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["ids", b"ids"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['ids', b'ids']) -> None: - ... global___ListDatasetsByIDsRequest = ListDatasetsByIDsRequest @typing_extensions.final class ListDatasetsByIDsResponse(google.protobuf.message.Message): """ListDatasetsByIDsResponse returns all the dataset metadata for the associated dataset IDs.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATASETS_FIELD_NUMBER: builtins.int @property - def datasets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Dataset]: - ... - - def __init__(self, *, datasets: collections.abc.Iterable[global___Dataset] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['datasets', b'datasets']) -> None: - ... -global___ListDatasetsByIDsResponse = ListDatasetsByIDsResponse \ No newline at end of file + def datasets( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Dataset + ]: ... + def __init__( + self, *, datasets: collections.abc.Iterable[global___Dataset] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["datasets", b"datasets"] + ) -> None: ... + +global___ListDatasetsByIDsResponse = ListDatasetsByIDsResponse diff --git a/src/viam/gen/app/datasync/v1/data_sync_grpc.py b/src/viam/gen/app/datasync/v1/data_sync_grpc.py index e50040c81..bea3be69f 100644 --- a/src/viam/gen/app/datasync/v1/data_sync_grpc.py +++ b/src/viam/gen/app/datasync/v1/data_sync_grpc.py @@ -1,35 +1,81 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 import google.protobuf.any_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 + from .... import app -class DataSyncServiceBase(abc.ABC): +class DataSyncServiceBase(abc.ABC): @abc.abstractmethod - async def DataCaptureUpload(self, stream: 'grpclib.server.Stream[app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse]') -> None: + async def DataCaptureUpload( + self, + stream: "grpclib.server.Stream[app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse]", + ) -> None: pass @abc.abstractmethod - async def FileUpload(self, stream: 'grpclib.server.Stream[app.datasync.v1.data_sync_pb2.FileUploadRequest, app.datasync.v1.data_sync_pb2.FileUploadResponse]') -> None: + async def FileUpload( + self, + stream: "grpclib.server.Stream[app.datasync.v1.data_sync_pb2.FileUploadRequest, app.datasync.v1.data_sync_pb2.FileUploadResponse]", + ) -> None: pass @abc.abstractmethod - async def StreamingDataCaptureUpload(self, stream: 'grpclib.server.Stream[app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse]') -> None: + async def StreamingDataCaptureUpload( + self, + stream: "grpclib.server.Stream[app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.datasync.v1.DataSyncService/DataCaptureUpload': grpclib.const.Handler(self.DataCaptureUpload, grpclib.const.Cardinality.UNARY_UNARY, app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse), '/viam.app.datasync.v1.DataSyncService/FileUpload': grpclib.const.Handler(self.FileUpload, grpclib.const.Cardinality.STREAM_UNARY, app.datasync.v1.data_sync_pb2.FileUploadRequest, app.datasync.v1.data_sync_pb2.FileUploadResponse), '/viam.app.datasync.v1.DataSyncService/StreamingDataCaptureUpload': grpclib.const.Handler(self.StreamingDataCaptureUpload, grpclib.const.Cardinality.STREAM_UNARY, app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse)} + return { + "/viam.app.datasync.v1.DataSyncService/DataCaptureUpload": grpclib.const.Handler( + self.DataCaptureUpload, + grpclib.const.Cardinality.UNARY_UNARY, + app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, + app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse, + ), + "/viam.app.datasync.v1.DataSyncService/FileUpload": grpclib.const.Handler( + self.FileUpload, + grpclib.const.Cardinality.STREAM_UNARY, + app.datasync.v1.data_sync_pb2.FileUploadRequest, + app.datasync.v1.data_sync_pb2.FileUploadResponse, + ), + "/viam.app.datasync.v1.DataSyncService/StreamingDataCaptureUpload": grpclib.const.Handler( + self.StreamingDataCaptureUpload, + grpclib.const.Cardinality.STREAM_UNARY, + app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, + app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse, + ), + } -class DataSyncServiceStub: +class DataSyncServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.DataCaptureUpload = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.datasync.v1.DataSyncService/DataCaptureUpload', app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse) - self.FileUpload = grpclib.client.StreamUnaryMethod(channel, '/viam.app.datasync.v1.DataSyncService/FileUpload', app.datasync.v1.data_sync_pb2.FileUploadRequest, app.datasync.v1.data_sync_pb2.FileUploadResponse) - self.StreamingDataCaptureUpload = grpclib.client.StreamUnaryMethod(channel, '/viam.app.datasync.v1.DataSyncService/StreamingDataCaptureUpload', app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse) \ No newline at end of file + self.DataCaptureUpload = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.datasync.v1.DataSyncService/DataCaptureUpload", + app.datasync.v1.data_sync_pb2.DataCaptureUploadRequest, + app.datasync.v1.data_sync_pb2.DataCaptureUploadResponse, + ) + self.FileUpload = grpclib.client.StreamUnaryMethod( + channel, + "/viam.app.datasync.v1.DataSyncService/FileUpload", + app.datasync.v1.data_sync_pb2.FileUploadRequest, + app.datasync.v1.data_sync_pb2.FileUploadResponse, + ) + self.StreamingDataCaptureUpload = grpclib.client.StreamUnaryMethod( + channel, + "/viam.app.datasync.v1.DataSyncService/StreamingDataCaptureUpload", + app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadRequest, + app.datasync.v1.data_sync_pb2.StreamingDataCaptureUploadResponse, + ) diff --git a/src/viam/gen/app/datasync/v1/data_sync_pb2.py b/src/viam/gen/app/datasync/v1/data_sync_pb2.py index bbd41c1fc..c68989582 100644 --- a/src/viam/gen/app/datasync/v1/data_sync_pb2.py +++ b/src/viam/gen/app/datasync/v1/data_sync_pb2.py @@ -1,29 +1,43 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import any_pb2 as google_dot_protobuf_dot_any__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fapp/datasync/v1/data_sync.proto\x12\x14viam.app.datasync.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa7\x01\n\x18DataCaptureUploadRequest\x12@\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataR\x08metadata\x12I\n\x0fsensor_contents\x18\x02 \x03(\x0b2 .viam.app.datasync.v1.SensorDataR\x0esensorContents"4\n\x19DataCaptureUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\xaf\x01\n\x11FileUploadRequest\x12B\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataH\x00R\x08metadata\x12E\n\rfile_contents\x18\x02 \x01(\x0b2\x1e.viam.app.datasync.v1.FileDataH\x00R\x0cfileContentsB\x0f\n\rupload_packet"-\n\x12FileUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\x99\x01\n!StreamingDataCaptureUploadRequest\x12M\n\x08metadata\x18\x01 \x01(\x0b2/.viam.app.datasync.v1.DataCaptureUploadMetadataH\x00R\x08metadata\x12\x14\n\x04data\x18\x02 \x01(\x0cH\x00R\x04dataB\x0f\n\rupload_packet"=\n"StreamingDataCaptureUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\x94\x01\n\x0eSensorMetadata\x12A\n\x0etime_requested\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"\xa3\x01\n\nSensorData\x12@\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.SensorMetadataR\x08metadata\x121\n\x06struct\x18\x02 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x06struct\x12\x18\n\x06binary\x18\x03 \x01(\x0cH\x00R\x06binaryB\x06\n\x04data"\x1e\n\x08FileData\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data"\x91\x04\n\x0eUploadMetadata\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\x03 \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\x05 \x01(\tR\nmethodName\x122\n\x04type\x18\x06 \x01(\x0e2\x1e.viam.app.datasync.v1.DataTypeR\x04type\x12\x1b\n\tfile_name\x18\x07 \x01(\tR\x08fileName\x12g\n\x11method_parameters\x18\x08 \x03(\x0b2:.viam.app.datasync.v1.UploadMetadata.MethodParametersEntryR\x10methodParameters\x12%\n\x0efile_extension\x18\t \x01(\tR\rfileExtension\x12\x12\n\x04tags\x18\n \x03(\tR\x04tags\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x04\x10\x05J\x04\x08\x0b\x10\x0cR\x0fcomponent_modelR\nsession_id"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xe5\x03\n\x13DataCaptureMetadata\x12%\n\x0ecomponent_type\x18\x01 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\x02 \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x122\n\x04type\x18\x05 \x01(\x0e2\x1e.viam.app.datasync.v1.DataTypeR\x04type\x12l\n\x11method_parameters\x18\x06 \x03(\x0b2?.viam.app.datasync.v1.DataCaptureMetadata.MethodParametersEntryR\x10methodParameters\x12%\n\x0efile_extension\x18\x07 \x01(\tR\rfileExtension\x12\x12\n\x04tags\x18\x08 \x03(\tR\x04tags\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x03\x10\x04J\x04\x08\t\x10\nR\x0fcomponent_modelR\nsession_id"\xb9\x01\n\x19DataCaptureUploadMetadata\x12M\n\x0fupload_metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataR\x0euploadMetadata\x12M\n\x0fsensor_metadata\x18\x02 \x01(\x0b2$.viam.app.datasync.v1.SensorMetadataR\x0esensorMetadata*t\n\x08DataType\x12\x19\n\x15DATA_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17DATA_TYPE_BINARY_SENSOR\x10\x01\x12\x1c\n\x18DATA_TYPE_TABULAR_SENSOR\x10\x02\x12\x12\n\x0eDATA_TYPE_FILE\x10\x032\x80\x04\n\x0fDataSyncService\x12\x9e\x01\n\x11DataCaptureUpload\x12..viam.app.datasync.v1.DataCaptureUploadRequest\x1a/.viam.app.datasync.v1.DataCaptureUploadResponse"(\x82\xd3\xe4\x93\x02"" /datasync/v1/data_capture_upload\x12\x83\x01\n\nFileUpload\x12\'.viam.app.datasync.v1.FileUploadRequest\x1a(.viam.app.datasync.v1.FileUploadResponse" \x82\xd3\xe4\x93\x02\x1a"\x18/datasync/v1/file_upload(\x01\x12\xc5\x01\n\x1aStreamingDataCaptureUpload\x127.viam.app.datasync.v1.StreamingDataCaptureUploadRequest\x1a8.viam.app.datasync.v1.StreamingDataCaptureUploadResponse"2\x82\xd3\xe4\x93\x02,"*/datasync/v1/streaming_data_capture_upload(\x01B!Z\x1fgo.viam.com/api/app/datasync/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1fapp/datasync/v1/data_sync.proto\x12\x14viam.app.datasync.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/protobuf/any.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\xa7\x01\n\x18DataCaptureUploadRequest\x12@\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataR\x08metadata\x12I\n\x0fsensor_contents\x18\x02 \x03(\x0b2 .viam.app.datasync.v1.SensorDataR\x0esensorContents"4\n\x19DataCaptureUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\xaf\x01\n\x11FileUploadRequest\x12B\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataH\x00R\x08metadata\x12E\n\rfile_contents\x18\x02 \x01(\x0b2\x1e.viam.app.datasync.v1.FileDataH\x00R\x0cfileContentsB\x0f\n\rupload_packet"-\n\x12FileUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\x99\x01\n!StreamingDataCaptureUploadRequest\x12M\n\x08metadata\x18\x01 \x01(\x0b2/.viam.app.datasync.v1.DataCaptureUploadMetadataH\x00R\x08metadata\x12\x14\n\x04data\x18\x02 \x01(\x0cH\x00R\x04dataB\x0f\n\rupload_packet"=\n"StreamingDataCaptureUploadResponse\x12\x17\n\x07file_id\x18\x01 \x01(\tR\x06fileId"\x94\x01\n\x0eSensorMetadata\x12A\n\x0etime_requested\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\rtimeRequested\x12?\n\rtime_received\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0ctimeReceived"\xa3\x01\n\nSensorData\x12@\n\x08metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.SensorMetadataR\x08metadata\x121\n\x06struct\x18\x02 \x01(\x0b2\x17.google.protobuf.StructH\x00R\x06struct\x12\x18\n\x06binary\x18\x03 \x01(\x0cH\x00R\x06binaryB\x06\n\x04data"\x1e\n\x08FileData\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data"\x91\x04\n\x0eUploadMetadata\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12%\n\x0ecomponent_type\x18\x02 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\x03 \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\x05 \x01(\tR\nmethodName\x122\n\x04type\x18\x06 \x01(\x0e2\x1e.viam.app.datasync.v1.DataTypeR\x04type\x12\x1b\n\tfile_name\x18\x07 \x01(\tR\x08fileName\x12g\n\x11method_parameters\x18\x08 \x03(\x0b2:.viam.app.datasync.v1.UploadMetadata.MethodParametersEntryR\x10methodParameters\x12%\n\x0efile_extension\x18\t \x01(\tR\rfileExtension\x12\x12\n\x04tags\x18\n \x03(\tR\x04tags\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x04\x10\x05J\x04\x08\x0b\x10\x0cR\x0fcomponent_modelR\nsession_id"q\n\x0fCaptureInterval\x120\n\x05start\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x05start\x12,\n\x03end\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x03end"\xe5\x03\n\x13DataCaptureMetadata\x12%\n\x0ecomponent_type\x18\x01 \x01(\tR\rcomponentType\x12%\n\x0ecomponent_name\x18\x02 \x01(\tR\rcomponentName\x12\x1f\n\x0bmethod_name\x18\x04 \x01(\tR\nmethodName\x122\n\x04type\x18\x05 \x01(\x0e2\x1e.viam.app.datasync.v1.DataTypeR\x04type\x12l\n\x11method_parameters\x18\x06 \x03(\x0b2?.viam.app.datasync.v1.DataCaptureMetadata.MethodParametersEntryR\x10methodParameters\x12%\n\x0efile_extension\x18\x07 \x01(\tR\rfileExtension\x12\x12\n\x04tags\x18\x08 \x03(\tR\x04tags\x1aY\n\x15MethodParametersEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12*\n\x05value\x18\x02 \x01(\x0b2\x14.google.protobuf.AnyR\x05value:\x028\x01J\x04\x08\x03\x10\x04J\x04\x08\t\x10\nR\x0fcomponent_modelR\nsession_id"\xb9\x01\n\x19DataCaptureUploadMetadata\x12M\n\x0fupload_metadata\x18\x01 \x01(\x0b2$.viam.app.datasync.v1.UploadMetadataR\x0euploadMetadata\x12M\n\x0fsensor_metadata\x18\x02 \x01(\x0b2$.viam.app.datasync.v1.SensorMetadataR\x0esensorMetadata*t\n\x08DataType\x12\x19\n\x15DATA_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17DATA_TYPE_BINARY_SENSOR\x10\x01\x12\x1c\n\x18DATA_TYPE_TABULAR_SENSOR\x10\x02\x12\x12\n\x0eDATA_TYPE_FILE\x10\x032\x80\x04\n\x0fDataSyncService\x12\x9e\x01\n\x11DataCaptureUpload\x12..viam.app.datasync.v1.DataCaptureUploadRequest\x1a/.viam.app.datasync.v1.DataCaptureUploadResponse"(\x82\xd3\xe4\x93\x02"" /datasync/v1/data_capture_upload\x12\x83\x01\n\nFileUpload\x12\'.viam.app.datasync.v1.FileUploadRequest\x1a(.viam.app.datasync.v1.FileUploadResponse" \x82\xd3\xe4\x93\x02\x1a"\x18/datasync/v1/file_upload(\x01\x12\xc5\x01\n\x1aStreamingDataCaptureUpload\x127.viam.app.datasync.v1.StreamingDataCaptureUploadRequest\x1a8.viam.app.datasync.v1.StreamingDataCaptureUploadResponse"2\x82\xd3\xe4\x93\x02,"*/datasync/v1/streaming_data_capture_upload(\x01B!Z\x1fgo.viam.com/api/app/datasync/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.datasync.v1.data_sync_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "app.datasync.v1.data_sync_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1fgo.viam.com/api/app/datasync/v1' + DESCRIPTOR._serialized_options = b"Z\x1fgo.viam.com/api/app/datasync/v1" _UPLOADMETADATA_METHODPARAMETERSENTRY._options = None - _UPLOADMETADATA_METHODPARAMETERSENTRY._serialized_options = b'8\x01' + _UPLOADMETADATA_METHODPARAMETERSENTRY._serialized_options = b"8\x01" _DATACAPTUREMETADATA_METHODPARAMETERSENTRY._options = None - _DATACAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b'8\x01' - _DATASYNCSERVICE.methods_by_name['DataCaptureUpload']._options = None - _DATASYNCSERVICE.methods_by_name['DataCaptureUpload']._serialized_options = b'\x82\xd3\xe4\x93\x02"" /datasync/v1/data_capture_upload' - _DATASYNCSERVICE.methods_by_name['FileUpload']._options = None - _DATASYNCSERVICE.methods_by_name['FileUpload']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1a"\x18/datasync/v1/file_upload' - _DATASYNCSERVICE.methods_by_name['StreamingDataCaptureUpload']._options = None - _DATASYNCSERVICE.methods_by_name['StreamingDataCaptureUpload']._serialized_options = b'\x82\xd3\xe4\x93\x02,"*/datasync/v1/streaming_data_capture_upload' + _DATACAPTUREMETADATA_METHODPARAMETERSENTRY._serialized_options = b"8\x01" + _DATASYNCSERVICE.methods_by_name["DataCaptureUpload"]._options = None + _DATASYNCSERVICE.methods_by_name[ + "DataCaptureUpload" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02"" /datasync/v1/data_capture_upload' + _DATASYNCSERVICE.methods_by_name["FileUpload"]._options = None + _DATASYNCSERVICE.methods_by_name[ + "FileUpload" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x1a"\x18/datasync/v1/file_upload' + _DATASYNCSERVICE.methods_by_name["StreamingDataCaptureUpload"]._options = None + _DATASYNCSERVICE.methods_by_name[ + "StreamingDataCaptureUpload" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02,"*/datasync/v1/streaming_data_capture_upload' + ) _DATATYPE._serialized_start = 2517 _DATATYPE._serialized_end = 2633 _DATACAPTUREUPLOADREQUEST._serialized_start = 178 @@ -57,4 +71,4 @@ _DATACAPTUREUPLOADMETADATA._serialized_start = 2330 _DATACAPTUREUPLOADMETADATA._serialized_end = 2515 _DATASYNCSERVICE._serialized_start = 2636 - _DATASYNCSERVICE._serialized_end = 3148 \ No newline at end of file + _DATASYNCSERVICE._serialized_end = 3148 diff --git a/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi b/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi index c247e649e..18455360f 100644 --- a/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi +++ b/src/viam/gen/app/datasync/v1/data_sync_pb2.pyi @@ -4,6 +4,9 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.any_pb2 import google.protobuf.descriptor import google.protobuf.internal.containers @@ -11,8 +14,7 @@ import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -20,10 +22,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _DataType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataType.ValueType], builtins.type): +class _DataTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_DataType.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor DATA_TYPE_UNSPECIFIED: _DataType.ValueType DATA_TYPE_BINARY_SENSOR: _DataType.ValueType @@ -32,6 +37,7 @@ class _DataTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumT class DataType(_DataType, metaclass=_DataTypeEnumTypeWrapper): """DataType specifies the type of data uploaded.""" + DATA_TYPE_UNSPECIFIED: DataType.ValueType DATA_TYPE_BINARY_SENSOR: DataType.ValueType DATA_TYPE_TABULAR_SENSOR: DataType.ValueType @@ -41,40 +47,50 @@ global___DataType = DataType @typing_extensions.final class DataCaptureUploadRequest(google.protobuf.message.Message): """DataCaptureUploadRequest requests to upload the contents and metadata for tabular data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int SENSOR_CONTENTS_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___UploadMetadata: - ... - + def metadata(self) -> global___UploadMetadata: ... @property - def sensor_contents(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SensorData]: - ... - - def __init__(self, *, metadata: global___UploadMetadata | None=..., sensor_contents: collections.abc.Iterable[global___SensorData] | None=...) -> None: - ... + def sensor_contents( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___SensorData + ]: ... + def __init__( + self, + *, + metadata: global___UploadMetadata | None = ..., + sensor_contents: collections.abc.Iterable[global___SensorData] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "metadata", b"metadata", "sensor_contents", b"sensor_contents" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'sensor_contents', b'sensor_contents']) -> None: - ... global___DataCaptureUploadRequest = DataCaptureUploadRequest @typing_extensions.final class DataCaptureUploadResponse(google.protobuf.message.Message): """DataCaptureUploadResponse returns the file id of the uploaded contents and metadata for tabular data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str - def __init__(self, *, file_id: builtins.str=...) -> None: - ... + def __init__(self, *, file_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["file_id", b"file_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['file_id', b'file_id']) -> None: - ... global___DataCaptureUploadResponse = DataCaptureUploadResponse @typing_extensions.final @@ -82,43 +98,62 @@ class FileUploadRequest(google.protobuf.message.Message): """FileUploadRequest requests to upload the contents and metadata for binary (image + file) data. The first packet must be the UploadMetadata associated with the binary data. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int FILE_CONTENTS_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___UploadMetadata: - ... - + def metadata(self) -> global___UploadMetadata: ... @property - def file_contents(self) -> global___FileData: - ... - - def __init__(self, *, metadata: global___UploadMetadata | None=..., file_contents: global___FileData | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool: - ... + def file_contents(self) -> global___FileData: ... + def __init__( + self, + *, + metadata: global___UploadMetadata | None = ..., + file_contents: global___FileData | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "file_contents", + b"file_contents", + "metadata", + b"metadata", + "upload_packet", + b"upload_packet", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "file_contents", + b"file_contents", + "metadata", + b"metadata", + "upload_packet", + b"upload_packet", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["upload_packet", b"upload_packet"] + ) -> typing_extensions.Literal["metadata", "file_contents"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['file_contents', b'file_contents', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['upload_packet', b'upload_packet']) -> typing_extensions.Literal['metadata', 'file_contents'] | None: - ... global___FileUploadRequest = FileUploadRequest @typing_extensions.final class FileUploadResponse(google.protobuf.message.Message): """FileUploadResponse returns the file id of the uploaded contents and metadata for binary (image + file) data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str - def __init__(self, *, file_id: builtins.str=...) -> None: - ... + def __init__(self, *, file_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["file_id", b"file_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['file_id', b'file_id']) -> None: - ... global___FileUploadResponse = FileUploadResponse @typing_extensions.final @@ -126,114 +161,160 @@ class StreamingDataCaptureUploadRequest(google.protobuf.message.Message): """StreamingDataCaptureUploadRequest requests to upload the contents and metadata for streaming binary (image + file) data. The first packet must be the DataCaptureUploadMetadata associated with the data. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int DATA_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___DataCaptureUploadMetadata: - ... + def metadata(self) -> global___DataCaptureUploadMetadata: ... data: builtins.bytes - def __init__(self, *, metadata: global___DataCaptureUploadMetadata | None=..., data: builtins.bytes=...) -> None: - ... + def __init__( + self, + *, + metadata: global___DataCaptureUploadMetadata | None = ..., + data: builtins.bytes = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "data", b"data", "metadata", b"metadata", "upload_packet", b"upload_packet" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "data", b"data", "metadata", b"metadata", "upload_packet", b"upload_packet" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["upload_packet", b"upload_packet"] + ) -> typing_extensions.Literal["metadata", "data"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['data', b'data', 'metadata', b'metadata', 'upload_packet', b'upload_packet']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['upload_packet', b'upload_packet']) -> typing_extensions.Literal['metadata', 'data'] | None: - ... global___StreamingDataCaptureUploadRequest = StreamingDataCaptureUploadRequest @typing_extensions.final class StreamingDataCaptureUploadResponse(google.protobuf.message.Message): """StreamingDataCaptureUploadResponse returns the file id of the uploaded contents and metadata for streaming binary (image + file) data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FILE_ID_FIELD_NUMBER: builtins.int file_id: builtins.str - def __init__(self, *, file_id: builtins.str=...) -> None: - ... + def __init__(self, *, file_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["file_id", b"file_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['file_id', b'file_id']) -> None: - ... global___StreamingDataCaptureUploadResponse = StreamingDataCaptureUploadResponse @typing_extensions.final class SensorMetadata(google.protobuf.message.Message): """SensorMetadata contains the time the sensor data was requested and was received.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor TIME_REQUESTED_FIELD_NUMBER: builtins.int TIME_RECEIVED_FIELD_NUMBER: builtins.int @property - def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def time_requested(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, time_requested: google.protobuf.timestamp_pb2.Timestamp | None=..., time_received: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... + def time_received(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + time_requested: google.protobuf.timestamp_pb2.Timestamp | None = ..., + time_received: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "time_received", b"time_received", "time_requested", b"time_requested" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "time_received", b"time_received", "time_requested", b"time_requested" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['time_received', b'time_received', 'time_requested', b'time_requested']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['time_received', b'time_received', 'time_requested', b'time_requested']) -> None: - ... global___SensorMetadata = SensorMetadata @typing_extensions.final class SensorData(google.protobuf.message.Message): """SensorData contains the contents and metadata for tabular data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int STRUCT_FIELD_NUMBER: builtins.int BINARY_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___SensorMetadata: - ... - + def metadata(self) -> global___SensorMetadata: ... @property - def struct(self) -> google.protobuf.struct_pb2.Struct: - ... + def struct(self) -> google.protobuf.struct_pb2.Struct: ... binary: builtins.bytes - def __init__(self, *, metadata: global___SensorMetadata | None=..., struct: google.protobuf.struct_pb2.Struct | None=..., binary: builtins.bytes=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> builtins.bool: - ... + def __init__( + self, + *, + metadata: global___SensorMetadata | None = ..., + struct: google.protobuf.struct_pb2.Struct | None = ..., + binary: builtins.bytes = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "binary", + b"binary", + "data", + b"data", + "metadata", + b"metadata", + "struct", + b"struct", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "binary", + b"binary", + "data", + b"data", + "metadata", + b"metadata", + "struct", + b"struct", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["data", b"data"] + ) -> typing_extensions.Literal["struct", "binary"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['binary', b'binary', 'data', b'data', 'metadata', b'metadata', 'struct', b'struct']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['data', b'data']) -> typing_extensions.Literal['struct', 'binary'] | None: - ... global___SensorData = SensorData @typing_extensions.final class FileData(google.protobuf.message.Message): """FileData contains the contents of binary (image + file) data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int data: builtins.bytes - def __init__(self, *, data: builtins.bytes=...) -> None: - ... + def __init__(self, *, data: builtins.bytes = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FileData = FileData @typing_extensions.final class UploadMetadata(google.protobuf.message.Message): """UploadMetadata contains the metadata for binary (image + file) data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -244,17 +325,20 @@ class UploadMetadata(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> google.protobuf.any_pb2.Any: - ... - - def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... PART_ID_FIELD_NUMBER: builtins.int COMPONENT_TYPE_FIELD_NUMBER: builtins.int COMPONENT_NAME_FIELD_NUMBER: builtins.int @@ -272,49 +356,92 @@ class UploadMetadata(google.protobuf.message.Message): file_name: builtins.str @property - def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]: - ... + def method_parameters( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, google.protobuf.any_pb2.Any + ]: ... file_extension: builtins.str @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + part_id: builtins.str = ..., + component_type: builtins.str = ..., + component_name: builtins.str = ..., + method_name: builtins.str = ..., + type: global___DataType.ValueType = ..., + file_name: builtins.str = ..., + method_parameters: collections.abc.Mapping[ + builtins.str, google.protobuf.any_pb2.Any + ] + | None = ..., + file_extension: builtins.str = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "component_type", + b"component_type", + "file_extension", + b"file_extension", + "file_name", + b"file_name", + "method_name", + b"method_name", + "method_parameters", + b"method_parameters", + "part_id", + b"part_id", + "tags", + b"tags", + "type", + b"type", + ], + ) -> None: ... - def __init__(self, *, part_id: builtins.str=..., component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., file_name: builtins.str=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'file_name', b'file_name', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'part_id', b'part_id', 'tags', b'tags', 'type', b'type']) -> None: - ... global___UploadMetadata = UploadMetadata @typing_extensions.final class CaptureInterval(google.protobuf.message.Message): """CaptureInterval specifies the start and end times of the data capture.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor START_FIELD_NUMBER: builtins.int END_FIELD_NUMBER: builtins.int @property - def start(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def start(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def end(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def end(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + start: google.protobuf.timestamp_pb2.Timestamp | None = ..., + end: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["end", b"end", "start", b"start"] + ) -> None: ... - def __init__(self, *, start: google.protobuf.timestamp_pb2.Timestamp | None=..., end: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['end', b'end', 'start', b'start']) -> None: - ... global___CaptureInterval = CaptureInterval @typing_extensions.final class DataCaptureMetadata(google.protobuf.message.Message): """DataCaptureMetadata contains the metadata for data captured by collectors.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -325,17 +452,20 @@ class DataCaptureMetadata(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> google.protobuf.any_pb2.Any: - ... - - def __init__(self, *, key: builtins.str=..., value: google.protobuf.any_pb2.Any | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> google.protobuf.any_pb2.Any: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.any_pb2.Any | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... COMPONENT_TYPE_FIELD_NUMBER: builtins.int COMPONENT_NAME_FIELD_NUMBER: builtins.int METHOD_NAME_FIELD_NUMBER: builtins.int @@ -349,42 +479,84 @@ class DataCaptureMetadata(google.protobuf.message.Message): type: global___DataType.ValueType @property - def method_parameters(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.any_pb2.Any]: - ... + def method_parameters( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, google.protobuf.any_pb2.Any + ]: ... file_extension: builtins.str @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + component_type: builtins.str = ..., + component_name: builtins.str = ..., + method_name: builtins.str = ..., + type: global___DataType.ValueType = ..., + method_parameters: collections.abc.Mapping[ + builtins.str, google.protobuf.any_pb2.Any + ] + | None = ..., + file_extension: builtins.str = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "component_type", + b"component_type", + "file_extension", + b"file_extension", + "method_name", + b"method_name", + "method_parameters", + b"method_parameters", + "tags", + b"tags", + "type", + b"type", + ], + ) -> None: ... - def __init__(self, *, component_type: builtins.str=..., component_name: builtins.str=..., method_name: builtins.str=..., type: global___DataType.ValueType=..., method_parameters: collections.abc.Mapping[builtins.str, google.protobuf.any_pb2.Any] | None=..., file_extension: builtins.str=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'component_type', b'component_type', 'file_extension', b'file_extension', 'method_name', b'method_name', 'method_parameters', b'method_parameters', 'tags', b'tags', 'type', b'type']) -> None: - ... global___DataCaptureMetadata = DataCaptureMetadata @typing_extensions.final class DataCaptureUploadMetadata(google.protobuf.message.Message): """DataCaptureUploadMetadata contains the metadata for streaming binary (image + file) data.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor UPLOAD_METADATA_FIELD_NUMBER: builtins.int SENSOR_METADATA_FIELD_NUMBER: builtins.int @property - def upload_metadata(self) -> global___UploadMetadata: - ... - + def upload_metadata(self) -> global___UploadMetadata: ... @property - def sensor_metadata(self) -> global___SensorMetadata: - ... - - def __init__(self, *, upload_metadata: global___UploadMetadata | None=..., sensor_metadata: global___SensorMetadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['sensor_metadata', b'sensor_metadata', 'upload_metadata', b'upload_metadata']) -> None: - ... -global___DataCaptureUploadMetadata = DataCaptureUploadMetadata \ No newline at end of file + def sensor_metadata(self) -> global___SensorMetadata: ... + def __init__( + self, + *, + upload_metadata: global___UploadMetadata | None = ..., + sensor_metadata: global___SensorMetadata | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "sensor_metadata", b"sensor_metadata", "upload_metadata", b"upload_metadata" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "sensor_metadata", b"sensor_metadata", "upload_metadata", b"upload_metadata" + ], + ) -> None: ... + +global___DataCaptureUploadMetadata = DataCaptureUploadMetadata diff --git a/src/viam/gen/app/mltraining/v1/ml_training_grpc.py b/src/viam/gen/app/mltraining/v1/ml_training_grpc.py index 2ac1a2f04..ceaa625dd 100644 --- a/src/viam/gen/app/mltraining/v1/ml_training_grpc.py +++ b/src/viam/gen/app/mltraining/v1/ml_training_grpc.py @@ -1,44 +1,117 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.timestamp_pb2 import google.rpc.status_pb2 -from .... import tagger -from .... import app -class MLTrainingServiceBase(abc.ABC): +from .... import app, tagger + +class MLTrainingServiceBase(abc.ABC): @abc.abstractmethod - async def SubmitTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse]') -> None: + async def SubmitTrainingJob( + self, + stream: "grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse]", + ) -> None: pass @abc.abstractmethod - async def GetTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse]') -> None: + async def GetTrainingJob( + self, + stream: "grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse]", + ) -> None: pass @abc.abstractmethod - async def ListTrainingJobs(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse]') -> None: + async def ListTrainingJobs( + self, + stream: "grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse]", + ) -> None: pass @abc.abstractmethod - async def CancelTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse]') -> None: + async def CancelTrainingJob( + self, + stream: "grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteCompletedTrainingJob(self, stream: 'grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse]') -> None: + async def DeleteCompletedTrainingJob( + self, + stream: "grpclib.server.Stream[app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob': grpclib.const.Handler(self.SubmitTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob': grpclib.const.Handler(self.GetTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs': grpclib.const.Handler(self.ListTrainingJobs, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse), '/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob': grpclib.const.Handler(self.CancelTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse), '/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob': grpclib.const.Handler(self.DeleteCompletedTrainingJob, grpclib.const.Cardinality.UNARY_UNARY, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse)} + return { + "/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob": grpclib.const.Handler( + self.SubmitTrainingJob, + grpclib.const.Cardinality.UNARY_UNARY, + app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse, + ), + "/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob": grpclib.const.Handler( + self.GetTrainingJob, + grpclib.const.Cardinality.UNARY_UNARY, + app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse, + ), + "/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs": grpclib.const.Handler( + self.ListTrainingJobs, + grpclib.const.Cardinality.UNARY_UNARY, + app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, + app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse, + ), + "/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob": grpclib.const.Handler( + self.CancelTrainingJob, + grpclib.const.Cardinality.UNARY_UNARY, + app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse, + ), + "/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob": grpclib.const.Handler( + self.DeleteCompletedTrainingJob, + grpclib.const.Cardinality.UNARY_UNARY, + app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse, + ), + } -class MLTrainingServiceStub: +class MLTrainingServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.SubmitTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob', app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse) - self.GetTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob', app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse) - self.ListTrainingJobs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs', app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse) - self.CancelTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob', app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse) - self.DeleteCompletedTrainingJob = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob', app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse) \ No newline at end of file + self.SubmitTrainingJob = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.mltraining.v1.MLTrainingService/SubmitTrainingJob", + app.mltraining.v1.ml_training_pb2.SubmitTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.SubmitTrainingJobResponse, + ) + self.GetTrainingJob = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.mltraining.v1.MLTrainingService/GetTrainingJob", + app.mltraining.v1.ml_training_pb2.GetTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.GetTrainingJobResponse, + ) + self.ListTrainingJobs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.mltraining.v1.MLTrainingService/ListTrainingJobs", + app.mltraining.v1.ml_training_pb2.ListTrainingJobsRequest, + app.mltraining.v1.ml_training_pb2.ListTrainingJobsResponse, + ) + self.CancelTrainingJob = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.mltraining.v1.MLTrainingService/CancelTrainingJob", + app.mltraining.v1.ml_training_pb2.CancelTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.CancelTrainingJobResponse, + ) + self.DeleteCompletedTrainingJob = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.mltraining.v1.MLTrainingService/DeleteCompletedTrainingJob", + app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobRequest, + app.mltraining.v1.ml_training_pb2.DeleteCompletedTrainingJobResponse, + ) diff --git a/src/viam/gen/app/mltraining/v1/ml_training_pb2.py b/src/viam/gen/app/mltraining/v1/ml_training_pb2.py index 4ec2ac393..90cb6dc7a 100644 --- a/src/viam/gen/app/mltraining/v1/ml_training_pb2.py +++ b/src/viam/gen/app/mltraining/v1/ml_training_pb2.py @@ -1,48 +1,97 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 + from ....tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#app/mltraining/v1/ml_training.proto\x12\x16viam.app.mltraining.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x16tagger/v1/tagger.proto"\x8a\x04\n\x18SubmitTrainingJobRequest\x12G\n\ndataset_id\x18\x07 \x01(\tB(\x9a\x84\x9e\x03#bson:"dataset_id" json:"dataset_id"R\tdatasetId\x12[\n\x0forganization_id\x18\x02 \x01(\tB2\x9a\x84\x9e\x03-bson:"organization_id" json:"organization_id"R\x0eorganizationId\x12G\n\nmodel_name\x18\x03 \x01(\tB(\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"R\tmodelName\x12S\n\rmodel_version\x18\x04 \x01(\tB.\x9a\x84\x9e\x03)bson:"model_version" json:"model_version"R\x0cmodelVersion\x12j\n\nmodel_type\x18\x05 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeB(\x9a\x84\x9e\x03#bson:"model_type" json:"model_type"R\tmodelType\x120\n\x04tags\x18\x06 \x03(\tB\x1c\x9a\x84\x9e\x03\x17bson:"tags" json:"tags"R\x04tagsJ\x04\x08\x01\x10\x02R\x06filter"+\n\x19SubmitTrainingJobResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\'\n\x15GetTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"a\n\x16GetTrainingJobResponse\x12G\n\x08metadata\x18\x01 \x01(\x0b2+.viam.app.mltraining.v1.TrainingJobMetadataR\x08metadata"\x82\x01\n\x17ListTrainingJobsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12>\n\x06status\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.TrainingStatusR\x06status"[\n\x18ListTrainingJobsResponse\x12?\n\x04jobs\x18\x01 \x03(\x0b2+.viam.app.mltraining.v1.TrainingJobMetadataR\x04jobs"\xb7\x07\n\x13TrainingJobMetadata\x12n\n\x07request\x18\x01 \x01(\x0b20.viam.app.mltraining.v1.SubmitTrainingJobRequestB"\x9a\x84\x9e\x03\x1dbson:"request" json:"request"R\x07request\x12`\n\x06status\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.TrainingStatusB \x9a\x84\x9e\x03\x1bbson:"status" json:"status"R\x06status\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12o\n\rlast_modified\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB.\x9a\x84\x9e\x03)bson:"last_modified" json:"last_modified"R\x0clastModified\x12Z\n\x0fsynced_model_id\x18\x05 \x01(\tB2\x9a\x84\x9e\x03-bson:"synced_model_id" json:"synced_model_id"R\rsyncedModelId\x123\n\x02id\x18\x07 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x12c\n\x0cerror_status\x18\x08 \x01(\x0b2\x12.google.rpc.StatusB,\x9a\x84\x9e\x03\'bson:"error_status" json:"error_status"R\x0berrorStatus\x12{\n\x10training_started\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampB4\x9a\x84\x9e\x03/bson:"training_started" json:"training_started"R\x0ftrainingStarted\x12s\n\x0etraining_ended\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampB0\x9a\x84\x9e\x03+bson:"training_ended" json:"training_ended"R\rtrainingEndedJ\x04\x08\x06\x10\x07R\nuser_email"*\n\x18CancelTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19CancelTrainingJobResponse"3\n!DeleteCompletedTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"$\n"DeleteCompletedTrainingJobResponse*\x9f\x01\n\tModelType\x12\x1a\n\x16MODEL_TYPE_UNSPECIFIED\x10\x00\x12*\n&MODEL_TYPE_SINGLE_LABEL_CLASSIFICATION\x10\x01\x12)\n%MODEL_TYPE_MULTI_LABEL_CLASSIFICATION\x10\x02\x12\x1f\n\x1bMODEL_TYPE_OBJECT_DETECTION\x10\x03*\xe7\x01\n\x0eTrainingStatus\x12\x1f\n\x1bTRAINING_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n\x17TRAINING_STATUS_PENDING\x10\x01\x12\x1f\n\x1bTRAINING_STATUS_IN_PROGRESS\x10\x02\x12\x1d\n\x19TRAINING_STATUS_COMPLETED\x10\x03\x12\x1a\n\x16TRAINING_STATUS_FAILED\x10\x04\x12\x1c\n\x18TRAINING_STATUS_CANCELED\x10\x05\x12\x1d\n\x19TRAINING_STATUS_CANCELING\x10\x062\x85\x05\n\x11MLTrainingService\x12x\n\x11SubmitTrainingJob\x120.viam.app.mltraining.v1.SubmitTrainingJobRequest\x1a1.viam.app.mltraining.v1.SubmitTrainingJobResponse\x12o\n\x0eGetTrainingJob\x12-.viam.app.mltraining.v1.GetTrainingJobRequest\x1a..viam.app.mltraining.v1.GetTrainingJobResponse\x12u\n\x10ListTrainingJobs\x12/.viam.app.mltraining.v1.ListTrainingJobsRequest\x1a0.viam.app.mltraining.v1.ListTrainingJobsResponse\x12x\n\x11CancelTrainingJob\x120.viam.app.mltraining.v1.CancelTrainingJobRequest\x1a1.viam.app.mltraining.v1.CancelTrainingJobResponse\x12\x93\x01\n\x1aDeleteCompletedTrainingJob\x129.viam.app.mltraining.v1.DeleteCompletedTrainingJobRequest\x1a:.viam.app.mltraining.v1.DeleteCompletedTrainingJobResponseB#Z!go.viam.com/api/app/mltraining/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n#app/mltraining/v1/ml_training.proto\x12\x16viam.app.mltraining.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto\x1a\x16tagger/v1/tagger.proto"\x8a\x04\n\x18SubmitTrainingJobRequest\x12G\n\ndataset_id\x18\x07 \x01(\tB(\x9a\x84\x9e\x03#bson:"dataset_id" json:"dataset_id"R\tdatasetId\x12[\n\x0forganization_id\x18\x02 \x01(\tB2\x9a\x84\x9e\x03-bson:"organization_id" json:"organization_id"R\x0eorganizationId\x12G\n\nmodel_name\x18\x03 \x01(\tB(\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"R\tmodelName\x12S\n\rmodel_version\x18\x04 \x01(\tB.\x9a\x84\x9e\x03)bson:"model_version" json:"model_version"R\x0cmodelVersion\x12j\n\nmodel_type\x18\x05 \x01(\x0e2!.viam.app.mltraining.v1.ModelTypeB(\x9a\x84\x9e\x03#bson:"model_type" json:"model_type"R\tmodelType\x120\n\x04tags\x18\x06 \x03(\tB\x1c\x9a\x84\x9e\x03\x17bson:"tags" json:"tags"R\x04tagsJ\x04\x08\x01\x10\x02R\x06filter"+\n\x19SubmitTrainingJobResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\'\n\x15GetTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"a\n\x16GetTrainingJobResponse\x12G\n\x08metadata\x18\x01 \x01(\x0b2+.viam.app.mltraining.v1.TrainingJobMetadataR\x08metadata"\x82\x01\n\x17ListTrainingJobsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12>\n\x06status\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.TrainingStatusR\x06status"[\n\x18ListTrainingJobsResponse\x12?\n\x04jobs\x18\x01 \x03(\x0b2+.viam.app.mltraining.v1.TrainingJobMetadataR\x04jobs"\xb7\x07\n\x13TrainingJobMetadata\x12n\n\x07request\x18\x01 \x01(\x0b20.viam.app.mltraining.v1.SubmitTrainingJobRequestB"\x9a\x84\x9e\x03\x1dbson:"request" json:"request"R\x07request\x12`\n\x06status\x18\x02 \x01(\x0e2&.viam.app.mltraining.v1.TrainingStatusB \x9a\x84\x9e\x03\x1bbson:"status" json:"status"R\x06status\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12o\n\rlast_modified\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB.\x9a\x84\x9e\x03)bson:"last_modified" json:"last_modified"R\x0clastModified\x12Z\n\x0fsynced_model_id\x18\x05 \x01(\tB2\x9a\x84\x9e\x03-bson:"synced_model_id" json:"synced_model_id"R\rsyncedModelId\x123\n\x02id\x18\x07 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x12c\n\x0cerror_status\x18\x08 \x01(\x0b2\x12.google.rpc.StatusB,\x9a\x84\x9e\x03\'bson:"error_status" json:"error_status"R\x0berrorStatus\x12{\n\x10training_started\x18\t \x01(\x0b2\x1a.google.protobuf.TimestampB4\x9a\x84\x9e\x03/bson:"training_started" json:"training_started"R\x0ftrainingStarted\x12s\n\x0etraining_ended\x18\n \x01(\x0b2\x1a.google.protobuf.TimestampB0\x9a\x84\x9e\x03+bson:"training_ended" json:"training_ended"R\rtrainingEndedJ\x04\x08\x06\x10\x07R\nuser_email"*\n\x18CancelTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19CancelTrainingJobResponse"3\n!DeleteCompletedTrainingJobRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"$\n"DeleteCompletedTrainingJobResponse*\x9f\x01\n\tModelType\x12\x1a\n\x16MODEL_TYPE_UNSPECIFIED\x10\x00\x12*\n&MODEL_TYPE_SINGLE_LABEL_CLASSIFICATION\x10\x01\x12)\n%MODEL_TYPE_MULTI_LABEL_CLASSIFICATION\x10\x02\x12\x1f\n\x1bMODEL_TYPE_OBJECT_DETECTION\x10\x03*\xe7\x01\n\x0eTrainingStatus\x12\x1f\n\x1bTRAINING_STATUS_UNSPECIFIED\x10\x00\x12\x1b\n\x17TRAINING_STATUS_PENDING\x10\x01\x12\x1f\n\x1bTRAINING_STATUS_IN_PROGRESS\x10\x02\x12\x1d\n\x19TRAINING_STATUS_COMPLETED\x10\x03\x12\x1a\n\x16TRAINING_STATUS_FAILED\x10\x04\x12\x1c\n\x18TRAINING_STATUS_CANCELED\x10\x05\x12\x1d\n\x19TRAINING_STATUS_CANCELING\x10\x062\x85\x05\n\x11MLTrainingService\x12x\n\x11SubmitTrainingJob\x120.viam.app.mltraining.v1.SubmitTrainingJobRequest\x1a1.viam.app.mltraining.v1.SubmitTrainingJobResponse\x12o\n\x0eGetTrainingJob\x12-.viam.app.mltraining.v1.GetTrainingJobRequest\x1a..viam.app.mltraining.v1.GetTrainingJobResponse\x12u\n\x10ListTrainingJobs\x12/.viam.app.mltraining.v1.ListTrainingJobsRequest\x1a0.viam.app.mltraining.v1.ListTrainingJobsResponse\x12x\n\x11CancelTrainingJob\x120.viam.app.mltraining.v1.CancelTrainingJobRequest\x1a1.viam.app.mltraining.v1.CancelTrainingJobResponse\x12\x93\x01\n\x1aDeleteCompletedTrainingJob\x129.viam.app.mltraining.v1.DeleteCompletedTrainingJobRequest\x1a:.viam.app.mltraining.v1.DeleteCompletedTrainingJobResponseB#Z!go.viam.com/api/app/mltraining/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.mltraining.v1.ml_training_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "app.mltraining.v1.ml_training_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z!go.viam.com/api/app/mltraining/v1' - _SUBMITTRAININGJOBREQUEST.fields_by_name['dataset_id']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['dataset_id']._serialized_options = b'\x9a\x84\x9e\x03#bson:"dataset_id" json:"dataset_id"' - _SUBMITTRAININGJOBREQUEST.fields_by_name['organization_id']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['organization_id']._serialized_options = b'\x9a\x84\x9e\x03-bson:"organization_id" json:"organization_id"' - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_name']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_name']._serialized_options = b'\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"' - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_version']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_version']._serialized_options = b'\x9a\x84\x9e\x03)bson:"model_version" json:"model_version"' - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_type']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['model_type']._serialized_options = b'\x9a\x84\x9e\x03#bson:"model_type" json:"model_type"' - _SUBMITTRAININGJOBREQUEST.fields_by_name['tags']._options = None - _SUBMITTRAININGJOBREQUEST.fields_by_name['tags']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"tags" json:"tags"' - _TRAININGJOBMETADATA.fields_by_name['request']._options = None - _TRAININGJOBMETADATA.fields_by_name['request']._serialized_options = b'\x9a\x84\x9e\x03\x1dbson:"request" json:"request"' - _TRAININGJOBMETADATA.fields_by_name['status']._options = None - _TRAININGJOBMETADATA.fields_by_name['status']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"status" json:"status"' - _TRAININGJOBMETADATA.fields_by_name['created_on']._options = None - _TRAININGJOBMETADATA.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"' - _TRAININGJOBMETADATA.fields_by_name['last_modified']._options = None - _TRAININGJOBMETADATA.fields_by_name['last_modified']._serialized_options = b'\x9a\x84\x9e\x03)bson:"last_modified" json:"last_modified"' - _TRAININGJOBMETADATA.fields_by_name['synced_model_id']._options = None - _TRAININGJOBMETADATA.fields_by_name['synced_model_id']._serialized_options = b'\x9a\x84\x9e\x03-bson:"synced_model_id" json:"synced_model_id"' - _TRAININGJOBMETADATA.fields_by_name['id']._options = None - _TRAININGJOBMETADATA.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' - _TRAININGJOBMETADATA.fields_by_name['error_status']._options = None - _TRAININGJOBMETADATA.fields_by_name['error_status']._serialized_options = b'\x9a\x84\x9e\x03\'bson:"error_status" json:"error_status"' - _TRAININGJOBMETADATA.fields_by_name['training_started']._options = None - _TRAININGJOBMETADATA.fields_by_name['training_started']._serialized_options = b'\x9a\x84\x9e\x03/bson:"training_started" json:"training_started"' - _TRAININGJOBMETADATA.fields_by_name['training_ended']._options = None - _TRAININGJOBMETADATA.fields_by_name['training_ended']._serialized_options = b'\x9a\x84\x9e\x03+bson:"training_ended" json:"training_ended"' + DESCRIPTOR._serialized_options = b"Z!go.viam.com/api/app/mltraining/v1" + _SUBMITTRAININGJOBREQUEST.fields_by_name["dataset_id"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "dataset_id" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"dataset_id" json:"dataset_id"' + _SUBMITTRAININGJOBREQUEST.fields_by_name["organization_id"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "organization_id" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03-bson:"organization_id" json:"organization_id"' + ) + _SUBMITTRAININGJOBREQUEST.fields_by_name["model_name"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "model_name" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"model_name" json:"model_name"' + _SUBMITTRAININGJOBREQUEST.fields_by_name["model_version"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "model_version" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03)bson:"model_version" json:"model_version"' + ) + _SUBMITTRAININGJOBREQUEST.fields_by_name["model_type"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "model_type" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"model_type" json:"model_type"' + _SUBMITTRAININGJOBREQUEST.fields_by_name["tags"]._options = None + _SUBMITTRAININGJOBREQUEST.fields_by_name[ + "tags" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"tags" json:"tags"' + _TRAININGJOBMETADATA.fields_by_name["request"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "request" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1dbson:"request" json:"request"' + _TRAININGJOBMETADATA.fields_by_name["status"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "status" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"status" json:"status"' + _TRAININGJOBMETADATA.fields_by_name["created_on"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "created_on" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"' + _TRAININGJOBMETADATA.fields_by_name["last_modified"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "last_modified" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03)bson:"last_modified" json:"last_modified"' + ) + _TRAININGJOBMETADATA.fields_by_name["synced_model_id"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "synced_model_id" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03-bson:"synced_model_id" json:"synced_model_id"' + ) + _TRAININGJOBMETADATA.fields_by_name["id"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "id" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' + _TRAININGJOBMETADATA.fields_by_name["error_status"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "error_status" + ]._serialized_options = b'\x9a\x84\x9e\x03\'bson:"error_status" json:"error_status"' + _TRAININGJOBMETADATA.fields_by_name["training_started"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "training_started" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03/bson:"training_started" json:"training_started"' + ) + _TRAININGJOBMETADATA.fields_by_name["training_ended"]._options = None + _TRAININGJOBMETADATA.fields_by_name[ + "training_ended" + ]._serialized_options = ( + b'\x9a\x84\x9e\x03+bson:"training_ended" json:"training_ended"' + ) _MODELTYPE._serialized_start = 2200 _MODELTYPE._serialized_end = 2359 _TRAININGSTATUS._serialized_start = 2362 @@ -70,4 +119,4 @@ _DELETECOMPLETEDTRAININGJOBRESPONSE._serialized_start = 2161 _DELETECOMPLETEDTRAININGJOBRESPONSE._serialized_end = 2197 _MLTRAININGSERVICE._serialized_start = 2596 - _MLTRAININGSERVICE._serialized_end = 3241 \ No newline at end of file + _MLTRAININGSERVICE._serialized_end = 3241 diff --git a/src/viam/gen/app/mltraining/v1/ml_training_pb2.pyi b/src/viam/gen/app/mltraining/v1/ml_training_pb2.pyi index 73c8cf6c8..bcfcd4cd1 100644 --- a/src/viam/gen/app/mltraining/v1/ml_training_pb2.pyi +++ b/src/viam/gen/app/mltraining/v1/ml_training_pb2.pyi @@ -4,14 +4,16 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.timestamp_pb2 import google.rpc.status_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -19,18 +21,21 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _ModelType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _ModelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ModelType.ValueType], builtins.type): +class _ModelTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ModelType.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor MODEL_TYPE_UNSPECIFIED: _ModelType.ValueType MODEL_TYPE_SINGLE_LABEL_CLASSIFICATION: _ModelType.ValueType MODEL_TYPE_MULTI_LABEL_CLASSIFICATION: _ModelType.ValueType MODEL_TYPE_OBJECT_DETECTION: _ModelType.ValueType -class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): - ... +class ModelType(_ModelType, metaclass=_ModelTypeEnumTypeWrapper): ... + MODEL_TYPE_UNSPECIFIED: ModelType.ValueType MODEL_TYPE_SINGLE_LABEL_CLASSIFICATION: ModelType.ValueType MODEL_TYPE_MULTI_LABEL_CLASSIFICATION: ModelType.ValueType @@ -38,10 +43,15 @@ MODEL_TYPE_OBJECT_DETECTION: ModelType.ValueType global___ModelType = ModelType class _TrainingStatus: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _TrainingStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_TrainingStatus.ValueType], builtins.type): +class _TrainingStatusEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _TrainingStatus.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor TRAINING_STATUS_UNSPECIFIED: _TrainingStatus.ValueType TRAINING_STATUS_PENDING: _TrainingStatus.ValueType @@ -51,8 +61,8 @@ class _TrainingStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper. TRAINING_STATUS_CANCELED: _TrainingStatus.ValueType TRAINING_STATUS_CANCELING: _TrainingStatus.ValueType -class TrainingStatus(_TrainingStatus, metaclass=_TrainingStatusEnumTypeWrapper): - ... +class TrainingStatus(_TrainingStatus, metaclass=_TrainingStatusEnumTypeWrapper): ... + TRAINING_STATUS_UNSPECIFIED: TrainingStatus.ValueType TRAINING_STATUS_PENDING: TrainingStatus.ValueType TRAINING_STATUS_IN_PROGRESS: TrainingStatus.ValueType @@ -78,14 +88,39 @@ class SubmitTrainingJobRequest(google.protobuf.message.Message): model_type: global___ModelType.ValueType @property - def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def tags( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + dataset_id: builtins.str = ..., + organization_id: builtins.str = ..., + model_name: builtins.str = ..., + model_version: builtins.str = ..., + model_type: global___ModelType.ValueType = ..., + tags: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "dataset_id", + b"dataset_id", + "model_name", + b"model_name", + "model_type", + b"model_type", + "model_version", + b"model_version", + "organization_id", + b"organization_id", + "tags", + b"tags", + ], + ) -> None: ... - def __init__(self, *, dataset_id: builtins.str=..., organization_id: builtins.str=..., model_name: builtins.str=..., model_version: builtins.str=..., model_type: global___ModelType.ValueType=..., tags: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['dataset_id', b'dataset_id', 'model_name', b'model_name', 'model_type', b'model_type', 'model_version', b'model_version', 'organization_id', b'organization_id', 'tags', b'tags']) -> None: - ... global___SubmitTrainingJobRequest = SubmitTrainingJobRequest @typing_extensions.final @@ -94,11 +129,11 @@ class SubmitTrainingJobResponse(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___SubmitTrainingJobResponse = SubmitTrainingJobResponse @typing_extensions.final @@ -107,11 +142,11 @@ class GetTrainingJobRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetTrainingJobRequest = GetTrainingJobRequest @typing_extensions.final @@ -120,17 +155,17 @@ class GetTrainingJobResponse(google.protobuf.message.Message): METADATA_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___TrainingJobMetadata: - ... - - def __init__(self, *, metadata: global___TrainingJobMetadata | None=...) -> None: - ... + def metadata(self) -> global___TrainingJobMetadata: ... + def __init__( + self, *, metadata: global___TrainingJobMetadata | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> None: - ... global___GetTrainingJobResponse = GetTrainingJobResponse @typing_extensions.final @@ -141,11 +176,19 @@ class ListTrainingJobsRequest(google.protobuf.message.Message): organization_id: builtins.str status: global___TrainingStatus.ValueType - def __init__(self, *, organization_id: builtins.str=..., status: global___TrainingStatus.ValueType=...) -> None: - ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + status: global___TrainingStatus.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "status", b"status" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'status', b'status']) -> None: - ... global___ListTrainingJobsRequest = ListTrainingJobsRequest @typing_extensions.final @@ -154,14 +197,20 @@ class ListTrainingJobsResponse(google.protobuf.message.Message): JOBS_FIELD_NUMBER: builtins.int @property - def jobs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TrainingJobMetadata]: - ... - - def __init__(self, *, jobs: collections.abc.Iterable[global___TrainingJobMetadata] | None=...) -> None: - ... + def jobs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___TrainingJobMetadata + ]: ... + def __init__( + self, + *, + jobs: collections.abc.Iterable[global___TrainingJobMetadata] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["jobs", b"jobs"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['jobs', b'jobs']) -> None: - ... global___ListTrainingJobsResponse = ListTrainingJobsResponse @typing_extensions.final @@ -178,40 +227,76 @@ class TrainingJobMetadata(google.protobuf.message.Message): TRAINING_ENDED_FIELD_NUMBER: builtins.int @property - def request(self) -> global___SubmitTrainingJobRequest: - ... + def request(self) -> global___SubmitTrainingJobRequest: ... status: global___TrainingStatus.ValueType @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def last_modified(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def last_modified(self) -> google.protobuf.timestamp_pb2.Timestamp: ... synced_model_id: builtins.str id: builtins.str @property - def error_status(self) -> google.rpc.status_pb2.Status: - ... - + def error_status(self) -> google.rpc.status_pb2.Status: ... @property - def training_started(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def training_started(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def training_ended(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def training_ended(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + request: global___SubmitTrainingJobRequest | None = ..., + status: global___TrainingStatus.ValueType = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + last_modified: google.protobuf.timestamp_pb2.Timestamp | None = ..., + synced_model_id: builtins.str = ..., + id: builtins.str = ..., + error_status: google.rpc.status_pb2.Status | None = ..., + training_started: google.protobuf.timestamp_pb2.Timestamp | None = ..., + training_ended: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "error_status", + b"error_status", + "last_modified", + b"last_modified", + "request", + b"request", + "training_ended", + b"training_ended", + "training_started", + b"training_started", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "error_status", + b"error_status", + "id", + b"id", + "last_modified", + b"last_modified", + "request", + b"request", + "status", + b"status", + "synced_model_id", + b"synced_model_id", + "training_ended", + b"training_ended", + "training_started", + b"training_started", + ], + ) -> None: ... - def __init__(self, *, request: global___SubmitTrainingJobRequest | None=..., status: global___TrainingStatus.ValueType=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., last_modified: google.protobuf.timestamp_pb2.Timestamp | None=..., synced_model_id: builtins.str=..., id: builtins.str=..., error_status: google.rpc.status_pb2.Status | None=..., training_started: google.protobuf.timestamp_pb2.Timestamp | None=..., training_ended: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'error_status', b'error_status', 'last_modified', b'last_modified', 'request', b'request', 'training_ended', b'training_ended', 'training_started', b'training_started']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'error_status', b'error_status', 'id', b'id', 'last_modified', b'last_modified', 'request', b'request', 'status', b'status', 'synced_model_id', b'synced_model_id', 'training_ended', b'training_ended', 'training_started', b'training_started']) -> None: - ... global___TrainingJobMetadata = TrainingJobMetadata @typing_extensions.final @@ -220,19 +305,19 @@ class CancelTrainingJobRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___CancelTrainingJobRequest = CancelTrainingJobRequest @typing_extensions.final class CancelTrainingJobResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___CancelTrainingJobResponse = CancelTrainingJobResponse @typing_extensions.final @@ -241,17 +326,17 @@ class DeleteCompletedTrainingJobRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___DeleteCompletedTrainingJobRequest = DeleteCompletedTrainingJobRequest @typing_extensions.final class DeleteCompletedTrainingJobResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___DeleteCompletedTrainingJobResponse = DeleteCompletedTrainingJobResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___DeleteCompletedTrainingJobResponse = DeleteCompletedTrainingJobResponse diff --git a/src/viam/gen/app/packages/v1/packages_grpc.py b/src/viam/gen/app/packages/v1/packages_grpc.py index b2bed1b44..743b63851 100644 --- a/src/viam/gen/app/packages/v1/packages_grpc.py +++ b/src/viam/gen/app/packages/v1/packages_grpc.py @@ -1,39 +1,99 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 + from .... import app -class PackageServiceBase(abc.ABC): +class PackageServiceBase(abc.ABC): @abc.abstractmethod - async def CreatePackage(self, stream: 'grpclib.server.Stream[app.packages.v1.packages_pb2.CreatePackageRequest, app.packages.v1.packages_pb2.CreatePackageResponse]') -> None: + async def CreatePackage( + self, + stream: "grpclib.server.Stream[app.packages.v1.packages_pb2.CreatePackageRequest, app.packages.v1.packages_pb2.CreatePackageResponse]", + ) -> None: pass @abc.abstractmethod - async def DeletePackage(self, stream: 'grpclib.server.Stream[app.packages.v1.packages_pb2.DeletePackageRequest, app.packages.v1.packages_pb2.DeletePackageResponse]') -> None: + async def DeletePackage( + self, + stream: "grpclib.server.Stream[app.packages.v1.packages_pb2.DeletePackageRequest, app.packages.v1.packages_pb2.DeletePackageResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPackage(self, stream: 'grpclib.server.Stream[app.packages.v1.packages_pb2.GetPackageRequest, app.packages.v1.packages_pb2.GetPackageResponse]') -> None: + async def GetPackage( + self, + stream: "grpclib.server.Stream[app.packages.v1.packages_pb2.GetPackageRequest, app.packages.v1.packages_pb2.GetPackageResponse]", + ) -> None: pass @abc.abstractmethod - async def ListPackages(self, stream: 'grpclib.server.Stream[app.packages.v1.packages_pb2.ListPackagesRequest, app.packages.v1.packages_pb2.ListPackagesResponse]') -> None: + async def ListPackages( + self, + stream: "grpclib.server.Stream[app.packages.v1.packages_pb2.ListPackagesRequest, app.packages.v1.packages_pb2.ListPackagesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.packages.v1.PackageService/CreatePackage': grpclib.const.Handler(self.CreatePackage, grpclib.const.Cardinality.STREAM_UNARY, app.packages.v1.packages_pb2.CreatePackageRequest, app.packages.v1.packages_pb2.CreatePackageResponse), '/viam.app.packages.v1.PackageService/DeletePackage': grpclib.const.Handler(self.DeletePackage, grpclib.const.Cardinality.UNARY_UNARY, app.packages.v1.packages_pb2.DeletePackageRequest, app.packages.v1.packages_pb2.DeletePackageResponse), '/viam.app.packages.v1.PackageService/GetPackage': grpclib.const.Handler(self.GetPackage, grpclib.const.Cardinality.UNARY_UNARY, app.packages.v1.packages_pb2.GetPackageRequest, app.packages.v1.packages_pb2.GetPackageResponse), '/viam.app.packages.v1.PackageService/ListPackages': grpclib.const.Handler(self.ListPackages, grpclib.const.Cardinality.UNARY_UNARY, app.packages.v1.packages_pb2.ListPackagesRequest, app.packages.v1.packages_pb2.ListPackagesResponse)} + return { + "/viam.app.packages.v1.PackageService/CreatePackage": grpclib.const.Handler( + self.CreatePackage, + grpclib.const.Cardinality.STREAM_UNARY, + app.packages.v1.packages_pb2.CreatePackageRequest, + app.packages.v1.packages_pb2.CreatePackageResponse, + ), + "/viam.app.packages.v1.PackageService/DeletePackage": grpclib.const.Handler( + self.DeletePackage, + grpclib.const.Cardinality.UNARY_UNARY, + app.packages.v1.packages_pb2.DeletePackageRequest, + app.packages.v1.packages_pb2.DeletePackageResponse, + ), + "/viam.app.packages.v1.PackageService/GetPackage": grpclib.const.Handler( + self.GetPackage, + grpclib.const.Cardinality.UNARY_UNARY, + app.packages.v1.packages_pb2.GetPackageRequest, + app.packages.v1.packages_pb2.GetPackageResponse, + ), + "/viam.app.packages.v1.PackageService/ListPackages": grpclib.const.Handler( + self.ListPackages, + grpclib.const.Cardinality.UNARY_UNARY, + app.packages.v1.packages_pb2.ListPackagesRequest, + app.packages.v1.packages_pb2.ListPackagesResponse, + ), + } -class PackageServiceStub: +class PackageServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.CreatePackage = grpclib.client.StreamUnaryMethod(channel, '/viam.app.packages.v1.PackageService/CreatePackage', app.packages.v1.packages_pb2.CreatePackageRequest, app.packages.v1.packages_pb2.CreatePackageResponse) - self.DeletePackage = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.packages.v1.PackageService/DeletePackage', app.packages.v1.packages_pb2.DeletePackageRequest, app.packages.v1.packages_pb2.DeletePackageResponse) - self.GetPackage = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.packages.v1.PackageService/GetPackage', app.packages.v1.packages_pb2.GetPackageRequest, app.packages.v1.packages_pb2.GetPackageResponse) - self.ListPackages = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.packages.v1.PackageService/ListPackages', app.packages.v1.packages_pb2.ListPackagesRequest, app.packages.v1.packages_pb2.ListPackagesResponse) \ No newline at end of file + self.CreatePackage = grpclib.client.StreamUnaryMethod( + channel, + "/viam.app.packages.v1.PackageService/CreatePackage", + app.packages.v1.packages_pb2.CreatePackageRequest, + app.packages.v1.packages_pb2.CreatePackageResponse, + ) + self.DeletePackage = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.packages.v1.PackageService/DeletePackage", + app.packages.v1.packages_pb2.DeletePackageRequest, + app.packages.v1.packages_pb2.DeletePackageResponse, + ) + self.GetPackage = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.packages.v1.PackageService/GetPackage", + app.packages.v1.packages_pb2.GetPackageRequest, + app.packages.v1.packages_pb2.GetPackageResponse, + ) + self.ListPackages = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.packages.v1.PackageService/ListPackages", + app.packages.v1.packages_pb2.ListPackagesRequest, + app.packages.v1.packages_pb2.ListPackagesResponse, + ) diff --git a/src/viam/gen/app/packages/v1/packages_pb2.py b/src/viam/gen/app/packages/v1/packages_pb2.py index 921d77bae..762d9962a 100644 --- a/src/viam/gen/app/packages/v1/packages_pb2.py +++ b/src/viam/gen/app/packages/v1/packages_pb2.py @@ -1,26 +1,40 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eapp/packages/v1/packages.proto\x12\x14viam.app.packages.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"2\n\x08FileInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size"\xb4\x02\n\x0bPackageInfo\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x125\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x00R\x08platform\x88\x01\x01\x124\n\x05files\x18\x05 \x03(\x0b2\x1e.viam.app.packages.v1.FileInfoR\x05files\x123\n\x08metadata\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x08metadataB\x0b\n\t_platform"x\n\x14CreatePackageRequest\x127\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoH\x00R\x04info\x12\x1c\n\x08contents\x18\x02 \x01(\x0cH\x00R\x08contentsB\t\n\x07package"A\n\x15CreatePackageResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"w\n\x14DeletePackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x17\n\x15DeletePackageResponse"\xb9\x01\n\x07Package\x125\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoR\x04info\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1a\n\x08checksum\x18\x04 \x01(\tR\x08checksum\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\xe6\x01\n\x11GetPackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12$\n\x0binclude_url\x18\x03 \x01(\x08H\x00R\nincludeUrl\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x01R\x04type\x88\x01\x01\x12\x1f\n\x08platform\x18\x05 \x01(\tH\x02R\x08platform\x88\x01\x01B\x0e\n\x0c_include_urlB\x07\n\x05_typeB\x0b\n\t_platform"M\n\x12GetPackageResponse\x127\n\x07package\x18\x01 \x01(\x0b2\x1d.viam.app.packages.v1.PackageR\x07package"\x86\x02\n\x13ListPackagesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1d\n\x07version\x18\x03 \x01(\tH\x01R\x07version\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x02R\x04type\x88\x01\x01\x12$\n\x0binclude_url\x18\x05 \x01(\x08H\x03R\nincludeUrl\x88\x01\x01B\x07\n\x05_nameB\n\n\x08_versionB\x07\n\x05_typeB\x0e\n\x0c_include_url"Q\n\x14ListPackagesResponse\x129\n\x08packages\x18\x01 \x03(\x0b2\x1d.viam.app.packages.v1.PackageR\x08packages*\x94\x01\n\x0bPackageType\x12\x1c\n\x18PACKAGE_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14PACKAGE_TYPE_ARCHIVE\x10\x01\x12\x19\n\x15PACKAGE_TYPE_ML_MODEL\x10\x02\x12\x17\n\x13PACKAGE_TYPE_MODULE\x10\x03\x12\x19\n\x15PACKAGE_TYPE_SLAM_MAP\x10\x042\xa0\x04\n\x0ePackageService\x12\x87\x01\n\rCreatePackage\x12*.viam.app.packages.v1.CreatePackageRequest\x1a+.viam.app.packages.v1.CreatePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create(\x01\x12\x85\x01\n\rDeletePackage\x12*.viam.app.packages.v1.DeletePackageRequest\x1a+.viam.app.packages.v1.DeletePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete\x12y\n\nGetPackage\x12\'.viam.app.packages.v1.GetPackageRequest\x1a(.viam.app.packages.v1.GetPackageResponse"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get\x12\x80\x01\n\x0cListPackages\x12).viam.app.packages.v1.ListPackagesRequest\x1a*.viam.app.packages.v1.ListPackagesResponse"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/listB!Z\x1fgo.viam.com/api/app/packages/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1eapp/packages/v1/packages.proto\x12\x14viam.app.packages.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"2\n\x08FileInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x04R\x04size"\xb4\x02\n\x0bPackageInfo\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x125\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12\x1f\n\x08platform\x18\x07 \x01(\tH\x00R\x08platform\x88\x01\x01\x124\n\x05files\x18\x05 \x03(\x0b2\x1e.viam.app.packages.v1.FileInfoR\x05files\x123\n\x08metadata\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x08metadataB\x0b\n\t_platform"x\n\x14CreatePackageRequest\x127\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoH\x00R\x04info\x12\x1c\n\x08contents\x18\x02 \x01(\x0cH\x00R\x08contentsB\t\n\x07package"A\n\x15CreatePackageResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version"w\n\x14DeletePackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x17\n\x15DeletePackageResponse"\xb9\x01\n\x07Package\x125\n\x04info\x18\x01 \x01(\x0b2!.viam.app.packages.v1.PackageInfoR\x04info\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1a\n\x08checksum\x18\x04 \x01(\tR\x08checksum\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\xe6\x01\n\x11GetPackageRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12$\n\x0binclude_url\x18\x03 \x01(\x08H\x00R\nincludeUrl\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x01R\x04type\x88\x01\x01\x12\x1f\n\x08platform\x18\x05 \x01(\tH\x02R\x08platform\x88\x01\x01B\x0e\n\x0c_include_urlB\x07\n\x05_typeB\x0b\n\t_platform"M\n\x12GetPackageResponse\x127\n\x07package\x18\x01 \x01(\x0b2\x1d.viam.app.packages.v1.PackageR\x07package"\x86\x02\n\x13ListPackagesRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12\x1d\n\x07version\x18\x03 \x01(\tH\x01R\x07version\x88\x01\x01\x12:\n\x04type\x18\x04 \x01(\x0e2!.viam.app.packages.v1.PackageTypeH\x02R\x04type\x88\x01\x01\x12$\n\x0binclude_url\x18\x05 \x01(\x08H\x03R\nincludeUrl\x88\x01\x01B\x07\n\x05_nameB\n\n\x08_versionB\x07\n\x05_typeB\x0e\n\x0c_include_url"Q\n\x14ListPackagesResponse\x129\n\x08packages\x18\x01 \x03(\x0b2\x1d.viam.app.packages.v1.PackageR\x08packages*\x94\x01\n\x0bPackageType\x12\x1c\n\x18PACKAGE_TYPE_UNSPECIFIED\x10\x00\x12\x18\n\x14PACKAGE_TYPE_ARCHIVE\x10\x01\x12\x19\n\x15PACKAGE_TYPE_ML_MODEL\x10\x02\x12\x17\n\x13PACKAGE_TYPE_MODULE\x10\x03\x12\x19\n\x15PACKAGE_TYPE_SLAM_MAP\x10\x042\xa0\x04\n\x0ePackageService\x12\x87\x01\n\rCreatePackage\x12*.viam.app.packages.v1.CreatePackageRequest\x1a+.viam.app.packages.v1.CreatePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create(\x01\x12\x85\x01\n\rDeletePackage\x12*.viam.app.packages.v1.DeletePackageRequest\x1a+.viam.app.packages.v1.DeletePackageResponse"\x1b\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete\x12y\n\nGetPackage\x12\'.viam.app.packages.v1.GetPackageRequest\x1a(.viam.app.packages.v1.GetPackageResponse"\x18\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get\x12\x80\x01\n\x0cListPackages\x12).viam.app.packages.v1.ListPackagesRequest\x1a*.viam.app.packages.v1.ListPackagesResponse"\x19\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/listB!Z\x1fgo.viam.com/api/app/packages/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.packages.v1.packages_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "app.packages.v1.packages_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1fgo.viam.com/api/app/packages/v1' - _PACKAGESERVICE.methods_by_name['CreatePackage']._options = None - _PACKAGESERVICE.methods_by_name['CreatePackage']._serialized_options = b'\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create' - _PACKAGESERVICE.methods_by_name['DeletePackage']._options = None - _PACKAGESERVICE.methods_by_name['DeletePackage']._serialized_options = b'\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete' - _PACKAGESERVICE.methods_by_name['GetPackage']._options = None - _PACKAGESERVICE.methods_by_name['GetPackage']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get' - _PACKAGESERVICE.methods_by_name['ListPackages']._options = None - _PACKAGESERVICE.methods_by_name['ListPackages']._serialized_options = b'\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/list' + DESCRIPTOR._serialized_options = b"Z\x1fgo.viam.com/api/app/packages/v1" + _PACKAGESERVICE.methods_by_name["CreatePackage"]._options = None + _PACKAGESERVICE.methods_by_name[ + "CreatePackage" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x15"\x13/packages/v1/create' + _PACKAGESERVICE.methods_by_name["DeletePackage"]._options = None + _PACKAGESERVICE.methods_by_name[ + "DeletePackage" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\x15*\x13/packages/v1/delete" + _PACKAGESERVICE.methods_by_name["GetPackage"]._options = None + _PACKAGESERVICE.methods_by_name[ + "GetPackage" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\x12\x12\x10/packages/v1/get" + _PACKAGESERVICE.methods_by_name["ListPackages"]._options = None + _PACKAGESERVICE.methods_by_name[ + "ListPackages" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\x13\x12\x11/packages/v1/list" _PACKAGETYPE._serialized_start = 1696 _PACKAGETYPE._serialized_end = 1844 _FILEINFO._serialized_start = 149 @@ -46,4 +60,4 @@ _LISTPACKAGESRESPONSE._serialized_start = 1612 _LISTPACKAGESRESPONSE._serialized_end = 1693 _PACKAGESERVICE._serialized_start = 1847 - _PACKAGESERVICE._serialized_end = 2391 \ No newline at end of file + _PACKAGESERVICE._serialized_end = 2391 diff --git a/src/viam/gen/app/packages/v1/packages_pb2.pyi b/src/viam/gen/app/packages/v1/packages_pb2.pyi index 3ff47134e..a274ad47c 100644 --- a/src/viam/gen/app/packages/v1/packages_pb2.pyi +++ b/src/viam/gen/app/packages/v1/packages_pb2.pyi @@ -4,14 +4,16 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -19,10 +21,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PackageType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PackageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PackageType.ValueType], builtins.type): +class _PackageTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PackageType.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor PACKAGE_TYPE_UNSPECIFIED: _PackageType.ValueType PACKAGE_TYPE_ARCHIVE: _PackageType.ValueType @@ -30,8 +35,8 @@ class _PackageTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._En PACKAGE_TYPE_MODULE: _PackageType.ValueType PACKAGE_TYPE_SLAM_MAP: _PackageType.ValueType -class PackageType(_PackageType, metaclass=_PackageTypeEnumTypeWrapper): - ... +class PackageType(_PackageType, metaclass=_PackageTypeEnumTypeWrapper): ... + PACKAGE_TYPE_UNSPECIFIED: PackageType.ValueType PACKAGE_TYPE_ARCHIVE: PackageType.ValueType PACKAGE_TYPE_ML_MODEL: PackageType.ValueType @@ -47,11 +52,13 @@ class FileInfo(google.protobuf.message.Message): name: builtins.str size: builtins.int - def __init__(self, *, name: builtins.str=..., size: builtins.int=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., size: builtins.int = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name", "size", b"size"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'size', b'size']) -> None: - ... global___FileInfo = FileInfo @typing_extensions.final @@ -71,24 +78,55 @@ class PackageInfo(google.protobuf.message.Message): platform: builtins.str @property - def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FileInfo]: - ... - + def files( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___FileInfo + ]: ... @property - def metadata(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., version: builtins.str=..., type: global___PackageType.ValueType=..., platform: builtins.str | None=..., files: collections.abc.Iterable[global___FileInfo] | None=..., metadata: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def metadata(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + name: builtins.str = ..., + version: builtins.str = ..., + type: global___PackageType.ValueType = ..., + platform: builtins.str | None = ..., + files: collections.abc.Iterable[global___FileInfo] | None = ..., + metadata: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_platform", b"_platform", "metadata", b"metadata", "platform", b"platform" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_platform", + b"_platform", + "files", + b"files", + "metadata", + b"metadata", + "name", + b"name", + "organization_id", + b"organization_id", + "platform", + b"platform", + "type", + b"type", + "version", + b"version", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_platform", b"_platform"] + ) -> typing_extensions.Literal["platform"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['_platform', b'_platform', 'metadata', b'metadata', 'platform', b'platform']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_platform', b'_platform', 'files', b'files', 'metadata', b'metadata', 'name', b'name', 'organization_id', b'organization_id', 'platform', b'platform', 'type', b'type', 'version', b'version']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_platform', b'_platform']) -> typing_extensions.Literal['platform'] | None: - ... global___PackageInfo = PackageInfo @typing_extensions.final @@ -98,22 +136,29 @@ class CreatePackageRequest(google.protobuf.message.Message): CONTENTS_FIELD_NUMBER: builtins.int @property - def info(self) -> global___PackageInfo: - ... + def info(self) -> global___PackageInfo: ... contents: builtins.bytes - '.tar.gz file' - - def __init__(self, *, info: global___PackageInfo | None=..., contents: builtins.bytes=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['contents', b'contents', 'info', b'info', 'package', b'package']) -> builtins.bool: - ... + ".tar.gz file" + + def __init__( + self, *, info: global___PackageInfo | None = ..., contents: builtins.bytes = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "contents", b"contents", "info", b"info", "package", b"package" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "contents", b"contents", "info", b"info", "package", b"package" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["package", b"package"] + ) -> typing_extensions.Literal["info", "contents"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['contents', b'contents', 'info', b'info', 'package', b'package']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['package', b'package']) -> typing_extensions.Literal['info', 'contents'] | None: - ... global___CreatePackageRequest = CreatePackageRequest @typing_extensions.final @@ -121,17 +166,20 @@ class CreatePackageResponse(google.protobuf.message.Message): """Returns the package ID and version which are populated in GetPackageRequest and DeletePackageRequest to retrieve or delete this package. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int VERSION_FIELD_NUMBER: builtins.int id: builtins.str version: builtins.str - def __init__(self, *, id: builtins.str=..., version: builtins.str=...) -> None: - ... + def __init__( + self, *, id: builtins.str = ..., version: builtins.str = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "version", b"version"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'version', b'version']) -> None: - ... global___CreatePackageResponse = CreatePackageResponse @typing_extensions.final @@ -144,19 +192,28 @@ class DeletePackageRequest(google.protobuf.message.Message): version: builtins.str type: global___PackageType.ValueType - def __init__(self, *, id: builtins.str=..., version: builtins.str=..., type: global___PackageType.ValueType=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + version: builtins.str = ..., + type: global___PackageType.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", b"id", "type", b"type", "version", b"version" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'type', b'type', 'version', b'version']) -> None: - ... global___DeletePackageRequest = DeletePackageRequest @typing_extensions.final class DeletePackageResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeletePackageResponse = DeletePackageResponse @typing_extensions.final @@ -169,24 +226,45 @@ class Package(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int @property - def info(self) -> global___PackageInfo: - ... + def info(self) -> global___PackageInfo: ... url: builtins.str @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... checksum: builtins.str id: builtins.str - def __init__(self, *, info: global___PackageInfo | None=..., url: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., checksum: builtins.str=..., id: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'info', b'info']) -> builtins.bool: - ... + def __init__( + self, + *, + info: global___PackageInfo | None = ..., + url: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + checksum: builtins.str = ..., + id: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_on", b"created_on", "info", b"info" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "checksum", + b"checksum", + "created_on", + b"created_on", + "id", + b"id", + "info", + b"info", + "url", + b"url", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['checksum', b'checksum', 'created_on', b'created_on', 'id', b'id', 'info', b'info', 'url', b'url']) -> None: - ... global___Package = Package @typing_extensions.final @@ -203,26 +281,66 @@ class GetPackageRequest(google.protobuf.message.Message): type: global___PackageType.ValueType platform: builtins.str - def __init__(self, *, id: builtins.str=..., version: builtins.str=..., include_url: builtins.bool | None=..., type: global___PackageType.ValueType | None=..., platform: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_include_url', b'_include_url', '_platform', b'_platform', '_type', b'_type', 'include_url', b'include_url', 'platform', b'platform', 'type', b'type']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_include_url', b'_include_url', '_platform', b'_platform', '_type', b'_type', 'id', b'id', 'include_url', b'include_url', 'platform', b'platform', 'type', b'type', 'version', b'version']) -> None: - ... - + def __init__( + self, + *, + id: builtins.str = ..., + version: builtins.str = ..., + include_url: builtins.bool | None = ..., + type: global___PackageType.ValueType | None = ..., + platform: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_include_url", + b"_include_url", + "_platform", + b"_platform", + "_type", + b"_type", + "include_url", + b"include_url", + "platform", + b"platform", + "type", + b"type", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_include_url", + b"_include_url", + "_platform", + b"_platform", + "_type", + b"_type", + "id", + b"id", + "include_url", + b"include_url", + "platform", + b"platform", + "type", + b"type", + "version", + b"version", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_include_url', b'_include_url']) -> typing_extensions.Literal['include_url'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_include_url", b"_include_url"] + ) -> typing_extensions.Literal["include_url"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_platform', b'_platform']) -> typing_extensions.Literal['platform'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_platform", b"_platform"] + ) -> typing_extensions.Literal["platform"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_type', b'_type']) -> typing_extensions.Literal['type'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_type", b"_type"] + ) -> typing_extensions.Literal["type"] | None: ... + global___GetPackageRequest = GetPackageRequest @typing_extensions.final @@ -231,17 +349,15 @@ class GetPackageResponse(google.protobuf.message.Message): PACKAGE_FIELD_NUMBER: builtins.int @property - def package(self) -> global___Package: - ... - - def __init__(self, *, package: global___Package | None=...) -> None: - ... + def package(self) -> global___Package: ... + def __init__(self, *, package: global___Package | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["package", b"package"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["package", b"package"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['package', b'package']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['package', b'package']) -> None: - ... global___GetPackageResponse = GetPackageResponse @typing_extensions.final @@ -258,30 +374,76 @@ class ListPackagesRequest(google.protobuf.message.Message): type: global___PackageType.ValueType include_url: builtins.bool - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str | None=..., version: builtins.str | None=..., type: global___PackageType.ValueType | None=..., include_url: builtins.bool | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_include_url', b'_include_url', '_name', b'_name', '_type', b'_type', '_version', b'_version', 'include_url', b'include_url', 'name', b'name', 'type', b'type', 'version', b'version']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_include_url', b'_include_url', '_name', b'_name', '_type', b'_type', '_version', b'_version', 'include_url', b'include_url', 'name', b'name', 'organization_id', b'organization_id', 'type', b'type', 'version', b'version']) -> None: - ... - + def __init__( + self, + *, + organization_id: builtins.str = ..., + name: builtins.str | None = ..., + version: builtins.str | None = ..., + type: global___PackageType.ValueType | None = ..., + include_url: builtins.bool | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_include_url", + b"_include_url", + "_name", + b"_name", + "_type", + b"_type", + "_version", + b"_version", + "include_url", + b"include_url", + "name", + b"name", + "type", + b"type", + "version", + b"version", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_include_url", + b"_include_url", + "_name", + b"_name", + "_type", + b"_type", + "_version", + b"_version", + "include_url", + b"include_url", + "name", + b"name", + "organization_id", + b"organization_id", + "type", + b"type", + "version", + b"version", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_include_url', b'_include_url']) -> typing_extensions.Literal['include_url'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_include_url", b"_include_url"] + ) -> typing_extensions.Literal["include_url"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_name', b'_name']) -> typing_extensions.Literal['name'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_name", b"_name"] + ) -> typing_extensions.Literal["name"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_type', b'_type']) -> typing_extensions.Literal['type'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_type", b"_type"] + ) -> typing_extensions.Literal["type"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_version', b'_version']) -> typing_extensions.Literal['version'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_version", b"_version"] + ) -> typing_extensions.Literal["version"] | None: ... + global___ListPackagesRequest = ListPackagesRequest @typing_extensions.final @@ -290,12 +452,16 @@ class ListPackagesResponse(google.protobuf.message.Message): PACKAGES_FIELD_NUMBER: builtins.int @property - def packages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Package]: - ... - - def __init__(self, *, packages: collections.abc.Iterable[global___Package] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['packages', b'packages']) -> None: - ... -global___ListPackagesResponse = ListPackagesResponse \ No newline at end of file + def packages( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Package + ]: ... + def __init__( + self, *, packages: collections.abc.Iterable[global___Package] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["packages", b"packages"] + ) -> None: ... + +global___ListPackagesResponse = ListPackagesResponse diff --git a/src/viam/gen/app/v1/app_grpc.py b/src/viam/gen/app/v1/app_grpc.py index 8b991aaed..22c067e5f 100644 --- a/src/viam/gen/app/v1/app_grpc.py +++ b/src/viam/gen/app/v1/app_grpc.py @@ -1,365 +1,1333 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from ... import app -from ... import common import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -from ... import tagger -class AppServiceBase(abc.ABC): +from ... import app, common, tagger + +class AppServiceBase(abc.ABC): @abc.abstractmethod - async def GetUserIDByEmail(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse]') -> None: + async def GetUserIDByEmail( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateOrganization(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse]') -> None: + async def CreateOrganization( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse]", + ) -> None: pass @abc.abstractmethod - async def ListOrganizations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse]') -> None: + async def ListOrganizations( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetOrganizationsWithAccessToLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse]') -> None: + async def GetOrganizationsWithAccessToLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def ListOrganizationsByUser(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse]') -> None: + async def ListOrganizationsByUser( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse]", + ) -> None: pass @abc.abstractmethod - async def GetOrganization(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse]') -> None: + async def GetOrganization( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse]", + ) -> None: pass @abc.abstractmethod - async def GetOrganizationNamespaceAvailability(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse]') -> None: + async def GetOrganizationNamespaceAvailability( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateOrganization(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse]') -> None: + async def UpdateOrganization( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteOrganization(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse]') -> None: + async def DeleteOrganization( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse]", + ) -> None: pass @abc.abstractmethod - async def ListOrganizationMembers(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse]') -> None: + async def ListOrganizationMembers( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateOrganizationInvite(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse]') -> None: + async def CreateOrganizationInvite( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateOrganizationInviteAuthorizations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse]') -> None: + async def UpdateOrganizationInviteAuthorizations( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteOrganizationMember(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse]') -> None: + async def DeleteOrganizationMember( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteOrganizationInvite(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse]') -> None: + async def DeleteOrganizationInvite( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse]", + ) -> None: pass @abc.abstractmethod - async def ResendOrganizationInvite(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse]') -> None: + async def ResendOrganizationInvite( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse]') -> None: + async def CreateLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def GetLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse]') -> None: + async def GetLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse]') -> None: + async def UpdateLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse]') -> None: + async def DeleteLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def ListLocations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse]') -> None: + async def ListLocations( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse]", + ) -> None: pass @abc.abstractmethod - async def ShareLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse]') -> None: + async def ShareLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def UnshareLocation(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse]') -> None: + async def UnshareLocation( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def LocationAuth(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse]') -> None: + async def LocationAuth( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateLocationSecret(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse]') -> None: + async def CreateLocationSecret( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteLocationSecret(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse]') -> None: + async def DeleteLocationSecret( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobot(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse]') -> None: + async def GetRobot( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRoverRentalRobots(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse]') -> None: + async def GetRoverRentalRobots( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobotParts(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse]') -> None: + async def GetRobotParts( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]') -> None: + async def GetRobotPart( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]') -> None: + async def GetRobotPartLogs( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse]", + ) -> None: pass @abc.abstractmethod - async def TailRobotPartLogs(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse]') -> None: + async def TailRobotPartLogs( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobotPartHistory(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse]') -> None: + async def GetRobotPartHistory( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse]') -> None: + async def UpdateRobotPart( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse]", + ) -> None: pass @abc.abstractmethod - async def NewRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse]') -> None: + async def NewRobotPart( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteRobotPart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse]') -> None: + async def DeleteRobotPart( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRobotAPIKeys(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse]') -> None: + async def GetRobotAPIKeys( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse]", + ) -> None: pass @abc.abstractmethod - async def MarkPartAsMain(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse]') -> None: + async def MarkPartAsMain( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse]", + ) -> None: pass @abc.abstractmethod - async def MarkPartForRestart(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse]') -> None: + async def MarkPartForRestart( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateRobotPartSecret(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse]') -> None: + async def CreateRobotPartSecret( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteRobotPartSecret(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse]') -> None: + async def DeleteRobotPartSecret( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse]", + ) -> None: pass @abc.abstractmethod - async def ListRobots(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse]') -> None: + async def ListRobots( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse]", + ) -> None: pass @abc.abstractmethod - async def NewRobot(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse]') -> None: + async def NewRobot( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateRobot(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse]') -> None: + async def UpdateRobot( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteRobot(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse]') -> None: + async def DeleteRobot( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse]", + ) -> None: pass @abc.abstractmethod - async def ListFragments(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse]') -> None: + async def ListFragments( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetFragment(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse]') -> None: + async def GetFragment( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateFragment(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse]') -> None: + async def CreateFragment( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateFragment(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse]') -> None: + async def UpdateFragment( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteFragment(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse]') -> None: + async def DeleteFragment( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse]", + ) -> None: pass @abc.abstractmethod - async def AddRole(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse]') -> None: + async def AddRole( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveRole(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse]') -> None: + async def RemoveRole( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse]", + ) -> None: pass @abc.abstractmethod - async def ChangeRole(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse]') -> None: + async def ChangeRole( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse]", + ) -> None: pass @abc.abstractmethod - async def ListAuthorizations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse]') -> None: + async def ListAuthorizations( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse]", + ) -> None: pass @abc.abstractmethod - async def CheckPermissions(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse]') -> None: + async def CheckPermissions( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetRegistryItem(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse]') -> None: + async def GetRegistryItem( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateRegistryItem(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse]') -> None: + async def CreateRegistryItem( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateRegistryItem(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse]') -> None: + async def UpdateRegistryItem( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse]", + ) -> None: pass @abc.abstractmethod - async def ListRegistryItems(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse]') -> None: + async def ListRegistryItems( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteRegistryItem(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse]') -> None: + async def DeleteRegistryItem( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateModule(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse]') -> None: + async def CreateModule( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse]", + ) -> None: pass @abc.abstractmethod - async def UpdateModule(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse]') -> None: + async def UpdateModule( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse]", + ) -> None: pass @abc.abstractmethod - async def UploadModuleFile(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse]') -> None: + async def UploadModuleFile( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse]", + ) -> None: pass @abc.abstractmethod - async def GetModule(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse]') -> None: + async def GetModule( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse]", + ) -> None: pass @abc.abstractmethod - async def ListModules(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse]') -> None: + async def ListModules( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse]') -> None: + async def CreateKey( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse]", + ) -> None: pass @abc.abstractmethod - async def DeleteKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse]') -> None: + async def DeleteKey( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse]", + ) -> None: pass @abc.abstractmethod - async def ListKeys(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse]') -> None: + async def ListKeys( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse]", + ) -> None: pass @abc.abstractmethod - async def RotateKey(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse]') -> None: + async def RotateKey( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse]", + ) -> None: pass @abc.abstractmethod - async def CreateKeyFromExistingKeyAuthorizations(self, stream: 'grpclib.server.Stream[app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse]') -> None: + async def CreateKeyFromExistingKeyAuthorizations( + self, + stream: "grpclib.server.Stream[app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.AppService/GetUserIDByEmail': grpclib.const.Handler(self.GetUserIDByEmail, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse), '/viam.app.v1.AppService/CreateOrganization': grpclib.const.Handler(self.CreateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse), '/viam.app.v1.AppService/ListOrganizations': grpclib.const.Handler(self.ListOrganizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse), '/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation': grpclib.const.Handler(self.GetOrganizationsWithAccessToLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse), '/viam.app.v1.AppService/ListOrganizationsByUser': grpclib.const.Handler(self.ListOrganizationsByUser, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse), '/viam.app.v1.AppService/GetOrganization': grpclib.const.Handler(self.GetOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse), '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability': grpclib.const.Handler(self.GetOrganizationNamespaceAvailability, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse), '/viam.app.v1.AppService/UpdateOrganization': grpclib.const.Handler(self.UpdateOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse), '/viam.app.v1.AppService/DeleteOrganization': grpclib.const.Handler(self.DeleteOrganization, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse), '/viam.app.v1.AppService/ListOrganizationMembers': grpclib.const.Handler(self.ListOrganizationMembers, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse), '/viam.app.v1.AppService/CreateOrganizationInvite': grpclib.const.Handler(self.CreateOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse), '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations': grpclib.const.Handler(self.UpdateOrganizationInviteAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse), '/viam.app.v1.AppService/DeleteOrganizationMember': grpclib.const.Handler(self.DeleteOrganizationMember, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse), '/viam.app.v1.AppService/DeleteOrganizationInvite': grpclib.const.Handler(self.DeleteOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse), '/viam.app.v1.AppService/ResendOrganizationInvite': grpclib.const.Handler(self.ResendOrganizationInvite, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse), '/viam.app.v1.AppService/CreateLocation': grpclib.const.Handler(self.CreateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse), '/viam.app.v1.AppService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse), '/viam.app.v1.AppService/UpdateLocation': grpclib.const.Handler(self.UpdateLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse), '/viam.app.v1.AppService/DeleteLocation': grpclib.const.Handler(self.DeleteLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse), '/viam.app.v1.AppService/ListLocations': grpclib.const.Handler(self.ListLocations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse), '/viam.app.v1.AppService/ShareLocation': grpclib.const.Handler(self.ShareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse), '/viam.app.v1.AppService/UnshareLocation': grpclib.const.Handler(self.UnshareLocation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse), '/viam.app.v1.AppService/LocationAuth': grpclib.const.Handler(self.LocationAuth, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse), '/viam.app.v1.AppService/CreateLocationSecret': grpclib.const.Handler(self.CreateLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse), '/viam.app.v1.AppService/DeleteLocationSecret': grpclib.const.Handler(self.DeleteLocationSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse), '/viam.app.v1.AppService/GetRobot': grpclib.const.Handler(self.GetRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse), '/viam.app.v1.AppService/GetRoverRentalRobots': grpclib.const.Handler(self.GetRoverRentalRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse), '/viam.app.v1.AppService/GetRobotParts': grpclib.const.Handler(self.GetRobotParts, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse), '/viam.app.v1.AppService/GetRobotPart': grpclib.const.Handler(self.GetRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse), '/viam.app.v1.AppService/GetRobotPartLogs': grpclib.const.Handler(self.GetRobotPartLogs, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse), '/viam.app.v1.AppService/TailRobotPartLogs': grpclib.const.Handler(self.TailRobotPartLogs, grpclib.const.Cardinality.UNARY_STREAM, app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse), '/viam.app.v1.AppService/GetRobotPartHistory': grpclib.const.Handler(self.GetRobotPartHistory, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse), '/viam.app.v1.AppService/UpdateRobotPart': grpclib.const.Handler(self.UpdateRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse), '/viam.app.v1.AppService/NewRobotPart': grpclib.const.Handler(self.NewRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse), '/viam.app.v1.AppService/DeleteRobotPart': grpclib.const.Handler(self.DeleteRobotPart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse), '/viam.app.v1.AppService/GetRobotAPIKeys': grpclib.const.Handler(self.GetRobotAPIKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse), '/viam.app.v1.AppService/MarkPartAsMain': grpclib.const.Handler(self.MarkPartAsMain, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse), '/viam.app.v1.AppService/MarkPartForRestart': grpclib.const.Handler(self.MarkPartForRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse), '/viam.app.v1.AppService/CreateRobotPartSecret': grpclib.const.Handler(self.CreateRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse), '/viam.app.v1.AppService/DeleteRobotPartSecret': grpclib.const.Handler(self.DeleteRobotPartSecret, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse), '/viam.app.v1.AppService/ListRobots': grpclib.const.Handler(self.ListRobots, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse), '/viam.app.v1.AppService/NewRobot': grpclib.const.Handler(self.NewRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse), '/viam.app.v1.AppService/UpdateRobot': grpclib.const.Handler(self.UpdateRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse), '/viam.app.v1.AppService/DeleteRobot': grpclib.const.Handler(self.DeleteRobot, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse), '/viam.app.v1.AppService/ListFragments': grpclib.const.Handler(self.ListFragments, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse), '/viam.app.v1.AppService/GetFragment': grpclib.const.Handler(self.GetFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse), '/viam.app.v1.AppService/CreateFragment': grpclib.const.Handler(self.CreateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse), '/viam.app.v1.AppService/UpdateFragment': grpclib.const.Handler(self.UpdateFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse), '/viam.app.v1.AppService/DeleteFragment': grpclib.const.Handler(self.DeleteFragment, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse), '/viam.app.v1.AppService/AddRole': grpclib.const.Handler(self.AddRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse), '/viam.app.v1.AppService/RemoveRole': grpclib.const.Handler(self.RemoveRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse), '/viam.app.v1.AppService/ChangeRole': grpclib.const.Handler(self.ChangeRole, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse), '/viam.app.v1.AppService/ListAuthorizations': grpclib.const.Handler(self.ListAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse), '/viam.app.v1.AppService/CheckPermissions': grpclib.const.Handler(self.CheckPermissions, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse), '/viam.app.v1.AppService/GetRegistryItem': grpclib.const.Handler(self.GetRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse), '/viam.app.v1.AppService/CreateRegistryItem': grpclib.const.Handler(self.CreateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse), '/viam.app.v1.AppService/UpdateRegistryItem': grpclib.const.Handler(self.UpdateRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse), '/viam.app.v1.AppService/ListRegistryItems': grpclib.const.Handler(self.ListRegistryItems, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse), '/viam.app.v1.AppService/DeleteRegistryItem': grpclib.const.Handler(self.DeleteRegistryItem, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse), '/viam.app.v1.AppService/CreateModule': grpclib.const.Handler(self.CreateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse), '/viam.app.v1.AppService/UpdateModule': grpclib.const.Handler(self.UpdateModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse), '/viam.app.v1.AppService/UploadModuleFile': grpclib.const.Handler(self.UploadModuleFile, grpclib.const.Cardinality.STREAM_UNARY, app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse), '/viam.app.v1.AppService/GetModule': grpclib.const.Handler(self.GetModule, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse), '/viam.app.v1.AppService/ListModules': grpclib.const.Handler(self.ListModules, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse), '/viam.app.v1.AppService/CreateKey': grpclib.const.Handler(self.CreateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse), '/viam.app.v1.AppService/DeleteKey': grpclib.const.Handler(self.DeleteKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse), '/viam.app.v1.AppService/ListKeys': grpclib.const.Handler(self.ListKeys, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse), '/viam.app.v1.AppService/RotateKey': grpclib.const.Handler(self.RotateKey, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse), '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations': grpclib.const.Handler(self.CreateKeyFromExistingKeyAuthorizations, grpclib.const.Cardinality.UNARY_UNARY, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse)} + return { + "/viam.app.v1.AppService/GetUserIDByEmail": grpclib.const.Handler( + self.GetUserIDByEmail, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetUserIDByEmailRequest, + app.v1.app_pb2.GetUserIDByEmailResponse, + ), + "/viam.app.v1.AppService/CreateOrganization": grpclib.const.Handler( + self.CreateOrganization, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateOrganizationRequest, + app.v1.app_pb2.CreateOrganizationResponse, + ), + "/viam.app.v1.AppService/ListOrganizations": grpclib.const.Handler( + self.ListOrganizations, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListOrganizationsRequest, + app.v1.app_pb2.ListOrganizationsResponse, + ), + "/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation": grpclib.const.Handler( + self.GetOrganizationsWithAccessToLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, + app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse, + ), + "/viam.app.v1.AppService/ListOrganizationsByUser": grpclib.const.Handler( + self.ListOrganizationsByUser, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListOrganizationsByUserRequest, + app.v1.app_pb2.ListOrganizationsByUserResponse, + ), + "/viam.app.v1.AppService/GetOrganization": grpclib.const.Handler( + self.GetOrganization, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetOrganizationRequest, + app.v1.app_pb2.GetOrganizationResponse, + ), + "/viam.app.v1.AppService/GetOrganizationNamespaceAvailability": grpclib.const.Handler( + self.GetOrganizationNamespaceAvailability, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, + app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse, + ), + "/viam.app.v1.AppService/UpdateOrganization": grpclib.const.Handler( + self.UpdateOrganization, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateOrganizationRequest, + app.v1.app_pb2.UpdateOrganizationResponse, + ), + "/viam.app.v1.AppService/DeleteOrganization": grpclib.const.Handler( + self.DeleteOrganization, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteOrganizationRequest, + app.v1.app_pb2.DeleteOrganizationResponse, + ), + "/viam.app.v1.AppService/ListOrganizationMembers": grpclib.const.Handler( + self.ListOrganizationMembers, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListOrganizationMembersRequest, + app.v1.app_pb2.ListOrganizationMembersResponse, + ), + "/viam.app.v1.AppService/CreateOrganizationInvite": grpclib.const.Handler( + self.CreateOrganizationInvite, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateOrganizationInviteRequest, + app.v1.app_pb2.CreateOrganizationInviteResponse, + ), + "/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations": grpclib.const.Handler( + self.UpdateOrganizationInviteAuthorizations, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, + app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse, + ), + "/viam.app.v1.AppService/DeleteOrganizationMember": grpclib.const.Handler( + self.DeleteOrganizationMember, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteOrganizationMemberRequest, + app.v1.app_pb2.DeleteOrganizationMemberResponse, + ), + "/viam.app.v1.AppService/DeleteOrganizationInvite": grpclib.const.Handler( + self.DeleteOrganizationInvite, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteOrganizationInviteRequest, + app.v1.app_pb2.DeleteOrganizationInviteResponse, + ), + "/viam.app.v1.AppService/ResendOrganizationInvite": grpclib.const.Handler( + self.ResendOrganizationInvite, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ResendOrganizationInviteRequest, + app.v1.app_pb2.ResendOrganizationInviteResponse, + ), + "/viam.app.v1.AppService/CreateLocation": grpclib.const.Handler( + self.CreateLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateLocationRequest, + app.v1.app_pb2.CreateLocationResponse, + ), + "/viam.app.v1.AppService/GetLocation": grpclib.const.Handler( + self.GetLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetLocationRequest, + app.v1.app_pb2.GetLocationResponse, + ), + "/viam.app.v1.AppService/UpdateLocation": grpclib.const.Handler( + self.UpdateLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateLocationRequest, + app.v1.app_pb2.UpdateLocationResponse, + ), + "/viam.app.v1.AppService/DeleteLocation": grpclib.const.Handler( + self.DeleteLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteLocationRequest, + app.v1.app_pb2.DeleteLocationResponse, + ), + "/viam.app.v1.AppService/ListLocations": grpclib.const.Handler( + self.ListLocations, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListLocationsRequest, + app.v1.app_pb2.ListLocationsResponse, + ), + "/viam.app.v1.AppService/ShareLocation": grpclib.const.Handler( + self.ShareLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ShareLocationRequest, + app.v1.app_pb2.ShareLocationResponse, + ), + "/viam.app.v1.AppService/UnshareLocation": grpclib.const.Handler( + self.UnshareLocation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UnshareLocationRequest, + app.v1.app_pb2.UnshareLocationResponse, + ), + "/viam.app.v1.AppService/LocationAuth": grpclib.const.Handler( + self.LocationAuth, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.LocationAuthRequest, + app.v1.app_pb2.LocationAuthResponse, + ), + "/viam.app.v1.AppService/CreateLocationSecret": grpclib.const.Handler( + self.CreateLocationSecret, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateLocationSecretRequest, + app.v1.app_pb2.CreateLocationSecretResponse, + ), + "/viam.app.v1.AppService/DeleteLocationSecret": grpclib.const.Handler( + self.DeleteLocationSecret, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteLocationSecretRequest, + app.v1.app_pb2.DeleteLocationSecretResponse, + ), + "/viam.app.v1.AppService/GetRobot": grpclib.const.Handler( + self.GetRobot, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotRequest, + app.v1.app_pb2.GetRobotResponse, + ), + "/viam.app.v1.AppService/GetRoverRentalRobots": grpclib.const.Handler( + self.GetRoverRentalRobots, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRoverRentalRobotsRequest, + app.v1.app_pb2.GetRoverRentalRobotsResponse, + ), + "/viam.app.v1.AppService/GetRobotParts": grpclib.const.Handler( + self.GetRobotParts, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotPartsRequest, + app.v1.app_pb2.GetRobotPartsResponse, + ), + "/viam.app.v1.AppService/GetRobotPart": grpclib.const.Handler( + self.GetRobotPart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotPartRequest, + app.v1.app_pb2.GetRobotPartResponse, + ), + "/viam.app.v1.AppService/GetRobotPartLogs": grpclib.const.Handler( + self.GetRobotPartLogs, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotPartLogsRequest, + app.v1.app_pb2.GetRobotPartLogsResponse, + ), + "/viam.app.v1.AppService/TailRobotPartLogs": grpclib.const.Handler( + self.TailRobotPartLogs, + grpclib.const.Cardinality.UNARY_STREAM, + app.v1.app_pb2.TailRobotPartLogsRequest, + app.v1.app_pb2.TailRobotPartLogsResponse, + ), + "/viam.app.v1.AppService/GetRobotPartHistory": grpclib.const.Handler( + self.GetRobotPartHistory, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotPartHistoryRequest, + app.v1.app_pb2.GetRobotPartHistoryResponse, + ), + "/viam.app.v1.AppService/UpdateRobotPart": grpclib.const.Handler( + self.UpdateRobotPart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateRobotPartRequest, + app.v1.app_pb2.UpdateRobotPartResponse, + ), + "/viam.app.v1.AppService/NewRobotPart": grpclib.const.Handler( + self.NewRobotPart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.NewRobotPartRequest, + app.v1.app_pb2.NewRobotPartResponse, + ), + "/viam.app.v1.AppService/DeleteRobotPart": grpclib.const.Handler( + self.DeleteRobotPart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteRobotPartRequest, + app.v1.app_pb2.DeleteRobotPartResponse, + ), + "/viam.app.v1.AppService/GetRobotAPIKeys": grpclib.const.Handler( + self.GetRobotAPIKeys, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRobotAPIKeysRequest, + app.v1.app_pb2.GetRobotAPIKeysResponse, + ), + "/viam.app.v1.AppService/MarkPartAsMain": grpclib.const.Handler( + self.MarkPartAsMain, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.MarkPartAsMainRequest, + app.v1.app_pb2.MarkPartAsMainResponse, + ), + "/viam.app.v1.AppService/MarkPartForRestart": grpclib.const.Handler( + self.MarkPartForRestart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.MarkPartForRestartRequest, + app.v1.app_pb2.MarkPartForRestartResponse, + ), + "/viam.app.v1.AppService/CreateRobotPartSecret": grpclib.const.Handler( + self.CreateRobotPartSecret, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateRobotPartSecretRequest, + app.v1.app_pb2.CreateRobotPartSecretResponse, + ), + "/viam.app.v1.AppService/DeleteRobotPartSecret": grpclib.const.Handler( + self.DeleteRobotPartSecret, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteRobotPartSecretRequest, + app.v1.app_pb2.DeleteRobotPartSecretResponse, + ), + "/viam.app.v1.AppService/ListRobots": grpclib.const.Handler( + self.ListRobots, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListRobotsRequest, + app.v1.app_pb2.ListRobotsResponse, + ), + "/viam.app.v1.AppService/NewRobot": grpclib.const.Handler( + self.NewRobot, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.NewRobotRequest, + app.v1.app_pb2.NewRobotResponse, + ), + "/viam.app.v1.AppService/UpdateRobot": grpclib.const.Handler( + self.UpdateRobot, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateRobotRequest, + app.v1.app_pb2.UpdateRobotResponse, + ), + "/viam.app.v1.AppService/DeleteRobot": grpclib.const.Handler( + self.DeleteRobot, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteRobotRequest, + app.v1.app_pb2.DeleteRobotResponse, + ), + "/viam.app.v1.AppService/ListFragments": grpclib.const.Handler( + self.ListFragments, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListFragmentsRequest, + app.v1.app_pb2.ListFragmentsResponse, + ), + "/viam.app.v1.AppService/GetFragment": grpclib.const.Handler( + self.GetFragment, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetFragmentRequest, + app.v1.app_pb2.GetFragmentResponse, + ), + "/viam.app.v1.AppService/CreateFragment": grpclib.const.Handler( + self.CreateFragment, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateFragmentRequest, + app.v1.app_pb2.CreateFragmentResponse, + ), + "/viam.app.v1.AppService/UpdateFragment": grpclib.const.Handler( + self.UpdateFragment, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateFragmentRequest, + app.v1.app_pb2.UpdateFragmentResponse, + ), + "/viam.app.v1.AppService/DeleteFragment": grpclib.const.Handler( + self.DeleteFragment, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteFragmentRequest, + app.v1.app_pb2.DeleteFragmentResponse, + ), + "/viam.app.v1.AppService/AddRole": grpclib.const.Handler( + self.AddRole, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.AddRoleRequest, + app.v1.app_pb2.AddRoleResponse, + ), + "/viam.app.v1.AppService/RemoveRole": grpclib.const.Handler( + self.RemoveRole, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.RemoveRoleRequest, + app.v1.app_pb2.RemoveRoleResponse, + ), + "/viam.app.v1.AppService/ChangeRole": grpclib.const.Handler( + self.ChangeRole, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ChangeRoleRequest, + app.v1.app_pb2.ChangeRoleResponse, + ), + "/viam.app.v1.AppService/ListAuthorizations": grpclib.const.Handler( + self.ListAuthorizations, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListAuthorizationsRequest, + app.v1.app_pb2.ListAuthorizationsResponse, + ), + "/viam.app.v1.AppService/CheckPermissions": grpclib.const.Handler( + self.CheckPermissions, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CheckPermissionsRequest, + app.v1.app_pb2.CheckPermissionsResponse, + ), + "/viam.app.v1.AppService/GetRegistryItem": grpclib.const.Handler( + self.GetRegistryItem, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetRegistryItemRequest, + app.v1.app_pb2.GetRegistryItemResponse, + ), + "/viam.app.v1.AppService/CreateRegistryItem": grpclib.const.Handler( + self.CreateRegistryItem, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateRegistryItemRequest, + app.v1.app_pb2.CreateRegistryItemResponse, + ), + "/viam.app.v1.AppService/UpdateRegistryItem": grpclib.const.Handler( + self.UpdateRegistryItem, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateRegistryItemRequest, + app.v1.app_pb2.UpdateRegistryItemResponse, + ), + "/viam.app.v1.AppService/ListRegistryItems": grpclib.const.Handler( + self.ListRegistryItems, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListRegistryItemsRequest, + app.v1.app_pb2.ListRegistryItemsResponse, + ), + "/viam.app.v1.AppService/DeleteRegistryItem": grpclib.const.Handler( + self.DeleteRegistryItem, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteRegistryItemRequest, + app.v1.app_pb2.DeleteRegistryItemResponse, + ), + "/viam.app.v1.AppService/CreateModule": grpclib.const.Handler( + self.CreateModule, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateModuleRequest, + app.v1.app_pb2.CreateModuleResponse, + ), + "/viam.app.v1.AppService/UpdateModule": grpclib.const.Handler( + self.UpdateModule, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.UpdateModuleRequest, + app.v1.app_pb2.UpdateModuleResponse, + ), + "/viam.app.v1.AppService/UploadModuleFile": grpclib.const.Handler( + self.UploadModuleFile, + grpclib.const.Cardinality.STREAM_UNARY, + app.v1.app_pb2.UploadModuleFileRequest, + app.v1.app_pb2.UploadModuleFileResponse, + ), + "/viam.app.v1.AppService/GetModule": grpclib.const.Handler( + self.GetModule, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.GetModuleRequest, + app.v1.app_pb2.GetModuleResponse, + ), + "/viam.app.v1.AppService/ListModules": grpclib.const.Handler( + self.ListModules, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListModulesRequest, + app.v1.app_pb2.ListModulesResponse, + ), + "/viam.app.v1.AppService/CreateKey": grpclib.const.Handler( + self.CreateKey, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateKeyRequest, + app.v1.app_pb2.CreateKeyResponse, + ), + "/viam.app.v1.AppService/DeleteKey": grpclib.const.Handler( + self.DeleteKey, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.DeleteKeyRequest, + app.v1.app_pb2.DeleteKeyResponse, + ), + "/viam.app.v1.AppService/ListKeys": grpclib.const.Handler( + self.ListKeys, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.ListKeysRequest, + app.v1.app_pb2.ListKeysResponse, + ), + "/viam.app.v1.AppService/RotateKey": grpclib.const.Handler( + self.RotateKey, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.RotateKeyRequest, + app.v1.app_pb2.RotateKeyResponse, + ), + "/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations": grpclib.const.Handler( + self.CreateKeyFromExistingKeyAuthorizations, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, + app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse, + ), + } -class AppServiceStub: +class AppServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetUserIDByEmail = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetUserIDByEmail', app.v1.app_pb2.GetUserIDByEmailRequest, app.v1.app_pb2.GetUserIDByEmailResponse) - self.CreateOrganization = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateOrganization', app.v1.app_pb2.CreateOrganizationRequest, app.v1.app_pb2.CreateOrganizationResponse) - self.ListOrganizations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListOrganizations', app.v1.app_pb2.ListOrganizationsRequest, app.v1.app_pb2.ListOrganizationsResponse) - self.GetOrganizationsWithAccessToLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation', app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse) - self.ListOrganizationsByUser = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListOrganizationsByUser', app.v1.app_pb2.ListOrganizationsByUserRequest, app.v1.app_pb2.ListOrganizationsByUserResponse) - self.GetOrganization = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetOrganization', app.v1.app_pb2.GetOrganizationRequest, app.v1.app_pb2.GetOrganizationResponse) - self.GetOrganizationNamespaceAvailability = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetOrganizationNamespaceAvailability', app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse) - self.UpdateOrganization = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateOrganization', app.v1.app_pb2.UpdateOrganizationRequest, app.v1.app_pb2.UpdateOrganizationResponse) - self.DeleteOrganization = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteOrganization', app.v1.app_pb2.DeleteOrganizationRequest, app.v1.app_pb2.DeleteOrganizationResponse) - self.ListOrganizationMembers = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListOrganizationMembers', app.v1.app_pb2.ListOrganizationMembersRequest, app.v1.app_pb2.ListOrganizationMembersResponse) - self.CreateOrganizationInvite = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateOrganizationInvite', app.v1.app_pb2.CreateOrganizationInviteRequest, app.v1.app_pb2.CreateOrganizationInviteResponse) - self.UpdateOrganizationInviteAuthorizations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations', app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse) - self.DeleteOrganizationMember = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteOrganizationMember', app.v1.app_pb2.DeleteOrganizationMemberRequest, app.v1.app_pb2.DeleteOrganizationMemberResponse) - self.DeleteOrganizationInvite = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteOrganizationInvite', app.v1.app_pb2.DeleteOrganizationInviteRequest, app.v1.app_pb2.DeleteOrganizationInviteResponse) - self.ResendOrganizationInvite = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ResendOrganizationInvite', app.v1.app_pb2.ResendOrganizationInviteRequest, app.v1.app_pb2.ResendOrganizationInviteResponse) - self.CreateLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateLocation', app.v1.app_pb2.CreateLocationRequest, app.v1.app_pb2.CreateLocationResponse) - self.GetLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetLocation', app.v1.app_pb2.GetLocationRequest, app.v1.app_pb2.GetLocationResponse) - self.UpdateLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateLocation', app.v1.app_pb2.UpdateLocationRequest, app.v1.app_pb2.UpdateLocationResponse) - self.DeleteLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteLocation', app.v1.app_pb2.DeleteLocationRequest, app.v1.app_pb2.DeleteLocationResponse) - self.ListLocations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListLocations', app.v1.app_pb2.ListLocationsRequest, app.v1.app_pb2.ListLocationsResponse) - self.ShareLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ShareLocation', app.v1.app_pb2.ShareLocationRequest, app.v1.app_pb2.ShareLocationResponse) - self.UnshareLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UnshareLocation', app.v1.app_pb2.UnshareLocationRequest, app.v1.app_pb2.UnshareLocationResponse) - self.LocationAuth = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/LocationAuth', app.v1.app_pb2.LocationAuthRequest, app.v1.app_pb2.LocationAuthResponse) - self.CreateLocationSecret = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateLocationSecret', app.v1.app_pb2.CreateLocationSecretRequest, app.v1.app_pb2.CreateLocationSecretResponse) - self.DeleteLocationSecret = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteLocationSecret', app.v1.app_pb2.DeleteLocationSecretRequest, app.v1.app_pb2.DeleteLocationSecretResponse) - self.GetRobot = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobot', app.v1.app_pb2.GetRobotRequest, app.v1.app_pb2.GetRobotResponse) - self.GetRoverRentalRobots = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRoverRentalRobots', app.v1.app_pb2.GetRoverRentalRobotsRequest, app.v1.app_pb2.GetRoverRentalRobotsResponse) - self.GetRobotParts = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotParts', app.v1.app_pb2.GetRobotPartsRequest, app.v1.app_pb2.GetRobotPartsResponse) - self.GetRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPart', app.v1.app_pb2.GetRobotPartRequest, app.v1.app_pb2.GetRobotPartResponse) - self.GetRobotPartLogs = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartLogs', app.v1.app_pb2.GetRobotPartLogsRequest, app.v1.app_pb2.GetRobotPartLogsResponse) - self.TailRobotPartLogs = grpclib.client.UnaryStreamMethod(channel, '/viam.app.v1.AppService/TailRobotPartLogs', app.v1.app_pb2.TailRobotPartLogsRequest, app.v1.app_pb2.TailRobotPartLogsResponse) - self.GetRobotPartHistory = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotPartHistory', app.v1.app_pb2.GetRobotPartHistoryRequest, app.v1.app_pb2.GetRobotPartHistoryResponse) - self.UpdateRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateRobotPart', app.v1.app_pb2.UpdateRobotPartRequest, app.v1.app_pb2.UpdateRobotPartResponse) - self.NewRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/NewRobotPart', app.v1.app_pb2.NewRobotPartRequest, app.v1.app_pb2.NewRobotPartResponse) - self.DeleteRobotPart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteRobotPart', app.v1.app_pb2.DeleteRobotPartRequest, app.v1.app_pb2.DeleteRobotPartResponse) - self.GetRobotAPIKeys = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRobotAPIKeys', app.v1.app_pb2.GetRobotAPIKeysRequest, app.v1.app_pb2.GetRobotAPIKeysResponse) - self.MarkPartAsMain = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/MarkPartAsMain', app.v1.app_pb2.MarkPartAsMainRequest, app.v1.app_pb2.MarkPartAsMainResponse) - self.MarkPartForRestart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/MarkPartForRestart', app.v1.app_pb2.MarkPartForRestartRequest, app.v1.app_pb2.MarkPartForRestartResponse) - self.CreateRobotPartSecret = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateRobotPartSecret', app.v1.app_pb2.CreateRobotPartSecretRequest, app.v1.app_pb2.CreateRobotPartSecretResponse) - self.DeleteRobotPartSecret = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteRobotPartSecret', app.v1.app_pb2.DeleteRobotPartSecretRequest, app.v1.app_pb2.DeleteRobotPartSecretResponse) - self.ListRobots = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListRobots', app.v1.app_pb2.ListRobotsRequest, app.v1.app_pb2.ListRobotsResponse) - self.NewRobot = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/NewRobot', app.v1.app_pb2.NewRobotRequest, app.v1.app_pb2.NewRobotResponse) - self.UpdateRobot = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateRobot', app.v1.app_pb2.UpdateRobotRequest, app.v1.app_pb2.UpdateRobotResponse) - self.DeleteRobot = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteRobot', app.v1.app_pb2.DeleteRobotRequest, app.v1.app_pb2.DeleteRobotResponse) - self.ListFragments = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListFragments', app.v1.app_pb2.ListFragmentsRequest, app.v1.app_pb2.ListFragmentsResponse) - self.GetFragment = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetFragment', app.v1.app_pb2.GetFragmentRequest, app.v1.app_pb2.GetFragmentResponse) - self.CreateFragment = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateFragment', app.v1.app_pb2.CreateFragmentRequest, app.v1.app_pb2.CreateFragmentResponse) - self.UpdateFragment = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateFragment', app.v1.app_pb2.UpdateFragmentRequest, app.v1.app_pb2.UpdateFragmentResponse) - self.DeleteFragment = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteFragment', app.v1.app_pb2.DeleteFragmentRequest, app.v1.app_pb2.DeleteFragmentResponse) - self.AddRole = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/AddRole', app.v1.app_pb2.AddRoleRequest, app.v1.app_pb2.AddRoleResponse) - self.RemoveRole = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/RemoveRole', app.v1.app_pb2.RemoveRoleRequest, app.v1.app_pb2.RemoveRoleResponse) - self.ChangeRole = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ChangeRole', app.v1.app_pb2.ChangeRoleRequest, app.v1.app_pb2.ChangeRoleResponse) - self.ListAuthorizations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListAuthorizations', app.v1.app_pb2.ListAuthorizationsRequest, app.v1.app_pb2.ListAuthorizationsResponse) - self.CheckPermissions = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CheckPermissions', app.v1.app_pb2.CheckPermissionsRequest, app.v1.app_pb2.CheckPermissionsResponse) - self.GetRegistryItem = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetRegistryItem', app.v1.app_pb2.GetRegistryItemRequest, app.v1.app_pb2.GetRegistryItemResponse) - self.CreateRegistryItem = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateRegistryItem', app.v1.app_pb2.CreateRegistryItemRequest, app.v1.app_pb2.CreateRegistryItemResponse) - self.UpdateRegistryItem = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateRegistryItem', app.v1.app_pb2.UpdateRegistryItemRequest, app.v1.app_pb2.UpdateRegistryItemResponse) - self.ListRegistryItems = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListRegistryItems', app.v1.app_pb2.ListRegistryItemsRequest, app.v1.app_pb2.ListRegistryItemsResponse) - self.DeleteRegistryItem = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteRegistryItem', app.v1.app_pb2.DeleteRegistryItemRequest, app.v1.app_pb2.DeleteRegistryItemResponse) - self.CreateModule = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateModule', app.v1.app_pb2.CreateModuleRequest, app.v1.app_pb2.CreateModuleResponse) - self.UpdateModule = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/UpdateModule', app.v1.app_pb2.UpdateModuleRequest, app.v1.app_pb2.UpdateModuleResponse) - self.UploadModuleFile = grpclib.client.StreamUnaryMethod(channel, '/viam.app.v1.AppService/UploadModuleFile', app.v1.app_pb2.UploadModuleFileRequest, app.v1.app_pb2.UploadModuleFileResponse) - self.GetModule = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/GetModule', app.v1.app_pb2.GetModuleRequest, app.v1.app_pb2.GetModuleResponse) - self.ListModules = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListModules', app.v1.app_pb2.ListModulesRequest, app.v1.app_pb2.ListModulesResponse) - self.CreateKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateKey', app.v1.app_pb2.CreateKeyRequest, app.v1.app_pb2.CreateKeyResponse) - self.DeleteKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/DeleteKey', app.v1.app_pb2.DeleteKeyRequest, app.v1.app_pb2.DeleteKeyResponse) - self.ListKeys = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/ListKeys', app.v1.app_pb2.ListKeysRequest, app.v1.app_pb2.ListKeysResponse) - self.RotateKey = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/RotateKey', app.v1.app_pb2.RotateKeyRequest, app.v1.app_pb2.RotateKeyResponse) - self.CreateKeyFromExistingKeyAuthorizations = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations', app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse) \ No newline at end of file + self.GetUserIDByEmail = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetUserIDByEmail", + app.v1.app_pb2.GetUserIDByEmailRequest, + app.v1.app_pb2.GetUserIDByEmailResponse, + ) + self.CreateOrganization = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateOrganization", + app.v1.app_pb2.CreateOrganizationRequest, + app.v1.app_pb2.CreateOrganizationResponse, + ) + self.ListOrganizations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListOrganizations", + app.v1.app_pb2.ListOrganizationsRequest, + app.v1.app_pb2.ListOrganizationsResponse, + ) + self.GetOrganizationsWithAccessToLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetOrganizationsWithAccessToLocation", + app.v1.app_pb2.GetOrganizationsWithAccessToLocationRequest, + app.v1.app_pb2.GetOrganizationsWithAccessToLocationResponse, + ) + self.ListOrganizationsByUser = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListOrganizationsByUser", + app.v1.app_pb2.ListOrganizationsByUserRequest, + app.v1.app_pb2.ListOrganizationsByUserResponse, + ) + self.GetOrganization = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetOrganization", + app.v1.app_pb2.GetOrganizationRequest, + app.v1.app_pb2.GetOrganizationResponse, + ) + self.GetOrganizationNamespaceAvailability = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetOrganizationNamespaceAvailability", + app.v1.app_pb2.GetOrganizationNamespaceAvailabilityRequest, + app.v1.app_pb2.GetOrganizationNamespaceAvailabilityResponse, + ) + self.UpdateOrganization = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateOrganization", + app.v1.app_pb2.UpdateOrganizationRequest, + app.v1.app_pb2.UpdateOrganizationResponse, + ) + self.DeleteOrganization = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteOrganization", + app.v1.app_pb2.DeleteOrganizationRequest, + app.v1.app_pb2.DeleteOrganizationResponse, + ) + self.ListOrganizationMembers = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListOrganizationMembers", + app.v1.app_pb2.ListOrganizationMembersRequest, + app.v1.app_pb2.ListOrganizationMembersResponse, + ) + self.CreateOrganizationInvite = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateOrganizationInvite", + app.v1.app_pb2.CreateOrganizationInviteRequest, + app.v1.app_pb2.CreateOrganizationInviteResponse, + ) + self.UpdateOrganizationInviteAuthorizations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateOrganizationInviteAuthorizations", + app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsRequest, + app.v1.app_pb2.UpdateOrganizationInviteAuthorizationsResponse, + ) + self.DeleteOrganizationMember = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteOrganizationMember", + app.v1.app_pb2.DeleteOrganizationMemberRequest, + app.v1.app_pb2.DeleteOrganizationMemberResponse, + ) + self.DeleteOrganizationInvite = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteOrganizationInvite", + app.v1.app_pb2.DeleteOrganizationInviteRequest, + app.v1.app_pb2.DeleteOrganizationInviteResponse, + ) + self.ResendOrganizationInvite = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ResendOrganizationInvite", + app.v1.app_pb2.ResendOrganizationInviteRequest, + app.v1.app_pb2.ResendOrganizationInviteResponse, + ) + self.CreateLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateLocation", + app.v1.app_pb2.CreateLocationRequest, + app.v1.app_pb2.CreateLocationResponse, + ) + self.GetLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetLocation", + app.v1.app_pb2.GetLocationRequest, + app.v1.app_pb2.GetLocationResponse, + ) + self.UpdateLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateLocation", + app.v1.app_pb2.UpdateLocationRequest, + app.v1.app_pb2.UpdateLocationResponse, + ) + self.DeleteLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteLocation", + app.v1.app_pb2.DeleteLocationRequest, + app.v1.app_pb2.DeleteLocationResponse, + ) + self.ListLocations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListLocations", + app.v1.app_pb2.ListLocationsRequest, + app.v1.app_pb2.ListLocationsResponse, + ) + self.ShareLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ShareLocation", + app.v1.app_pb2.ShareLocationRequest, + app.v1.app_pb2.ShareLocationResponse, + ) + self.UnshareLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UnshareLocation", + app.v1.app_pb2.UnshareLocationRequest, + app.v1.app_pb2.UnshareLocationResponse, + ) + self.LocationAuth = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/LocationAuth", + app.v1.app_pb2.LocationAuthRequest, + app.v1.app_pb2.LocationAuthResponse, + ) + self.CreateLocationSecret = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateLocationSecret", + app.v1.app_pb2.CreateLocationSecretRequest, + app.v1.app_pb2.CreateLocationSecretResponse, + ) + self.DeleteLocationSecret = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteLocationSecret", + app.v1.app_pb2.DeleteLocationSecretRequest, + app.v1.app_pb2.DeleteLocationSecretResponse, + ) + self.GetRobot = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobot", + app.v1.app_pb2.GetRobotRequest, + app.v1.app_pb2.GetRobotResponse, + ) + self.GetRoverRentalRobots = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRoverRentalRobots", + app.v1.app_pb2.GetRoverRentalRobotsRequest, + app.v1.app_pb2.GetRoverRentalRobotsResponse, + ) + self.GetRobotParts = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobotParts", + app.v1.app_pb2.GetRobotPartsRequest, + app.v1.app_pb2.GetRobotPartsResponse, + ) + self.GetRobotPart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobotPart", + app.v1.app_pb2.GetRobotPartRequest, + app.v1.app_pb2.GetRobotPartResponse, + ) + self.GetRobotPartLogs = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobotPartLogs", + app.v1.app_pb2.GetRobotPartLogsRequest, + app.v1.app_pb2.GetRobotPartLogsResponse, + ) + self.TailRobotPartLogs = grpclib.client.UnaryStreamMethod( + channel, + "/viam.app.v1.AppService/TailRobotPartLogs", + app.v1.app_pb2.TailRobotPartLogsRequest, + app.v1.app_pb2.TailRobotPartLogsResponse, + ) + self.GetRobotPartHistory = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobotPartHistory", + app.v1.app_pb2.GetRobotPartHistoryRequest, + app.v1.app_pb2.GetRobotPartHistoryResponse, + ) + self.UpdateRobotPart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateRobotPart", + app.v1.app_pb2.UpdateRobotPartRequest, + app.v1.app_pb2.UpdateRobotPartResponse, + ) + self.NewRobotPart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/NewRobotPart", + app.v1.app_pb2.NewRobotPartRequest, + app.v1.app_pb2.NewRobotPartResponse, + ) + self.DeleteRobotPart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteRobotPart", + app.v1.app_pb2.DeleteRobotPartRequest, + app.v1.app_pb2.DeleteRobotPartResponse, + ) + self.GetRobotAPIKeys = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRobotAPIKeys", + app.v1.app_pb2.GetRobotAPIKeysRequest, + app.v1.app_pb2.GetRobotAPIKeysResponse, + ) + self.MarkPartAsMain = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/MarkPartAsMain", + app.v1.app_pb2.MarkPartAsMainRequest, + app.v1.app_pb2.MarkPartAsMainResponse, + ) + self.MarkPartForRestart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/MarkPartForRestart", + app.v1.app_pb2.MarkPartForRestartRequest, + app.v1.app_pb2.MarkPartForRestartResponse, + ) + self.CreateRobotPartSecret = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateRobotPartSecret", + app.v1.app_pb2.CreateRobotPartSecretRequest, + app.v1.app_pb2.CreateRobotPartSecretResponse, + ) + self.DeleteRobotPartSecret = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteRobotPartSecret", + app.v1.app_pb2.DeleteRobotPartSecretRequest, + app.v1.app_pb2.DeleteRobotPartSecretResponse, + ) + self.ListRobots = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListRobots", + app.v1.app_pb2.ListRobotsRequest, + app.v1.app_pb2.ListRobotsResponse, + ) + self.NewRobot = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/NewRobot", + app.v1.app_pb2.NewRobotRequest, + app.v1.app_pb2.NewRobotResponse, + ) + self.UpdateRobot = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateRobot", + app.v1.app_pb2.UpdateRobotRequest, + app.v1.app_pb2.UpdateRobotResponse, + ) + self.DeleteRobot = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteRobot", + app.v1.app_pb2.DeleteRobotRequest, + app.v1.app_pb2.DeleteRobotResponse, + ) + self.ListFragments = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListFragments", + app.v1.app_pb2.ListFragmentsRequest, + app.v1.app_pb2.ListFragmentsResponse, + ) + self.GetFragment = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetFragment", + app.v1.app_pb2.GetFragmentRequest, + app.v1.app_pb2.GetFragmentResponse, + ) + self.CreateFragment = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateFragment", + app.v1.app_pb2.CreateFragmentRequest, + app.v1.app_pb2.CreateFragmentResponse, + ) + self.UpdateFragment = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateFragment", + app.v1.app_pb2.UpdateFragmentRequest, + app.v1.app_pb2.UpdateFragmentResponse, + ) + self.DeleteFragment = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteFragment", + app.v1.app_pb2.DeleteFragmentRequest, + app.v1.app_pb2.DeleteFragmentResponse, + ) + self.AddRole = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/AddRole", + app.v1.app_pb2.AddRoleRequest, + app.v1.app_pb2.AddRoleResponse, + ) + self.RemoveRole = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/RemoveRole", + app.v1.app_pb2.RemoveRoleRequest, + app.v1.app_pb2.RemoveRoleResponse, + ) + self.ChangeRole = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ChangeRole", + app.v1.app_pb2.ChangeRoleRequest, + app.v1.app_pb2.ChangeRoleResponse, + ) + self.ListAuthorizations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListAuthorizations", + app.v1.app_pb2.ListAuthorizationsRequest, + app.v1.app_pb2.ListAuthorizationsResponse, + ) + self.CheckPermissions = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CheckPermissions", + app.v1.app_pb2.CheckPermissionsRequest, + app.v1.app_pb2.CheckPermissionsResponse, + ) + self.GetRegistryItem = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetRegistryItem", + app.v1.app_pb2.GetRegistryItemRequest, + app.v1.app_pb2.GetRegistryItemResponse, + ) + self.CreateRegistryItem = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateRegistryItem", + app.v1.app_pb2.CreateRegistryItemRequest, + app.v1.app_pb2.CreateRegistryItemResponse, + ) + self.UpdateRegistryItem = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateRegistryItem", + app.v1.app_pb2.UpdateRegistryItemRequest, + app.v1.app_pb2.UpdateRegistryItemResponse, + ) + self.ListRegistryItems = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListRegistryItems", + app.v1.app_pb2.ListRegistryItemsRequest, + app.v1.app_pb2.ListRegistryItemsResponse, + ) + self.DeleteRegistryItem = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteRegistryItem", + app.v1.app_pb2.DeleteRegistryItemRequest, + app.v1.app_pb2.DeleteRegistryItemResponse, + ) + self.CreateModule = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateModule", + app.v1.app_pb2.CreateModuleRequest, + app.v1.app_pb2.CreateModuleResponse, + ) + self.UpdateModule = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/UpdateModule", + app.v1.app_pb2.UpdateModuleRequest, + app.v1.app_pb2.UpdateModuleResponse, + ) + self.UploadModuleFile = grpclib.client.StreamUnaryMethod( + channel, + "/viam.app.v1.AppService/UploadModuleFile", + app.v1.app_pb2.UploadModuleFileRequest, + app.v1.app_pb2.UploadModuleFileResponse, + ) + self.GetModule = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/GetModule", + app.v1.app_pb2.GetModuleRequest, + app.v1.app_pb2.GetModuleResponse, + ) + self.ListModules = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListModules", + app.v1.app_pb2.ListModulesRequest, + app.v1.app_pb2.ListModulesResponse, + ) + self.CreateKey = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateKey", + app.v1.app_pb2.CreateKeyRequest, + app.v1.app_pb2.CreateKeyResponse, + ) + self.DeleteKey = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/DeleteKey", + app.v1.app_pb2.DeleteKeyRequest, + app.v1.app_pb2.DeleteKeyResponse, + ) + self.ListKeys = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/ListKeys", + app.v1.app_pb2.ListKeysRequest, + app.v1.app_pb2.ListKeysResponse, + ) + self.RotateKey = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/RotateKey", + app.v1.app_pb2.RotateKeyRequest, + app.v1.app_pb2.RotateKeyResponse, + ) + self.CreateKeyFromExistingKeyAuthorizations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.AppService/CreateKeyFromExistingKeyAuthorizations", + app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsRequest, + app.v1.app_pb2.CreateKeyFromExistingKeyAuthorizationsResponse, + ) diff --git a/src/viam/gen/app/v1/app_pb2.py b/src/viam/gen/app/v1/app_pb2.py index e9eb7226f..823431023 100644 --- a/src/viam/gen/app/v1/app_pb2.py +++ b/src/viam/gen/app/v1/app_pb2.py @@ -1,86 +1,157 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ...app.packages.v1 import packages_pb2 as app_dot_packages_dot_v1_dot_packages__pb2 -from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 + +from ...app.packages.v1 import packages_pb2 as app_dot_packages_dot_v1_dot_packages__pb2 +from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1eapp/packages/v1/packages.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xc1\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\x0berrors_only\x18\x02 \x01(\x08B\x02\x18\x01R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x16\n\x06levels\x18\x05 \x03(\tR\x06levelsB\t\n\x07_filterB\r\n\x0b_page_token"p\n\x18GetRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"I\n\x19TailRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"[\n\x17GetRobotAPIKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xa1\x01\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"\x94\x01\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"-\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions"\xb7\x06\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x12;\n\x1atotal_external_robot_usage\x18\r \x01(\x03R\x17totalExternalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12I\n!total_external_organization_usage\x18\x0e \x01(\x03R\x1etotalExternalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadata\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\n\n\x08metadata"1\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xc6\x01\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility"\x1c\n\x1aUpdateRegistryItemResponse"\x96\x03\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_token"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xef4\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x10app/v1/app.proto\x12\x0bviam.app.v1\x1a\x1eapp/packages/v1/packages.proto\x1a\x16common/v1/common.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16tagger/v1/tagger.proto"\xec\x02\n\x05Robot\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12@\n\x08location\x18\x03 \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"location" json:"location"R\x08location\x12g\n\x0blast_access\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12Q\n\ncreated_on\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn"\xd3\x07\n\tRobotPart\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12?\n\x08dns_name\x18\n \x01(\tB$\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"R\x07dnsName\x12B\n\x06secret\x18\x03 \x01(\tB*\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"R\x06secret\x124\n\x05robot\x18\x04 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12A\n\x0blocation_id\x18\x0c \x01(\tB \x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"R\nlocationId\x12b\n\x0crobot_config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructB&\x9a\x84\x9e\x03!bson:"config" json:"robot_config"R\x0brobotConfig\x12g\n\x0blast_access\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB*\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"R\nlastAccess\x12\x7f\n\x12user_supplied_info\x18\x07 \x01(\x0b2\x17.google.protobuf.StructB8\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"R\x10userSuppliedInfo\x12C\n\tmain_part\x18\x08 \x01(\x08B&\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"R\x08mainPart\x12\x12\n\x04fqdn\x18\t \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x0b \x01(\tR\tlocalFqdn\x12Q\n\ncreated_on\x18\r \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12H\n\x07secrets\x18\x0e \x03(\x0b2\x19.viam.app.v1.SharedSecretB\x13\x9a\x84\x9e\x03\x0ebson:"secrets"R\x07secrets"\x93\x02\n\x15RobotPartHistoryEntry\x120\n\x04part\x18\x01 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"part" json:"part"R\x04part\x124\n\x05robot\x18\x02 \x01(\tB\x1e\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"R\x05robot\x12L\n\x04when\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB\x1c\x9a\x84\x9e\x03\x17bson:"when" json:"when"R\x04when\x12D\n\x03old\x18\x04 \x01(\x0b2\x16.viam.app.v1.RobotPartB\x1a\x9a\x84\x9e\x03\x15bson:"old" json:"old"R\x03old"\x1a\n\x18ListOrganizationsRequest"\xde\x01\n\x0cOrganization\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12)\n\x10public_namespace\x18\x04 \x01(\tR\x0fpublicNamespace\x12%\n\x0edefault_region\x18\x05 \x01(\tR\rdefaultRegion\x12\x15\n\x03cid\x18\x06 \x01(\tH\x00R\x03cid\x88\x01\x01B\x06\n\x04_cid"\xcf\x01\n\x12OrganizationMember\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId\x12\x16\n\x06emails\x18\x02 \x03(\tR\x06emails\x129\n\ndate_added\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tdateAdded\x12>\n\nlast_login\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\tlastLogin\x88\x01\x01B\r\n\x0b_last_login"\\\n\x19ListOrganizationsResponse\x12?\n\rorganizations\x18\x01 \x03(\x0b2\x19.viam.app.v1.OrganizationR\rorganizations"\xd2\x01\n\x12OrganizationInvite\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12B\n\x0eauthorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"/\n\x19CreateOrganizationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"[\n\x1aCreateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"A\n\x16GetOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"X\n\x17GetOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"X\n+GetOrganizationNamespaceAvailabilityRequest\x12)\n\x10public_namespace\x18\x01 \x01(\tR\x0fpublicNamespace"L\n,GetOrganizationNamespaceAvailabilityResponse\x12\x1c\n\tavailable\x18\x01 \x01(\x08R\tavailable"\xf2\x01\n\x19UpdateOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x12.\n\x10public_namespace\x18\x03 \x01(\tH\x01R\x0fpublicNamespace\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01\x12\x15\n\x03cid\x18\x05 \x01(\tH\x03R\x03cid\x88\x01\x01B\x07\n\x05_nameB\x13\n\x11_public_namespaceB\t\n\x07_regionB\x06\n\x04_cid"[\n\x1aUpdateOrganizationResponse\x12=\n\x0corganization\x18\x01 \x01(\x0b2\x19.viam.app.v1.OrganizationR\x0corganization"D\n\x19DeleteOrganizationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\x1c\n\x1aDeleteOrganizationResponse"I\n\x1eListOrganizationMembersRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"\xc0\x01\n\x1fListOrganizationMembersResponse\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x129\n\x07members\x18\x02 \x03(\x0b2\x1f.viam.app.v1.OrganizationMemberR\x07members\x129\n\x07invites\x18\x03 \x03(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x07invites"\xa4\x01\n\x1fCreateOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12B\n\x0eauthorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"[\n CreateOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"\x8a\x02\n-UpdateOrganizationInviteAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email\x12I\n\x12add_authorizations\x18\x03 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x11addAuthorizations\x12O\n\x15remove_authorizations\x18\x04 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x14removeAuthorizations"i\n.UpdateOrganizationInviteAuthorizationsResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"`\n\x1fDeleteOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email""\n DeleteOrganizationInviteResponse"`\n\x1fResendOrganizationInviteRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x14\n\x05email\x18\x02 \x01(\tR\x05email"[\n ResendOrganizationInviteResponse\x127\n\x06invite\x18\x01 \x01(\x0b2\x1f.viam.app.v1.OrganizationInviteR\x06invite"c\n\x1fDeleteOrganizationMemberRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x17\n\x07user_id\x18\x02 \x01(\tR\x06userId""\n DeleteOrganizationMemberResponse":\n\x14OrganizationIdentity\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"Y\n\x14LocationOrganization\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x18\n\x07primary\x18\x02 \x01(\x08R\x07primary"\x80\x01\n\x0cLocationAuth\x12\x1a\n\x06secret\x18\x01 \x01(\tB\x02\x18\x01R\x06secret\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x123\n\x07secrets\x18\x03 \x03(\x0b2\x19.viam.app.v1.SharedSecretR\x07secrets"\'\n\rStorageConfig\x12\x16\n\x06region\x18\x01 \x01(\tR\x06region"\xe4\x02\n\x08Location\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12,\n\x12parent_location_id\x18\x04 \x01(\tR\x10parentLocationId\x12-\n\x04auth\x18\x05 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth\x12G\n\rorganizations\x18\x06 \x03(\x0b2!.viam.app.v1.LocationOrganizationR\rorganizations\x129\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn\x12\x1f\n\x0brobot_count\x18\x07 \x01(\x05R\nrobotCount\x122\n\x06config\x18\x08 \x01(\x0b2\x1a.viam.app.v1.StorageConfigR\x06config"\xd0\x02\n\x0cSharedSecret\x12\x1e\n\x02id\x18\x01 \x01(\tB\x0e\x9a\x84\x9e\x03\tbson:"id"R\x02id\x12*\n\x06secret\x18\x02 \x01(\tB\x12\x9a\x84\x9e\x03\rbson:"secret"R\x06secret\x12c\n\ncreated_on\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampB(\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"R\tcreatedOn\x12H\n\x05state\x18\x04 \x01(\x0e2\x1f.viam.app.v1.SharedSecret.StateB\x11\x9a\x84\x9e\x03\x0cbson:"state"R\x05state"E\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x11\n\rSTATE_ENABLED\x10\x01\x12\x12\n\x0eSTATE_DISABLED\x10\x02"\x9e\x01\n\x15CreateLocationRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x00R\x10parentLocationId\x88\x01\x01B\x15\n\x13_parent_location_id"K\n\x16CreateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"5\n\x12GetLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"H\n\x13GetLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"\xcc\x01\n\x15UpdateLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x17\n\x04name\x18\x02 \x01(\tH\x00R\x04name\x88\x01\x01\x121\n\x12parent_location_id\x18\x03 \x01(\tH\x01R\x10parentLocationId\x88\x01\x01\x12\x1b\n\x06region\x18\x04 \x01(\tH\x02R\x06region\x88\x01\x01B\x07\n\x05_nameB\x15\n\x13_parent_location_idB\t\n\x07_region"K\n\x16UpdateLocationResponse\x121\n\x08location\x18\x01 \x01(\x0b2\x15.viam.app.v1.LocationR\x08location"8\n\x15DeleteLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x18\n\x16DeleteLocationResponse"N\n+GetOrganizationsWithAccessToLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"\x8a\x01\n,GetOrganizationsWithAccessToLocationResponse\x12Z\n\x17organization_identities\x18\x01 \x03(\x0b2!.viam.app.v1.OrganizationIdentityR\x16organizationIdentities"?\n\x14ListLocationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId"`\n\x14ShareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x17\n\x15ShareLocationResponse"b\n\x16UnshareLocationRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId"\x19\n\x17UnshareLocationResponse"L\n\x15ListLocationsResponse\x123\n\tlocations\x18\x01 \x03(\x0b2\x15.viam.app.v1.LocationR\tlocations">\n\x1bCreateLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"M\n\x1cCreateLocationSecretResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"[\n\x1bDeleteLocationSecretRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1e\n\x1cDeleteLocationSecretResponse"6\n\x13LocationAuthRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"E\n\x14LocationAuthResponse\x12-\n\x04auth\x18\x01 \x01(\x0b2\x19.viam.app.v1.LocationAuthR\x04auth"!\n\x0fGetRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"4\n\x1bGetRoverRentalRobotsRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x9a\x01\n\x10RoverRentalRobot\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1f\n\x0blocation_id\x18\x02 \x01(\tR\nlocationId\x12\x1d\n\nrobot_name\x18\x03 \x01(\tR\trobotName\x12+\n\x12robot_main_part_id\x18\x04 \x01(\tR\x0frobotMainPartId"U\n\x1cGetRoverRentalRobotsResponse\x125\n\x06robots\x18\x01 \x03(\x0b2\x1d.viam.app.v1.RoverRentalRobotR\x06robots"<\n\x10GetRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"1\n\x14GetRobotPartsRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"E\n\x15GetRobotPartsResponse\x12,\n\x05parts\x18\x01 \x03(\x0b2\x16.viam.app.v1.RobotPartR\x05parts"%\n\x13GetRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"c\n\x14GetRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part\x12\x1f\n\x0bconfig_json\x18\x02 \x01(\tR\nconfigJson"\xc1\x01\n\x17GetRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12#\n\x0berrors_only\x18\x02 \x01(\x08B\x02\x18\x01R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01\x12"\n\npage_token\x18\x04 \x01(\tH\x01R\tpageToken\x88\x01\x01\x12\x16\n\x06levels\x18\x05 \x03(\tR\x06levelsB\t\n\x07_filterB\r\n\x0b_page_token"p\n\x18GetRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken"s\n\x18TailRobotPartLogsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n\x0berrors_only\x18\x02 \x01(\x08R\nerrorsOnly\x12\x1b\n\x06filter\x18\x03 \x01(\tH\x00R\x06filter\x88\x01\x01B\t\n\x07_filter"I\n\x19TailRobotPartLogsResponse\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs",\n\x1aGetRobotPartHistoryRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"[\n\x1bGetRobotPartHistoryResponse\x12<\n\x07history\x18\x01 \x03(\x0b2".viam.app.v1.RobotPartHistoryEntryR\x07history"x\n\x16UpdateRobotPartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12:\n\x0crobot_config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x0brobotConfig"E\n\x17UpdateRobotPartResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"M\n\x13NewRobotPartRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId\x12\x1b\n\tpart_name\x18\x02 \x01(\tR\x08partName"/\n\x14NewRobotPartResponse\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"1\n\x16DeleteRobotPartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"3\n\x16GetRobotAPIKeysRequest\x12\x19\n\x08robot_id\x18\x01 \x01(\tR\x07robotId"y\n\x06APIKey\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x129\n\ncreated_on\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedOn"[\n\x17GetRobotAPIKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys"\x19\n\x17DeleteRobotPartResponse"\xe8\x04\n\x08Fragment\x123\n\x02id\x18\x01 \x01(\tB#\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"R\x02id\x120\n\x04name\x18\x02 \x01(\tB\x1c\x9a\x84\x9e\x03\x17bson:"name" json:"name"R\x04name\x12Y\n\x08fragment\x18\x03 \x01(\x0b2\x17.google.protobuf.StructB$\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"R\x08fragment\x12Z\n\x12organization_owner\x18\x04 \x01(\tB+\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"R\x11organizationOwner\x128\n\x06public\x18\x05 \x01(\x08B \x9a\x84\x9e\x03\x1bbson:"public" json:"public"R\x06public\x12Q\n\ncreated_on\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampB\x16\x9a\x84\x9e\x03\x11bson:"created_on"R\tcreatedOn\x12+\n\x11organization_name\x18\x07 \x01(\tR\x10organizationName\x12(\n\x10robot_part_count\x18\t \x01(\x05R\x0erobotPartCount\x12-\n\x12organization_count\x18\n \x01(\x05R\x11organizationCount\x12+\n\x12only_used_by_owner\x18\x0b \x01(\x08R\x0fonlyUsedByOwner"`\n\x14ListFragmentsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x1f\n\x0bshow_public\x18\x02 \x01(\x08R\nshowPublic"L\n\x15ListFragmentsResponse\x123\n\tfragments\x18\x01 \x03(\x0b2\x15.viam.app.v1.FragmentR\tfragments"$\n\x12GetFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"H\n\x13GetFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x85\x01\n\x15CreateFragmentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06config\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\'\n\x0forganization_id\x18\x03 \x01(\tR\x0eorganizationId"K\n\x16CreateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\x94\x01\n\x15UpdateFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12/\n\x06config\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\x06config\x12\x1b\n\x06public\x18\x04 \x01(\x08H\x00R\x06public\x88\x01\x01B\t\n\x07_public"K\n\x16UpdateFragmentResponse\x121\n\x08fragment\x18\x01 \x01(\x0b2\x15.viam.app.v1.FragmentR\x08fragment"\'\n\x15DeleteFragmentRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x18\n\x16DeleteFragmentResponse"4\n\x11ListRobotsRequest\x12\x1f\n\x0blocation_id\x18\x01 \x01(\tR\nlocationId"@\n\x12ListRobotsResponse\x12*\n\x06robots\x18\x01 \x03(\x0b2\x12.viam.app.v1.RobotR\x06robots"A\n\x0fNewRobotRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x02 \x01(\tR\x08location""\n\x10NewRobotResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"T\n\x12UpdateRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x1a\n\x08location\x18\x03 \x01(\tR\x08location"?\n\x13UpdateRobotResponse\x12(\n\x05robot\x18\x01 \x01(\x0b2\x12.viam.app.v1.RobotR\x05robot"$\n\x12DeleteRobotRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x15\n\x13DeleteRobotResponse"0\n\x15MarkPartAsMainRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x18\n\x16MarkPartAsMainResponse"4\n\x19MarkPartForRestartRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"\x1c\n\x1aMarkPartForRestartResponse"7\n\x1cCreateRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId"K\n\x1dCreateRobotPartSecretResponse\x12*\n\x04part\x18\x01 \x01(\x0b2\x16.viam.app.v1.RobotPartR\x04part"T\n\x1cDeleteRobotPartSecretRequest\x12\x17\n\x07part_id\x18\x01 \x01(\tR\x06partId\x12\x1b\n\tsecret_id\x18\x02 \x01(\tR\x08secretId"\x1f\n\x1dDeleteRobotPartSecretResponse"\x9e\x02\n\rAuthorization\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x1f\n\x0bidentity_id\x18\x05 \x01(\tR\nidentityId\x12\'\n\x0forganization_id\x18\x06 \x01(\tR\x0eorganizationId\x12#\n\ridentity_type\x18\x07 \x01(\tR\x0cidentityType"R\n\x0eAddRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x11\n\x0fAddRoleResponse"U\n\x11RemoveRoleRequest\x12@\n\rauthorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\rauthorization"\x14\n\x12RemoveRoleResponse"\xa5\x01\n\x11ChangeRoleRequest\x12G\n\x11old_authorization\x18\x01 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10oldAuthorization\x12G\n\x11new_authorization\x18\x02 \x01(\x0b2\x1a.viam.app.v1.AuthorizationR\x10newAuthorization"\x14\n\x12ChangeRoleResponse"g\n\x19ListAuthorizationsRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12!\n\x0cresource_ids\x18\x02 \x03(\tR\x0bresourceIds"`\n\x1aListAuthorizationsResponse\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations"_\n\x17CheckPermissionsRequest\x12D\n\x0bpermissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x0bpermissions"\x7f\n\x15AuthorizedPermissions\x12#\n\rresource_type\x18\x01 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x02 \x01(\tR\nresourceId\x12 \n\x0bpermissions\x18\x03 \x03(\tR\x0bpermissions"u\n\x18CheckPermissionsResponse\x12Y\n\x16authorized_permissions\x18\x01 \x03(\x0b2".viam.app.v1.AuthorizedPermissionsR\x15authorizedPermissions"\xa1\x01\n\rModuleVersion\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"\x94\x01\n\x0eModuleMetadata\x12*\n\x06models\x18\x01 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x126\n\x08versions\x18\x02 \x03(\x0b2\x1a.viam.app.v1.ModuleVersionR\x08versions\x12\x1e\n\nentrypoint\x18\x03 \x01(\tR\nentrypoint"-\n\x0fMLModelMetadata\x12\x1a\n\x08versions\x18\x01 \x03(\tR\x08versions"\xb7\x06\n\x0cRegistryItem\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x12\'\n\x0forganization_id\x18\x02 \x01(\tR\x0eorganizationId\x12)\n\x10public_namespace\x18\x03 \x01(\tR\x0fpublicNamespace\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x125\n\x04type\x18\x05 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x127\n\nvisibility\x18\x06 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x07 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x08 \x01(\tR\x0bdescription\x12*\n\x11total_robot_usage\x18\t \x01(\x03R\x0ftotalRobotUsage\x12;\n\x1atotal_external_robot_usage\x18\r \x01(\x03R\x17totalExternalRobotUsage\x128\n\x18total_organization_usage\x18\n \x01(\x03R\x16totalOrganizationUsage\x12I\n!total_external_organization_usage\x18\x0e \x01(\x03R\x1etotalExternalOrganizationUsage\x12F\n\x0fmodule_metadata\x18\x0b \x01(\x0b2\x1b.viam.app.v1.ModuleMetadataH\x00R\x0emoduleMetadata\x12J\n\x11ml_model_metadata\x18\x0c \x01(\x0b2\x1c.viam.app.v1.MLModelMetadataH\x00R\x0fmlModelMetadata\x129\n\ncreated_at\x18\x0f \x01(\x0b2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n\nupdated_at\x18\x10 \x01(\x0b2\x1a.google.protobuf.TimestampR\tupdatedAtB\n\n\x08metadata"1\n\x16GetRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"H\n\x17GetRegistryItemResponse\x12-\n\x04item\x18\x01 \x01(\x0b2\x19.viam.app.v1.RegistryItemR\x04item"\x8f\x01\n\x19CreateRegistryItemRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x125\n\x04type\x18\x03 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type"\x1c\n\x1aCreateRegistryItemResponse"\xc6\x01\n\x19UpdateRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId\x125\n\x04type\x18\x02 \x01(\x0e2!.viam.app.packages.v1.PackageTypeR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x127\n\nvisibility\x18\x04 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility"\x1c\n\x1aUpdateRegistryItemResponse"\x96\x03\n\x18ListRegistryItemsRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01\x127\n\x05types\x18\x02 \x03(\x0e2!.viam.app.packages.v1.PackageTypeR\x05types\x12;\n\x0cvisibilities\x18\x03 \x03(\x0e2\x17.viam.app.v1.VisibilityR\x0cvisibilities\x12\x1c\n\tplatforms\x18\x04 \x03(\tR\tplatforms\x12;\n\x08statuses\x18\x05 \x03(\x0e2\x1f.viam.app.v1.RegistryItemStatusR\x08statuses\x12$\n\x0bsearch_term\x18\x06 \x01(\tH\x01R\nsearchTerm\x88\x01\x01\x12"\n\npage_token\x18\x07 \x01(\tH\x02R\tpageToken\x88\x01\x01B\x12\n\x10_organization_idB\x0e\n\x0c_search_termB\r\n\x0b_page_token"L\n\x19ListRegistryItemsResponse\x12/\n\x05items\x18\x01 \x03(\x0b2\x19.viam.app.v1.RegistryItemR\x05items"4\n\x19DeleteRegistryItemRequest\x12\x17\n\x07item_id\x18\x01 \x01(\tR\x06itemId"\x1c\n\x1aDeleteRegistryItemResponse"R\n\x13CreateModuleRequest\x12\'\n\x0forganization_id\x18\x01 \x01(\tR\x0eorganizationId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"E\n\x14CreateModuleResponse\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x10\n\x03url\x18\x02 \x01(\tR\x03url"\xeb\x01\n\x13UpdateModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x127\n\nvisibility\x18\x02 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x12\x10\n\x03url\x18\x03 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x04 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x05 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x06 \x01(\tR\nentrypoint"(\n\x14UpdateModuleResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x05Model\x12\x10\n\x03api\x18\x01 \x01(\tR\x03api\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"c\n\x0eModuleFileInfo\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x18\n\x07version\x18\x02 \x01(\tR\x07version\x12\x1a\n\x08platform\x18\x03 \x01(\tR\x08platform"\x87\x01\n\x17UploadModuleFileRequest\x12G\n\x10module_file_info\x18\x01 \x01(\x0b2\x1b.viam.app.v1.ModuleFileInfoH\x00R\x0emoduleFileInfo\x12\x14\n\x04file\x18\x02 \x01(\x0cH\x00R\x04fileB\r\n\x0bmodule_file",\n\x18UploadModuleFileResponse\x12\x10\n\x03url\x18\x01 \x01(\tR\x03url"/\n\x10GetModuleRequest\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId"@\n\x11GetModuleResponse\x12+\n\x06module\x18\x01 \x01(\x0b2\x13.viam.app.v1.ModuleR\x06module"\xe5\x03\n\x06Module\x12\x1b\n\tmodule_id\x18\x01 \x01(\tR\x08moduleId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x127\n\nvisibility\x18\x03 \x01(\x0e2\x17.viam.app.v1.VisibilityR\nvisibility\x127\n\x08versions\x18\x04 \x03(\x0b2\x1b.viam.app.v1.VersionHistoryR\x08versions\x12\x10\n\x03url\x18\x05 \x01(\tR\x03url\x12 \n\x0bdescription\x18\x06 \x01(\tR\x0bdescription\x12*\n\x06models\x18\x07 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12*\n\x11total_robot_usage\x18\x08 \x01(\x03R\x0ftotalRobotUsage\x128\n\x18total_organization_usage\x18\t \x01(\x03R\x16totalOrganizationUsage\x12\'\n\x0forganization_id\x18\n \x01(\tR\x0eorganizationId\x12\x1e\n\nentrypoint\x18\x0b \x01(\tR\nentrypoint\x12)\n\x10public_namespace\x18\x0c \x01(\tR\x0fpublicNamespace"\xa2\x01\n\x0eVersionHistory\x12\x18\n\x07version\x18\x01 \x01(\tR\x07version\x12*\n\x05files\x18\x02 \x03(\x0b2\x14.viam.app.v1.UploadsR\x05files\x12*\n\x06models\x18\x03 \x03(\x0b2\x12.viam.app.v1.ModelR\x06models\x12\x1e\n\nentrypoint\x18\x04 \x01(\tR\nentrypoint"b\n\x07Uploads\x12\x1a\n\x08platform\x18\x01 \x01(\tR\x08platform\x12;\n\x0buploaded_at\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\nuploadedAt"V\n\x12ListModulesRequest\x12,\n\x0forganization_id\x18\x01 \x01(\tH\x00R\x0eorganizationId\x88\x01\x01B\x12\n\x10_organization_id"D\n\x13ListModulesResponse\x12-\n\x07modules\x18\x01 \x03(\x0b2\x13.viam.app.v1.ModuleR\x07modules"/\n\x17GetUserIDByEmailRequest\x12\x14\n\x05email\x18\x01 \x01(\tR\x05email"3\n\x18GetUserIDByEmailResponse\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId"9\n\x1eListOrganizationsByUserRequest\x12\x17\n\x07user_id\x18\x01 \x01(\tR\x06userId">\n\nOrgDetails\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId\x12\x19\n\x08org_name\x18\x02 \x01(\tR\x07orgName"N\n\x1fListOrganizationsByUserResponse\x12+\n\x04orgs\x18\x01 \x03(\x0b2\x17.viam.app.v1.OrgDetailsR\x04orgs"j\n\x10CreateKeyRequest\x12B\n\x0eauthorizations\x18\x01 \x03(\x0b2\x1a.viam.app.v1.AuthorizationR\x0eauthorizations\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name"5\n\x11CreateKeyResponse\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id""\n\x10DeleteKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x13\n\x11DeleteKeyResponse"\xcd\x01\n\x14AuthorizationDetails\x12-\n\x12authorization_type\x18\x01 \x01(\tR\x11authorizationType\x12)\n\x10authorization_id\x18\x02 \x01(\tR\x0fauthorizationId\x12#\n\rresource_type\x18\x03 \x01(\tR\x0cresourceType\x12\x1f\n\x0bresource_id\x18\x04 \x01(\tR\nresourceId\x12\x15\n\x06org_id\x18\x05 \x01(\tR\x05orgId"\x93\x01\n\x18APIKeyWithAuthorizations\x12,\n\x07api_key\x18\x01 \x01(\x0b2\x13.viam.app.v1.APIKeyR\x06apiKey\x12I\n\x0eauthorizations\x18\x02 \x03(\x0b2!.viam.app.v1.AuthorizationDetailsR\x0eauthorizations"(\n\x0fListKeysRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"T\n\x10ListKeysResponse\x12@\n\x08api_keys\x18\x01 \x03(\x0b2%.viam.app.v1.APIKeyWithAuthorizationsR\x07apiKeys""\n\x10RotateKeyRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"5\n\x11RotateKeyResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key"?\n-CreateKeyFromExistingKeyAuthorizationsRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"R\n.CreateKeyFromExistingKeyAuthorizationsResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x10\n\x03key\x18\x02 \x01(\tR\x03key*\x87\x01\n\x12RegistryItemStatus\x12$\n REGISTRY_ITEM_STATUS_UNSPECIFIED\x10\x00\x12"\n\x1eREGISTRY_ITEM_STATUS_PUBLISHED\x10\x01\x12\'\n#REGISTRY_ITEM_STATUS_IN_DEVELOPMENT\x10\x02*W\n\nVisibility\x12\x1a\n\x16VISIBILITY_UNSPECIFIED\x10\x00\x12\x16\n\x12VISIBILITY_PRIVATE\x10\x01\x12\x15\n\x11VISIBILITY_PUBLIC\x10\x022\xef4\n\nAppService\x12_\n\x10GetUserIDByEmail\x12$.viam.app.v1.GetUserIDByEmailRequest\x1a%.viam.app.v1.GetUserIDByEmailResponse\x12e\n\x12CreateOrganization\x12&.viam.app.v1.CreateOrganizationRequest\x1a\'.viam.app.v1.CreateOrganizationResponse\x12b\n\x11ListOrganizations\x12%.viam.app.v1.ListOrganizationsRequest\x1a&.viam.app.v1.ListOrganizationsResponse\x12\x9b\x01\n$GetOrganizationsWithAccessToLocation\x128.viam.app.v1.GetOrganizationsWithAccessToLocationRequest\x1a9.viam.app.v1.GetOrganizationsWithAccessToLocationResponse\x12t\n\x17ListOrganizationsByUser\x12+.viam.app.v1.ListOrganizationsByUserRequest\x1a,.viam.app.v1.ListOrganizationsByUserResponse\x12\\\n\x0fGetOrganization\x12#.viam.app.v1.GetOrganizationRequest\x1a$.viam.app.v1.GetOrganizationResponse\x12\x9b\x01\n$GetOrganizationNamespaceAvailability\x128.viam.app.v1.GetOrganizationNamespaceAvailabilityRequest\x1a9.viam.app.v1.GetOrganizationNamespaceAvailabilityResponse\x12e\n\x12UpdateOrganization\x12&.viam.app.v1.UpdateOrganizationRequest\x1a\'.viam.app.v1.UpdateOrganizationResponse\x12e\n\x12DeleteOrganization\x12&.viam.app.v1.DeleteOrganizationRequest\x1a\'.viam.app.v1.DeleteOrganizationResponse\x12t\n\x17ListOrganizationMembers\x12+.viam.app.v1.ListOrganizationMembersRequest\x1a,.viam.app.v1.ListOrganizationMembersResponse\x12w\n\x18CreateOrganizationInvite\x12,.viam.app.v1.CreateOrganizationInviteRequest\x1a-.viam.app.v1.CreateOrganizationInviteResponse\x12\xa1\x01\n&UpdateOrganizationInviteAuthorizations\x12:.viam.app.v1.UpdateOrganizationInviteAuthorizationsRequest\x1a;.viam.app.v1.UpdateOrganizationInviteAuthorizationsResponse\x12w\n\x18DeleteOrganizationMember\x12,.viam.app.v1.DeleteOrganizationMemberRequest\x1a-.viam.app.v1.DeleteOrganizationMemberResponse\x12w\n\x18DeleteOrganizationInvite\x12,.viam.app.v1.DeleteOrganizationInviteRequest\x1a-.viam.app.v1.DeleteOrganizationInviteResponse\x12w\n\x18ResendOrganizationInvite\x12,.viam.app.v1.ResendOrganizationInviteRequest\x1a-.viam.app.v1.ResendOrganizationInviteResponse\x12Y\n\x0eCreateLocation\x12".viam.app.v1.CreateLocationRequest\x1a#.viam.app.v1.CreateLocationResponse\x12P\n\x0bGetLocation\x12\x1f.viam.app.v1.GetLocationRequest\x1a .viam.app.v1.GetLocationResponse\x12Y\n\x0eUpdateLocation\x12".viam.app.v1.UpdateLocationRequest\x1a#.viam.app.v1.UpdateLocationResponse\x12Y\n\x0eDeleteLocation\x12".viam.app.v1.DeleteLocationRequest\x1a#.viam.app.v1.DeleteLocationResponse\x12V\n\rListLocations\x12!.viam.app.v1.ListLocationsRequest\x1a".viam.app.v1.ListLocationsResponse\x12V\n\rShareLocation\x12!.viam.app.v1.ShareLocationRequest\x1a".viam.app.v1.ShareLocationResponse\x12\\\n\x0fUnshareLocation\x12#.viam.app.v1.UnshareLocationRequest\x1a$.viam.app.v1.UnshareLocationResponse\x12S\n\x0cLocationAuth\x12 .viam.app.v1.LocationAuthRequest\x1a!.viam.app.v1.LocationAuthResponse\x12k\n\x14CreateLocationSecret\x12(.viam.app.v1.CreateLocationSecretRequest\x1a).viam.app.v1.CreateLocationSecretResponse\x12k\n\x14DeleteLocationSecret\x12(.viam.app.v1.DeleteLocationSecretRequest\x1a).viam.app.v1.DeleteLocationSecretResponse\x12G\n\x08GetRobot\x12\x1c.viam.app.v1.GetRobotRequest\x1a\x1d.viam.app.v1.GetRobotResponse\x12k\n\x14GetRoverRentalRobots\x12(.viam.app.v1.GetRoverRentalRobotsRequest\x1a).viam.app.v1.GetRoverRentalRobotsResponse\x12V\n\rGetRobotParts\x12!.viam.app.v1.GetRobotPartsRequest\x1a".viam.app.v1.GetRobotPartsResponse\x12S\n\x0cGetRobotPart\x12 .viam.app.v1.GetRobotPartRequest\x1a!.viam.app.v1.GetRobotPartResponse\x12_\n\x10GetRobotPartLogs\x12$.viam.app.v1.GetRobotPartLogsRequest\x1a%.viam.app.v1.GetRobotPartLogsResponse\x12d\n\x11TailRobotPartLogs\x12%.viam.app.v1.TailRobotPartLogsRequest\x1a&.viam.app.v1.TailRobotPartLogsResponse0\x01\x12h\n\x13GetRobotPartHistory\x12\'.viam.app.v1.GetRobotPartHistoryRequest\x1a(.viam.app.v1.GetRobotPartHistoryResponse\x12\\\n\x0fUpdateRobotPart\x12#.viam.app.v1.UpdateRobotPartRequest\x1a$.viam.app.v1.UpdateRobotPartResponse\x12S\n\x0cNewRobotPart\x12 .viam.app.v1.NewRobotPartRequest\x1a!.viam.app.v1.NewRobotPartResponse\x12\\\n\x0fDeleteRobotPart\x12#.viam.app.v1.DeleteRobotPartRequest\x1a$.viam.app.v1.DeleteRobotPartResponse\x12\\\n\x0fGetRobotAPIKeys\x12#.viam.app.v1.GetRobotAPIKeysRequest\x1a$.viam.app.v1.GetRobotAPIKeysResponse\x12Y\n\x0eMarkPartAsMain\x12".viam.app.v1.MarkPartAsMainRequest\x1a#.viam.app.v1.MarkPartAsMainResponse\x12e\n\x12MarkPartForRestart\x12&.viam.app.v1.MarkPartForRestartRequest\x1a\'.viam.app.v1.MarkPartForRestartResponse\x12n\n\x15CreateRobotPartSecret\x12).viam.app.v1.CreateRobotPartSecretRequest\x1a*.viam.app.v1.CreateRobotPartSecretResponse\x12n\n\x15DeleteRobotPartSecret\x12).viam.app.v1.DeleteRobotPartSecretRequest\x1a*.viam.app.v1.DeleteRobotPartSecretResponse\x12M\n\nListRobots\x12\x1e.viam.app.v1.ListRobotsRequest\x1a\x1f.viam.app.v1.ListRobotsResponse\x12G\n\x08NewRobot\x12\x1c.viam.app.v1.NewRobotRequest\x1a\x1d.viam.app.v1.NewRobotResponse\x12P\n\x0bUpdateRobot\x12\x1f.viam.app.v1.UpdateRobotRequest\x1a .viam.app.v1.UpdateRobotResponse\x12P\n\x0bDeleteRobot\x12\x1f.viam.app.v1.DeleteRobotRequest\x1a .viam.app.v1.DeleteRobotResponse\x12V\n\rListFragments\x12!.viam.app.v1.ListFragmentsRequest\x1a".viam.app.v1.ListFragmentsResponse\x12P\n\x0bGetFragment\x12\x1f.viam.app.v1.GetFragmentRequest\x1a .viam.app.v1.GetFragmentResponse\x12Y\n\x0eCreateFragment\x12".viam.app.v1.CreateFragmentRequest\x1a#.viam.app.v1.CreateFragmentResponse\x12Y\n\x0eUpdateFragment\x12".viam.app.v1.UpdateFragmentRequest\x1a#.viam.app.v1.UpdateFragmentResponse\x12Y\n\x0eDeleteFragment\x12".viam.app.v1.DeleteFragmentRequest\x1a#.viam.app.v1.DeleteFragmentResponse\x12D\n\x07AddRole\x12\x1b.viam.app.v1.AddRoleRequest\x1a\x1c.viam.app.v1.AddRoleResponse\x12M\n\nRemoveRole\x12\x1e.viam.app.v1.RemoveRoleRequest\x1a\x1f.viam.app.v1.RemoveRoleResponse\x12M\n\nChangeRole\x12\x1e.viam.app.v1.ChangeRoleRequest\x1a\x1f.viam.app.v1.ChangeRoleResponse\x12e\n\x12ListAuthorizations\x12&.viam.app.v1.ListAuthorizationsRequest\x1a\'.viam.app.v1.ListAuthorizationsResponse\x12_\n\x10CheckPermissions\x12$.viam.app.v1.CheckPermissionsRequest\x1a%.viam.app.v1.CheckPermissionsResponse\x12\\\n\x0fGetRegistryItem\x12#.viam.app.v1.GetRegistryItemRequest\x1a$.viam.app.v1.GetRegistryItemResponse\x12e\n\x12CreateRegistryItem\x12&.viam.app.v1.CreateRegistryItemRequest\x1a\'.viam.app.v1.CreateRegistryItemResponse\x12e\n\x12UpdateRegistryItem\x12&.viam.app.v1.UpdateRegistryItemRequest\x1a\'.viam.app.v1.UpdateRegistryItemResponse\x12b\n\x11ListRegistryItems\x12%.viam.app.v1.ListRegistryItemsRequest\x1a&.viam.app.v1.ListRegistryItemsResponse\x12e\n\x12DeleteRegistryItem\x12&.viam.app.v1.DeleteRegistryItemRequest\x1a\'.viam.app.v1.DeleteRegistryItemResponse\x12S\n\x0cCreateModule\x12 .viam.app.v1.CreateModuleRequest\x1a!.viam.app.v1.CreateModuleResponse\x12S\n\x0cUpdateModule\x12 .viam.app.v1.UpdateModuleRequest\x1a!.viam.app.v1.UpdateModuleResponse\x12a\n\x10UploadModuleFile\x12$.viam.app.v1.UploadModuleFileRequest\x1a%.viam.app.v1.UploadModuleFileResponse(\x01\x12J\n\tGetModule\x12\x1d.viam.app.v1.GetModuleRequest\x1a\x1e.viam.app.v1.GetModuleResponse\x12P\n\x0bListModules\x12\x1f.viam.app.v1.ListModulesRequest\x1a .viam.app.v1.ListModulesResponse\x12J\n\tCreateKey\x12\x1d.viam.app.v1.CreateKeyRequest\x1a\x1e.viam.app.v1.CreateKeyResponse\x12J\n\tDeleteKey\x12\x1d.viam.app.v1.DeleteKeyRequest\x1a\x1e.viam.app.v1.DeleteKeyResponse\x12G\n\x08ListKeys\x12\x1c.viam.app.v1.ListKeysRequest\x1a\x1d.viam.app.v1.ListKeysResponse\x12J\n\tRotateKey\x12\x1d.viam.app.v1.RotateKeyRequest\x1a\x1e.viam.app.v1.RotateKeyResponse\x12\xa1\x01\n&CreateKeyFromExistingKeyAuthorizations\x12:.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsRequest\x1a;.viam.app.v1.CreateKeyFromExistingKeyAuthorizationsResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.app_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.v1.app_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' - _ROBOT.fields_by_name['id']._options = None - _ROBOT.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' - _ROBOT.fields_by_name['name']._options = None - _ROBOT.fields_by_name['name']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' - _ROBOT.fields_by_name['location']._options = None - _ROBOT.fields_by_name['location']._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"location" json:"location"' - _ROBOT.fields_by_name['last_access']._options = None - _ROBOT.fields_by_name['last_access']._serialized_options = b'\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"' - _ROBOT.fields_by_name['created_on']._options = None - _ROBOT.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' - _ROBOTPART.fields_by_name['id']._options = None - _ROBOTPART.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' - _ROBOTPART.fields_by_name['name']._options = None - _ROBOTPART.fields_by_name['name']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' - _ROBOTPART.fields_by_name['dns_name']._options = None - _ROBOTPART.fields_by_name['dns_name']._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"' - _ROBOTPART.fields_by_name['secret']._options = None - _ROBOTPART.fields_by_name['secret']._serialized_options = b'\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"' - _ROBOTPART.fields_by_name['robot']._options = None - _ROBOTPART.fields_by_name['robot']._serialized_options = b'\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"' - _ROBOTPART.fields_by_name['location_id']._options = None - _ROBOTPART.fields_by_name['location_id']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"' - _ROBOTPART.fields_by_name['robot_config']._options = None - _ROBOTPART.fields_by_name['robot_config']._serialized_options = b'\x9a\x84\x9e\x03!bson:"config" json:"robot_config"' - _ROBOTPART.fields_by_name['last_access']._options = None - _ROBOTPART.fields_by_name['last_access']._serialized_options = b'\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"' - _ROBOTPART.fields_by_name['user_supplied_info']._options = None - _ROBOTPART.fields_by_name['user_supplied_info']._serialized_options = b'\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"' - _ROBOTPART.fields_by_name['main_part']._options = None - _ROBOTPART.fields_by_name['main_part']._serialized_options = b'\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"' - _ROBOTPART.fields_by_name['created_on']._options = None - _ROBOTPART.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' - _ROBOTPART.fields_by_name['secrets']._options = None - _ROBOTPART.fields_by_name['secrets']._serialized_options = b'\x9a\x84\x9e\x03\x0ebson:"secrets"' - _ROBOTPARTHISTORYENTRY.fields_by_name['part']._options = None - _ROBOTPARTHISTORYENTRY.fields_by_name['part']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"part" json:"part"' - _ROBOTPARTHISTORYENTRY.fields_by_name['robot']._options = None - _ROBOTPARTHISTORYENTRY.fields_by_name['robot']._serialized_options = b'\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"' - _ROBOTPARTHISTORYENTRY.fields_by_name['when']._options = None - _ROBOTPARTHISTORYENTRY.fields_by_name['when']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"when" json:"when"' - _ROBOTPARTHISTORYENTRY.fields_by_name['old']._options = None - _ROBOTPARTHISTORYENTRY.fields_by_name['old']._serialized_options = b'\x9a\x84\x9e\x03\x15bson:"old" json:"old"' - _LOCATIONAUTH.fields_by_name['secret']._options = None - _LOCATIONAUTH.fields_by_name['secret']._serialized_options = b'\x18\x01' - _SHAREDSECRET.fields_by_name['id']._options = None - _SHAREDSECRET.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\tbson:"id"' - _SHAREDSECRET.fields_by_name['secret']._options = None - _SHAREDSECRET.fields_by_name['secret']._serialized_options = b'\x9a\x84\x9e\x03\rbson:"secret"' - _SHAREDSECRET.fields_by_name['created_on']._options = None - _SHAREDSECRET.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"' - _SHAREDSECRET.fields_by_name['state']._options = None - _SHAREDSECRET.fields_by_name['state']._serialized_options = b'\x9a\x84\x9e\x03\x0cbson:"state"' - _GETROBOTPARTLOGSREQUEST.fields_by_name['errors_only']._options = None - _GETROBOTPARTLOGSREQUEST.fields_by_name['errors_only']._serialized_options = b'\x18\x01' - _FRAGMENT.fields_by_name['id']._options = None - _FRAGMENT.fields_by_name['id']._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' - _FRAGMENT.fields_by_name['name']._options = None - _FRAGMENT.fields_by_name['name']._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' - _FRAGMENT.fields_by_name['fragment']._options = None - _FRAGMENT.fields_by_name['fragment']._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"' - _FRAGMENT.fields_by_name['organization_owner']._options = None - _FRAGMENT.fields_by_name['organization_owner']._serialized_options = b'\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"' - _FRAGMENT.fields_by_name['public']._options = None - _FRAGMENT.fields_by_name['public']._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"public" json:"public"' - _FRAGMENT.fields_by_name['created_on']._options = None - _FRAGMENT.fields_by_name['created_on']._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' + DESCRIPTOR._serialized_options = b"Z\x16go.viam.com/api/app/v1" + _ROBOT.fields_by_name["id"]._options = None + _ROBOT.fields_by_name[ + "id" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' + _ROBOT.fields_by_name["name"]._options = None + _ROBOT.fields_by_name[ + "name" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' + _ROBOT.fields_by_name["location"]._options = None + _ROBOT.fields_by_name[ + "location" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"location" json:"location"' + _ROBOT.fields_by_name["last_access"]._options = None + _ROBOT.fields_by_name[ + "last_access" + ]._serialized_options = b'\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"' + _ROBOT.fields_by_name["created_on"]._options = None + _ROBOT.fields_by_name[ + "created_on" + ]._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' + _ROBOTPART.fields_by_name["id"]._options = None + _ROBOTPART.fields_by_name[ + "id" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' + _ROBOTPART.fields_by_name["name"]._options = None + _ROBOTPART.fields_by_name[ + "name" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' + _ROBOTPART.fields_by_name["dns_name"]._options = None + _ROBOTPART.fields_by_name[ + "dns_name" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"dns_name" json:"dns_name"' + _ROBOTPART.fields_by_name["secret"]._options = None + _ROBOTPART.fields_by_name[ + "secret" + ]._serialized_options = b'\x9a\x84\x9e\x03%bson:"secret" json:"secret,omitempty"' + _ROBOTPART.fields_by_name["robot"]._options = None + _ROBOTPART.fields_by_name[ + "robot" + ]._serialized_options = b'\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"' + _ROBOTPART.fields_by_name["location_id"]._options = None + _ROBOTPART.fields_by_name[ + "location_id" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"location_id" json:"-"' + _ROBOTPART.fields_by_name["robot_config"]._options = None + _ROBOTPART.fields_by_name[ + "robot_config" + ]._serialized_options = b'\x9a\x84\x9e\x03!bson:"config" json:"robot_config"' + _ROBOTPART.fields_by_name["last_access"]._options = None + _ROBOTPART.fields_by_name[ + "last_access" + ]._serialized_options = b'\x9a\x84\x9e\x03%bson:"last_access" json:"last_access"' + _ROBOTPART.fields_by_name["user_supplied_info"]._options = None + _ROBOTPART.fields_by_name[ + "user_supplied_info" + ]._serialized_options = ( + b'\x9a\x84\x9e\x033bson:"user_supplied_info" json:"user_supplied_info"' + ) + _ROBOTPART.fields_by_name["main_part"]._options = None + _ROBOTPART.fields_by_name[ + "main_part" + ]._serialized_options = b'\x9a\x84\x9e\x03!bson:"main_part" json:"main_part"' + _ROBOTPART.fields_by_name["created_on"]._options = None + _ROBOTPART.fields_by_name[ + "created_on" + ]._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' + _ROBOTPART.fields_by_name["secrets"]._options = None + _ROBOTPART.fields_by_name[ + "secrets" + ]._serialized_options = b'\x9a\x84\x9e\x03\x0ebson:"secrets"' + _ROBOTPARTHISTORYENTRY.fields_by_name["part"]._options = None + _ROBOTPARTHISTORYENTRY.fields_by_name[ + "part" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"part" json:"part"' + _ROBOTPARTHISTORYENTRY.fields_by_name["robot"]._options = None + _ROBOTPARTHISTORYENTRY.fields_by_name[ + "robot" + ]._serialized_options = b'\x9a\x84\x9e\x03\x19bson:"robot" json:"robot"' + _ROBOTPARTHISTORYENTRY.fields_by_name["when"]._options = None + _ROBOTPARTHISTORYENTRY.fields_by_name[ + "when" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"when" json:"when"' + _ROBOTPARTHISTORYENTRY.fields_by_name["old"]._options = None + _ROBOTPARTHISTORYENTRY.fields_by_name[ + "old" + ]._serialized_options = b'\x9a\x84\x9e\x03\x15bson:"old" json:"old"' + _LOCATIONAUTH.fields_by_name["secret"]._options = None + _LOCATIONAUTH.fields_by_name["secret"]._serialized_options = b"\x18\x01" + _SHAREDSECRET.fields_by_name["id"]._options = None + _SHAREDSECRET.fields_by_name[ + "id" + ]._serialized_options = b'\x9a\x84\x9e\x03\tbson:"id"' + _SHAREDSECRET.fields_by_name["secret"]._options = None + _SHAREDSECRET.fields_by_name[ + "secret" + ]._serialized_options = b'\x9a\x84\x9e\x03\rbson:"secret"' + _SHAREDSECRET.fields_by_name["created_on"]._options = None + _SHAREDSECRET.fields_by_name[ + "created_on" + ]._serialized_options = b'\x9a\x84\x9e\x03#bson:"created_on" json:"created_on"' + _SHAREDSECRET.fields_by_name["state"]._options = None + _SHAREDSECRET.fields_by_name[ + "state" + ]._serialized_options = b'\x9a\x84\x9e\x03\x0cbson:"state"' + _GETROBOTPARTLOGSREQUEST.fields_by_name["errors_only"]._options = None + _GETROBOTPARTLOGSREQUEST.fields_by_name[ + "errors_only" + ]._serialized_options = b"\x18\x01" + _FRAGMENT.fields_by_name["id"]._options = None + _FRAGMENT.fields_by_name[ + "id" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1ebson:"_id" json:"id,omitempty"' + _FRAGMENT.fields_by_name["name"]._options = None + _FRAGMENT.fields_by_name[ + "name" + ]._serialized_options = b'\x9a\x84\x9e\x03\x17bson:"name" json:"name"' + _FRAGMENT.fields_by_name["fragment"]._options = None + _FRAGMENT.fields_by_name[ + "fragment" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1fbson:"fragment" json:"fragment"' + _FRAGMENT.fields_by_name["organization_owner"]._options = None + _FRAGMENT.fields_by_name[ + "organization_owner" + ]._serialized_options = b'\x9a\x84\x9e\x03&bson:"organization_owner" json:"owner"' + _FRAGMENT.fields_by_name["public"]._options = None + _FRAGMENT.fields_by_name[ + "public" + ]._serialized_options = b'\x9a\x84\x9e\x03\x1bbson:"public" json:"public"' + _FRAGMENT.fields_by_name["created_on"]._options = None + _FRAGMENT.fields_by_name[ + "created_on" + ]._serialized_options = b'\x9a\x84\x9e\x03\x11bson:"created_on"' _REGISTRYITEMSTATUS._serialized_start = 18417 _REGISTRYITEMSTATUS._serialized_end = 18552 _VISIBILITY._serialized_start = 18554 @@ -422,4 +493,4 @@ _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_start = 18332 _CREATEKEYFROMEXISTINGKEYAUTHORIZATIONSRESPONSE._serialized_end = 18414 _APPSERVICE._serialized_start = 18644 - _APPSERVICE._serialized_end = 25411 \ No newline at end of file + _APPSERVICE._serialized_end = 25411 diff --git a/src/viam/gen/app/v1/app_pb2.pyi b/src/viam/gen/app/v1/app_pb2.pyi index ad8c757ae..6cc7a6f7f 100644 --- a/src/viam/gen/app/v1/app_pb2.pyi +++ b/src/viam/gen/app/v1/app_pb2.pyi @@ -2,18 +2,20 @@ @generated by mypy-protobuf. Do not edit manually! isort:skip_file """ -from ... import app import builtins import collections.abc -from ... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + +from ... import app, common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -21,41 +23,51 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _RegistryItemStatus: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _RegistryItemStatusEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RegistryItemStatus.ValueType], builtins.type): +class _RegistryItemStatusEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _RegistryItemStatus.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor REGISTRY_ITEM_STATUS_UNSPECIFIED: _RegistryItemStatus.ValueType REGISTRY_ITEM_STATUS_PUBLISHED: _RegistryItemStatus.ValueType REGISTRY_ITEM_STATUS_IN_DEVELOPMENT: _RegistryItemStatus.ValueType -class RegistryItemStatus(_RegistryItemStatus, metaclass=_RegistryItemStatusEnumTypeWrapper): - ... +class RegistryItemStatus( + _RegistryItemStatus, metaclass=_RegistryItemStatusEnumTypeWrapper +): ... + REGISTRY_ITEM_STATUS_UNSPECIFIED: RegistryItemStatus.ValueType REGISTRY_ITEM_STATUS_PUBLISHED: RegistryItemStatus.ValueType REGISTRY_ITEM_STATUS_IN_DEVELOPMENT: RegistryItemStatus.ValueType global___RegistryItemStatus = RegistryItemStatus class _Visibility: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _VisibilityEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Visibility.ValueType], builtins.type): +class _VisibilityEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Visibility.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor VISIBILITY_UNSPECIFIED: _Visibility.ValueType VISIBILITY_PRIVATE: _Visibility.ValueType - 'Private modules are visible only within your org' + "Private modules are visible only within your org" VISIBILITY_PUBLIC: _Visibility.ValueType - 'Public modules are visible to everyone' + "Public modules are visible to everyone" + +class Visibility(_Visibility, metaclass=_VisibilityEnumTypeWrapper): ... -class Visibility(_Visibility, metaclass=_VisibilityEnumTypeWrapper): - ... VISIBILITY_UNSPECIFIED: Visibility.ValueType VISIBILITY_PRIVATE: Visibility.ValueType -'Private modules are visible only within your org' +"Private modules are visible only within your org" VISIBILITY_PUBLIC: Visibility.ValueType -'Public modules are visible to everyone' +"Public modules are visible to everyone" global___Visibility = Visibility @typing_extensions.final @@ -71,21 +83,40 @@ class Robot(google.protobuf.message.Message): location: builtins.str @property - def last_access(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def last_access(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., location: builtins.str=..., last_access: google.protobuf.timestamp_pb2.Timestamp | None=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'last_access', b'last_access']) -> builtins.bool: - ... + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + location: builtins.str = ..., + last_access: google.protobuf.timestamp_pb2.Timestamp | None = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_on", b"created_on", "last_access", b"last_access" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "id", + b"id", + "last_access", + b"last_access", + "location", + b"location", + "name", + b"name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'id', b'id', 'last_access', b'last_access', 'location', b'location', 'name', b'name']) -> None: - ... global___Robot = Robot @typing_extensions.final @@ -108,43 +139,97 @@ class RobotPart(google.protobuf.message.Message): id: builtins.str name: builtins.str dns_name: builtins.str - 'dns_name part name used for fqdn and local fqdn. Anytime the Name is updated this should be sanitized and updated as well.' + "dns_name part name used for fqdn and local fqdn. Anytime the Name is updated this should be sanitized and updated as well." secret: builtins.str robot: builtins.str location_id: builtins.str - 'Store the location_id to allow for unique indexes across parts and locations. This filed MUST be updated each time the robots location\n changes.\n ' + "Store the location_id to allow for unique indexes across parts and locations. This filed MUST be updated each time the robots location\n changes.\n " @property - def robot_config(self) -> google.protobuf.struct_pb2.Struct: - ... - + def robot_config(self) -> google.protobuf.struct_pb2.Struct: ... @property - def last_access(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def last_access(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def user_supplied_info(self) -> google.protobuf.struct_pb2.Struct: - ... + def user_supplied_info(self) -> google.protobuf.struct_pb2.Struct: ... main_part: builtins.bool fqdn: builtins.str local_fqdn: builtins.str @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def secrets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SharedSecret]: + def secrets( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___SharedSecret + ]: """List of secrets allowed for authentication.""" - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., dns_name: builtins.str=..., secret: builtins.str=..., robot: builtins.str=..., location_id: builtins.str=..., robot_config: google.protobuf.struct_pb2.Struct | None=..., last_access: google.protobuf.timestamp_pb2.Timestamp | None=..., user_supplied_info: google.protobuf.struct_pb2.Struct | None=..., main_part: builtins.bool=..., fqdn: builtins.str=..., local_fqdn: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., secrets: collections.abc.Iterable[global___SharedSecret] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'last_access', b'last_access', 'robot_config', b'robot_config', 'user_supplied_info', b'user_supplied_info']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + dns_name: builtins.str = ..., + secret: builtins.str = ..., + robot: builtins.str = ..., + location_id: builtins.str = ..., + robot_config: google.protobuf.struct_pb2.Struct | None = ..., + last_access: google.protobuf.timestamp_pb2.Timestamp | None = ..., + user_supplied_info: google.protobuf.struct_pb2.Struct | None = ..., + main_part: builtins.bool = ..., + fqdn: builtins.str = ..., + local_fqdn: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + secrets: collections.abc.Iterable[global___SharedSecret] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "last_access", + b"last_access", + "robot_config", + b"robot_config", + "user_supplied_info", + b"user_supplied_info", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "dns_name", + b"dns_name", + "fqdn", + b"fqdn", + "id", + b"id", + "last_access", + b"last_access", + "local_fqdn", + b"local_fqdn", + "location_id", + b"location_id", + "main_part", + b"main_part", + "name", + b"name", + "robot", + b"robot", + "robot_config", + b"robot_config", + "secret", + b"secret", + "secrets", + b"secrets", + "user_supplied_info", + b"user_supplied_info", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'dns_name', b'dns_name', 'fqdn', b'fqdn', 'id', b'id', 'last_access', b'last_access', 'local_fqdn', b'local_fqdn', 'location_id', b'location_id', 'main_part', b'main_part', 'name', b'name', 'robot', b'robot', 'robot_config', b'robot_config', 'secret', b'secret', 'secrets', b'secrets', 'user_supplied_info', b'user_supplied_info']) -> None: - ... global___RobotPart = RobotPart @typing_extensions.final @@ -158,29 +243,35 @@ class RobotPartHistoryEntry(google.protobuf.message.Message): robot: builtins.str @property - def when(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def when(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def old(self) -> global___RobotPart: - ... + def old(self) -> global___RobotPart: ... + def __init__( + self, + *, + part: builtins.str = ..., + robot: builtins.str = ..., + when: google.protobuf.timestamp_pb2.Timestamp | None = ..., + old: global___RobotPart | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["old", b"old", "when", b"when"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "old", b"old", "part", b"part", "robot", b"robot", "when", b"when" + ], + ) -> None: ... - def __init__(self, *, part: builtins.str=..., robot: builtins.str=..., when: google.protobuf.timestamp_pb2.Timestamp | None=..., old: global___RobotPart | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['old', b'old', 'when', b'when']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['old', b'old', 'part', b'part', 'robot', b'robot', 'when', b'when']) -> None: - ... global___RobotPartHistoryEntry = RobotPartHistoryEntry @typing_extensions.final class ListOrganizationsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ListOrganizationsRequest = ListOrganizationsRequest @typing_extensions.final @@ -196,24 +287,51 @@ class Organization(google.protobuf.message.Message): name: builtins.str @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... public_namespace: builtins.str default_region: builtins.str - 'GCS region of the organization. Locations created under this org will have their GCS region set to this by default and packages\n associated with this org will be stored in this region.\n ' + "GCS region of the organization. Locations created under this org will have their GCS region set to this by default and packages\n associated with this org will be stored in this region.\n " cid: builtins.str - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., public_namespace: builtins.str=..., default_region: builtins.str=..., cid: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_cid', b'_cid', 'cid', b'cid', 'created_on', b'created_on']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_cid', b'_cid', 'cid', b'cid', 'created_on', b'created_on', 'default_region', b'default_region', 'id', b'id', 'name', b'name', 'public_namespace', b'public_namespace']) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + public_namespace: builtins.str = ..., + default_region: builtins.str = ..., + cid: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_cid", b"_cid", "cid", b"cid", "created_on", b"created_on" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_cid", + b"_cid", + "cid", + b"cid", + "created_on", + b"created_on", + "default_region", + b"default_region", + "id", + b"id", + "name", + b"name", + "public_namespace", + b"public_namespace", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_cid", b"_cid"] + ) -> typing_extensions.Literal["cid"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_cid', b'_cid']) -> typing_extensions.Literal['cid'] | None: - ... global___Organization = Organization @typing_extensions.final @@ -226,28 +344,53 @@ class OrganizationMember(google.protobuf.message.Message): user_id: builtins.str @property - def emails(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def emails( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def date_added(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def date_added(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def last_login(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, user_id: builtins.str=..., emails: collections.abc.Iterable[builtins.str] | None=..., date_added: google.protobuf.timestamp_pb2.Timestamp | None=..., last_login: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_last_login', b'_last_login', 'date_added', b'date_added', 'last_login', b'last_login']) -> builtins.bool: - ... + def last_login(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + user_id: builtins.str = ..., + emails: collections.abc.Iterable[builtins.str] | None = ..., + date_added: google.protobuf.timestamp_pb2.Timestamp | None = ..., + last_login: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_last_login", + b"_last_login", + "date_added", + b"date_added", + "last_login", + b"last_login", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_last_login", + b"_last_login", + "date_added", + b"date_added", + "emails", + b"emails", + "last_login", + b"last_login", + "user_id", + b"user_id", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_last_login", b"_last_login"] + ) -> typing_extensions.Literal["last_login"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_last_login', b'_last_login', 'date_added', b'date_added', 'emails', b'emails', 'last_login', b'last_login', 'user_id', b'user_id']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_last_login', b'_last_login']) -> typing_extensions.Literal['last_login'] | None: - ... global___OrganizationMember = OrganizationMember @typing_extensions.final @@ -256,14 +399,20 @@ class ListOrganizationsResponse(google.protobuf.message.Message): ORGANIZATIONS_FIELD_NUMBER: builtins.int @property - def organizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Organization]: - ... - - def __init__(self, *, organizations: collections.abc.Iterable[global___Organization] | None=...) -> None: - ... + def organizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Organization + ]: ... + def __init__( + self, + *, + organizations: collections.abc.Iterable[global___Organization] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["organizations", b"organizations"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organizations', b'organizations']) -> None: - ... global___ListOrganizationsResponse = ListOrganizationsResponse @typing_extensions.final @@ -277,21 +426,38 @@ class OrganizationInvite(google.protobuf.message.Message): email: builtins.str @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... - - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., authorizations: collections.abc.Iterable[global___Authorization] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on']) -> builtins.bool: - ... + def authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + email: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + authorizations: collections.abc.Iterable[global___Authorization] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["created_on", b"created_on"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorizations", + b"authorizations", + "created_on", + b"created_on", + "email", + b"email", + "organization_id", + b"organization_id", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorizations', b'authorizations', 'created_on', b'created_on', 'email', b'email', 'organization_id', b'organization_id']) -> None: - ... global___OrganizationInvite = OrganizationInvite @typing_extensions.final @@ -300,11 +466,11 @@ class CreateOrganizationRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___CreateOrganizationRequest = CreateOrganizationRequest @typing_extensions.final @@ -313,17 +479,15 @@ class CreateOrganizationResponse(google.protobuf.message.Message): ORGANIZATION_FIELD_NUMBER: builtins.int @property - def organization(self) -> global___Organization: - ... + def organization(self) -> global___Organization: ... + def __init__(self, *, organization: global___Organization | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> None: ... - def __init__(self, *, organization: global___Organization | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> None: - ... global___CreateOrganizationResponse = CreateOrganizationResponse @typing_extensions.final @@ -332,11 +496,12 @@ class GetOrganizationRequest(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___GetOrganizationRequest = GetOrganizationRequest @typing_extensions.final @@ -345,17 +510,15 @@ class GetOrganizationResponse(google.protobuf.message.Message): ORGANIZATION_FIELD_NUMBER: builtins.int @property - def organization(self) -> global___Organization: - ... - - def __init__(self, *, organization: global___Organization | None=...) -> None: - ... + def organization(self) -> global___Organization: ... + def __init__(self, *, organization: global___Organization | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> None: - ... global___GetOrganizationResponse = GetOrganizationResponse @typing_extensions.final @@ -364,12 +527,15 @@ class GetOrganizationNamespaceAvailabilityRequest(google.protobuf.message.Messag PUBLIC_NAMESPACE_FIELD_NUMBER: builtins.int public_namespace: builtins.str - def __init__(self, *, public_namespace: builtins.str=...) -> None: - ... + def __init__(self, *, public_namespace: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["public_namespace", b"public_namespace"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['public_namespace', b'public_namespace']) -> None: - ... -global___GetOrganizationNamespaceAvailabilityRequest = GetOrganizationNamespaceAvailabilityRequest +global___GetOrganizationNamespaceAvailabilityRequest = ( + GetOrganizationNamespaceAvailabilityRequest +) @typing_extensions.final class GetOrganizationNamespaceAvailabilityResponse(google.protobuf.message.Message): @@ -377,12 +543,14 @@ class GetOrganizationNamespaceAvailabilityResponse(google.protobuf.message.Messa AVAILABLE_FIELD_NUMBER: builtins.int available: builtins.bool - def __init__(self, *, available: builtins.bool=...) -> None: - ... + def __init__(self, *, available: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["available", b"available"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['available', b'available']) -> None: - ... -global___GetOrganizationNamespaceAvailabilityResponse = GetOrganizationNamespaceAvailabilityResponse +global___GetOrganizationNamespaceAvailabilityResponse = ( + GetOrganizationNamespaceAvailabilityResponse +) @typing_extensions.final class UpdateOrganizationRequest(google.protobuf.message.Message): @@ -396,33 +564,82 @@ class UpdateOrganizationRequest(google.protobuf.message.Message): name: builtins.str public_namespace: builtins.str region: builtins.str - 'The new GCS region to associate the org with.' + "The new GCS region to associate the org with." cid: builtins.str - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str | None=..., public_namespace: builtins.str | None=..., region: builtins.str | None=..., cid: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_cid', b'_cid', '_name', b'_name', '_public_namespace', b'_public_namespace', '_region', b'_region', 'cid', b'cid', 'name', b'name', 'public_namespace', b'public_namespace', 'region', b'region']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_cid', b'_cid', '_name', b'_name', '_public_namespace', b'_public_namespace', '_region', b'_region', 'cid', b'cid', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'region', b'region']) -> None: - ... - + def __init__( + self, + *, + organization_id: builtins.str = ..., + name: builtins.str | None = ..., + public_namespace: builtins.str | None = ..., + region: builtins.str | None = ..., + cid: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_cid", + b"_cid", + "_name", + b"_name", + "_public_namespace", + b"_public_namespace", + "_region", + b"_region", + "cid", + b"cid", + "name", + b"name", + "public_namespace", + b"public_namespace", + "region", + b"region", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_cid", + b"_cid", + "_name", + b"_name", + "_public_namespace", + b"_public_namespace", + "_region", + b"_region", + "cid", + b"cid", + "name", + b"name", + "organization_id", + b"organization_id", + "public_namespace", + b"public_namespace", + "region", + b"region", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_cid', b'_cid']) -> typing_extensions.Literal['cid'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_cid", b"_cid"] + ) -> typing_extensions.Literal["cid"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_name', b'_name']) -> typing_extensions.Literal['name'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_name", b"_name"] + ) -> typing_extensions.Literal["name"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_public_namespace', b'_public_namespace']) -> typing_extensions.Literal['public_namespace'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_public_namespace", b"_public_namespace" + ], + ) -> typing_extensions.Literal["public_namespace"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_region', b'_region']) -> typing_extensions.Literal['region'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_region", b"_region"] + ) -> typing_extensions.Literal["region"] | None: ... + global___UpdateOrganizationRequest = UpdateOrganizationRequest @typing_extensions.final @@ -431,17 +648,15 @@ class UpdateOrganizationResponse(google.protobuf.message.Message): ORGANIZATION_FIELD_NUMBER: builtins.int @property - def organization(self) -> global___Organization: - ... - - def __init__(self, *, organization: global___Organization | None=...) -> None: - ... + def organization(self) -> global___Organization: ... + def __init__(self, *, organization: global___Organization | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["organization", b"organization"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['organization', b'organization']) -> None: - ... global___UpdateOrganizationResponse = UpdateOrganizationResponse @typing_extensions.final @@ -450,19 +665,20 @@ class DeleteOrganizationRequest(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___DeleteOrganizationRequest = DeleteOrganizationRequest @typing_extensions.final class DeleteOrganizationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteOrganizationResponse = DeleteOrganizationResponse @typing_extensions.final @@ -471,11 +687,12 @@ class ListOrganizationMembersRequest(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___ListOrganizationMembersRequest = ListOrganizationMembersRequest @typing_extensions.final @@ -487,18 +704,36 @@ class ListOrganizationMembersResponse(google.protobuf.message.Message): organization_id: builtins.str @property - def members(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationMember]: - ... - + def members( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___OrganizationMember + ]: ... @property - def invites(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationInvite]: - ... + def invites( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___OrganizationInvite + ]: ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + members: collections.abc.Iterable[global___OrganizationMember] | None = ..., + invites: collections.abc.Iterable[global___OrganizationInvite] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "invites", + b"invites", + "members", + b"members", + "organization_id", + b"organization_id", + ], + ) -> None: ... - def __init__(self, *, organization_id: builtins.str=..., members: collections.abc.Iterable[global___OrganizationMember] | None=..., invites: collections.abc.Iterable[global___OrganizationInvite] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['invites', b'invites', 'members', b'members', 'organization_id', b'organization_id']) -> None: - ... global___ListOrganizationMembersResponse = ListOrganizationMembersResponse @typing_extensions.final @@ -511,14 +746,30 @@ class CreateOrganizationInviteRequest(google.protobuf.message.Message): email: builtins.str @property - def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... - - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=..., authorizations: collections.abc.Iterable[global___Authorization] | None=...) -> None: - ... + def authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + email: builtins.str = ..., + authorizations: collections.abc.Iterable[global___Authorization] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorizations", + b"authorizations", + "email", + b"email", + "organization_id", + b"organization_id", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorizations', b'authorizations', 'email', b'email', 'organization_id', b'organization_id']) -> None: - ... global___CreateOrganizationInviteRequest = CreateOrganizationInviteRequest @typing_extensions.final @@ -527,17 +778,15 @@ class CreateOrganizationInviteResponse(google.protobuf.message.Message): INVITE_FIELD_NUMBER: builtins.int @property - def invite(self) -> global___OrganizationInvite: - ... - - def __init__(self, *, invite: global___OrganizationInvite | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> builtins.bool: - ... + def invite(self) -> global___OrganizationInvite: ... + def __init__(self, *, invite: global___OrganizationInvite | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> None: - ... global___CreateOrganizationInviteResponse = CreateOrganizationInviteResponse @typing_extensions.final @@ -551,19 +800,44 @@ class UpdateOrganizationInviteAuthorizationsRequest(google.protobuf.message.Mess email: builtins.str @property - def add_authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... - + def add_authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... @property - def remove_authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... - - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=..., add_authorizations: collections.abc.Iterable[global___Authorization] | None=..., remove_authorizations: collections.abc.Iterable[global___Authorization] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['add_authorizations', b'add_authorizations', 'email', b'email', 'organization_id', b'organization_id', 'remove_authorizations', b'remove_authorizations']) -> None: - ... -global___UpdateOrganizationInviteAuthorizationsRequest = UpdateOrganizationInviteAuthorizationsRequest + def remove_authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + email: builtins.str = ..., + add_authorizations: collections.abc.Iterable[global___Authorization] + | None = ..., + remove_authorizations: collections.abc.Iterable[global___Authorization] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "add_authorizations", + b"add_authorizations", + "email", + b"email", + "organization_id", + b"organization_id", + "remove_authorizations", + b"remove_authorizations", + ], + ) -> None: ... + +global___UpdateOrganizationInviteAuthorizationsRequest = ( + UpdateOrganizationInviteAuthorizationsRequest +) @typing_extensions.final class UpdateOrganizationInviteAuthorizationsResponse(google.protobuf.message.Message): @@ -571,18 +845,18 @@ class UpdateOrganizationInviteAuthorizationsResponse(google.protobuf.message.Mes INVITE_FIELD_NUMBER: builtins.int @property - def invite(self) -> global___OrganizationInvite: - ... + def invite(self) -> global___OrganizationInvite: ... + def __init__(self, *, invite: global___OrganizationInvite | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> None: ... - def __init__(self, *, invite: global___OrganizationInvite | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> None: - ... -global___UpdateOrganizationInviteAuthorizationsResponse = UpdateOrganizationInviteAuthorizationsResponse +global___UpdateOrganizationInviteAuthorizationsResponse = ( + UpdateOrganizationInviteAuthorizationsResponse +) @typing_extensions.final class DeleteOrganizationInviteRequest(google.protobuf.message.Message): @@ -592,19 +866,24 @@ class DeleteOrganizationInviteRequest(google.protobuf.message.Message): organization_id: builtins.str email: builtins.str - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., email: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "email", b"email", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['email', b'email', 'organization_id', b'organization_id']) -> None: - ... global___DeleteOrganizationInviteRequest = DeleteOrganizationInviteRequest @typing_extensions.final class DeleteOrganizationInviteResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteOrganizationInviteResponse = DeleteOrganizationInviteResponse @typing_extensions.final @@ -615,11 +894,16 @@ class ResendOrganizationInviteRequest(google.protobuf.message.Message): organization_id: builtins.str email: builtins.str - def __init__(self, *, organization_id: builtins.str=..., email: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., email: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "email", b"email", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['email', b'email', 'organization_id', b'organization_id']) -> None: - ... global___ResendOrganizationInviteRequest = ResendOrganizationInviteRequest @typing_extensions.final @@ -628,17 +912,15 @@ class ResendOrganizationInviteResponse(google.protobuf.message.Message): INVITE_FIELD_NUMBER: builtins.int @property - def invite(self) -> global___OrganizationInvite: - ... + def invite(self) -> global___OrganizationInvite: ... + def __init__(self, *, invite: global___OrganizationInvite | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["invite", b"invite"] + ) -> None: ... - def __init__(self, *, invite: global___OrganizationInvite | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['invite', b'invite']) -> None: - ... global___ResendOrganizationInviteResponse = ResendOrganizationInviteResponse @typing_extensions.final @@ -649,19 +931,24 @@ class DeleteOrganizationMemberRequest(google.protobuf.message.Message): organization_id: builtins.str user_id: builtins.str - def __init__(self, *, organization_id: builtins.str=..., user_id: builtins.str=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., user_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "user_id", b"user_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'user_id', b'user_id']) -> None: - ... global___DeleteOrganizationMemberRequest = DeleteOrganizationMemberRequest @typing_extensions.final class DeleteOrganizationMemberResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteOrganizationMemberResponse = DeleteOrganizationMemberResponse @typing_extensions.final @@ -671,19 +958,20 @@ class OrganizationIdentity(google.protobuf.message.Message): Used for rendering an organization's information on the frontend (limited to id, name, or both). """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int id: builtins.str - 'Organization ID.' + "Organization ID." name: builtins.str - 'Organization name.' + "Organization name." - def __init__(self, *, id: builtins.str=..., name: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ..., name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name']) -> None: - ... global___OrganizationIdentity = OrganizationIdentity @typing_extensions.final @@ -692,15 +980,20 @@ class LocationOrganization(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int PRIMARY_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'Organization ID the location is shared with.' + "Organization ID the location is shared with." primary: builtins.bool - 'Whether the organization is the primary owner or not.' - - def __init__(self, *, organization_id: builtins.str=..., primary: builtins.bool=...) -> None: - ... + "Whether the organization is the primary owner or not." + + def __init__( + self, *, organization_id: builtins.str = ..., primary: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "primary", b"primary" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'primary', b'primary']) -> None: - ... global___LocationOrganization = LocationOrganization @typing_extensions.final @@ -710,19 +1003,32 @@ class LocationAuth(google.protobuf.message.Message): LOCATION_ID_FIELD_NUMBER: builtins.int SECRETS_FIELD_NUMBER: builtins.int secret: builtins.str - 'Deprecated: use secrets field.' + "Deprecated: use secrets field." location_id: builtins.str - 'Location ID containing this LocationAuth.' + "Location ID containing this LocationAuth." @property - def secrets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___SharedSecret]: + def secrets( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___SharedSecret + ]: """List of secrets used to authenticate to the Location.""" - def __init__(self, *, secret: builtins.str=..., location_id: builtins.str=..., secrets: collections.abc.Iterable[global___SharedSecret] | None=...) -> None: - ... + def __init__( + self, + *, + secret: builtins.str = ..., + location_id: builtins.str = ..., + secrets: collections.abc.Iterable[global___SharedSecret] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", b"location_id", "secret", b"secret", "secrets", b"secrets" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'secret', b'secret', 'secrets', b'secrets']) -> None: - ... global___LocationAuth = LocationAuth @typing_extensions.final @@ -730,13 +1036,13 @@ class StorageConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor REGION_FIELD_NUMBER: builtins.int region: builtins.str - 'GCS region that data is stored in.' + "GCS region that data is stored in." - def __init__(self, *, region: builtins.str=...) -> None: - ... + def __init__(self, *, region: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["region", b"region"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['region', b'region']) -> None: - ... global___StorageConfig = StorageConfig @typing_extensions.final @@ -751,86 +1057,145 @@ class Location(google.protobuf.message.Message): ROBOT_COUNT_FIELD_NUMBER: builtins.int CONFIG_FIELD_NUMBER: builtins.int id: builtins.str - 'Location ID.' + "Location ID." name: builtins.str - 'Location name.' + "Location name." parent_location_id: builtins.str - 'Location ID of the parent location.' + "Location ID of the parent location." @property def auth(self) -> global___LocationAuth: """Location authentication secrets.""" @property - def organizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocationOrganization]: + def organizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___LocationOrganization + ]: """Organizations that the location is shared with.""" @property def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: """Location creation timestamp.""" robot_count: builtins.int - '' + "" @property def config(self) -> global___StorageConfig: """Config for how data in this location is stored.""" - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., parent_location_id: builtins.str=..., auth: global___LocationAuth | None=..., organizations: collections.abc.Iterable[global___LocationOrganization] | None=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., robot_count: builtins.int=..., config: global___StorageConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['auth', b'auth', 'config', b'config', 'created_on', b'created_on']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + parent_location_id: builtins.str = ..., + auth: global___LocationAuth | None = ..., + organizations: collections.abc.Iterable[global___LocationOrganization] + | None = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + robot_count: builtins.int = ..., + config: global___StorageConfig | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "auth", b"auth", "config", b"config", "created_on", b"created_on" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "auth", + b"auth", + "config", + b"config", + "created_on", + b"created_on", + "id", + b"id", + "name", + b"name", + "organizations", + b"organizations", + "parent_location_id", + b"parent_location_id", + "robot_count", + b"robot_count", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['auth', b'auth', 'config', b'config', 'created_on', b'created_on', 'id', b'id', 'name', b'name', 'organizations', b'organizations', 'parent_location_id', b'parent_location_id', 'robot_count', b'robot_count']) -> None: - ... global___Location = Location @typing_extensions.final class SharedSecret(google.protobuf.message.Message): """SharedSecret is a secret used for LocationAuth and RobotParts.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor class _State: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType - class _StateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[SharedSecret._State.ValueType], builtins.type): + class _StateEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + SharedSecret._State.ValueType + ], + builtins.type, + ): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor STATE_UNSPECIFIED: SharedSecret._State.ValueType STATE_ENABLED: SharedSecret._State.ValueType - 'Secret is enabled and can be used in authentication.' + "Secret is enabled and can be used in authentication." STATE_DISABLED: SharedSecret._State.ValueType - 'Secret is disabled and must not be used to authenticate to rpc.' + "Secret is disabled and must not be used to authenticate to rpc." - class State(_State, metaclass=_StateEnumTypeWrapper): - ... + class State(_State, metaclass=_StateEnumTypeWrapper): ... STATE_UNSPECIFIED: SharedSecret.State.ValueType STATE_ENABLED: SharedSecret.State.ValueType - 'Secret is enabled and can be used in authentication.' + "Secret is enabled and can be used in authentication." STATE_DISABLED: SharedSecret.State.ValueType - 'Secret is disabled and must not be used to authenticate to rpc.' + "Secret is disabled and must not be used to authenticate to rpc." ID_FIELD_NUMBER: builtins.int SECRET_FIELD_NUMBER: builtins.int CREATED_ON_FIELD_NUMBER: builtins.int STATE_FIELD_NUMBER: builtins.int id: builtins.str secret: builtins.str - 'The payload of the secret. Used during authentication to the rpc framework.' + "The payload of the secret. Used during authentication to the rpc framework." @property def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: """Date/time the secret was first created.""" state: global___SharedSecret.State.ValueType - 'State of the shared secret. In most cases it should be enabled. We may support\n disabling a specific secret while keeping it in the database.\n ' - - def __init__(self, *, id: builtins.str=..., secret: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., state: global___SharedSecret.State.ValueType=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on']) -> builtins.bool: - ... + "State of the shared secret. In most cases it should be enabled. We may support\n disabling a specific secret while keeping it in the database.\n " + + def __init__( + self, + *, + id: builtins.str = ..., + secret: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + state: global___SharedSecret.State.ValueType = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["created_on", b"created_on"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "id", + b"id", + "secret", + b"secret", + "state", + b"state", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'id', b'id', 'secret', b'secret', 'state', b'state']) -> None: - ... global___SharedSecret = SharedSecret @typing_extensions.final @@ -840,23 +1205,48 @@ class CreateLocationRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int PARENT_LOCATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'Organization ID to create the location under.' + "Organization ID to create the location under." name: builtins.str - 'Name of the location.' + "Name of the location." parent_location_id: builtins.str - 'The new parent location to move the location under.' + "The new parent location to move the location under." + + def __init__( + self, + *, + organization_id: builtins.str = ..., + name: builtins.str = ..., + parent_location_id: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_parent_location_id", + b"_parent_location_id", + "parent_location_id", + b"parent_location_id", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_parent_location_id", + b"_parent_location_id", + "name", + b"name", + "organization_id", + b"organization_id", + "parent_location_id", + b"parent_location_id", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_parent_location_id", b"_parent_location_id" + ], + ) -> typing_extensions.Literal["parent_location_id"] | None: ... - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., parent_location_id: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_parent_location_id', b'_parent_location_id', 'parent_location_id', b'parent_location_id']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_parent_location_id', b'_parent_location_id', 'name', b'name', 'organization_id', b'organization_id', 'parent_location_id', b'parent_location_id']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_parent_location_id', b'_parent_location_id']) -> typing_extensions.Literal['parent_location_id'] | None: - ... global___CreateLocationRequest = CreateLocationRequest @typing_extensions.final @@ -868,14 +1258,14 @@ class CreateLocationResponse(google.protobuf.message.Message): def location(self) -> global___Location: """Location object is returned.""" - def __init__(self, *, location: global___Location | None=...) -> None: - ... + def __init__(self, *, location: global___Location | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['location', b'location']) -> None: - ... global___CreateLocationResponse = CreateLocationResponse @typing_extensions.final @@ -883,13 +1273,13 @@ class GetLocationRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID of location to get.' + "Location ID of location to get." - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... global___GetLocationRequest = GetLocationRequest @typing_extensions.final @@ -901,14 +1291,14 @@ class GetLocationResponse(google.protobuf.message.Message): def location(self) -> global___Location: """Location object is returned.""" - def __init__(self, *, location: global___Location | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... + def __init__(self, *, location: global___Location | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location', b'location']) -> None: - ... global___GetLocationResponse = GetLocationResponse @typing_extensions.final @@ -919,34 +1309,74 @@ class UpdateLocationRequest(google.protobuf.message.Message): PARENT_LOCATION_ID_FIELD_NUMBER: builtins.int REGION_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID of location to update.' + "Location ID of location to update." name: builtins.str - 'The new name to be updated on location.' + "The new name to be updated on location." parent_location_id: builtins.str - 'The new parent location to move the location under.' + "The new parent location to move the location under." region: builtins.str - 'The new GCS region to associate the location with.' - - def __init__(self, *, location_id: builtins.str=..., name: builtins.str | None=..., parent_location_id: builtins.str | None=..., region: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_name', b'_name', '_parent_location_id', b'_parent_location_id', '_region', b'_region', 'name', b'name', 'parent_location_id', b'parent_location_id', 'region', b'region']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_name', b'_name', '_parent_location_id', b'_parent_location_id', '_region', b'_region', 'location_id', b'location_id', 'name', b'name', 'parent_location_id', b'parent_location_id', 'region', b'region']) -> None: - ... - + "The new GCS region to associate the location with." + + def __init__( + self, + *, + location_id: builtins.str = ..., + name: builtins.str | None = ..., + parent_location_id: builtins.str | None = ..., + region: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_name", + b"_name", + "_parent_location_id", + b"_parent_location_id", + "_region", + b"_region", + "name", + b"name", + "parent_location_id", + b"parent_location_id", + "region", + b"region", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_name", + b"_name", + "_parent_location_id", + b"_parent_location_id", + "_region", + b"_region", + "location_id", + b"location_id", + "name", + b"name", + "parent_location_id", + b"parent_location_id", + "region", + b"region", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_name', b'_name']) -> typing_extensions.Literal['name'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_name", b"_name"] + ) -> typing_extensions.Literal["name"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_parent_location_id', b'_parent_location_id']) -> typing_extensions.Literal['parent_location_id'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_parent_location_id", b"_parent_location_id" + ], + ) -> typing_extensions.Literal["parent_location_id"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_region', b'_region']) -> typing_extensions.Literal['region'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_region", b"_region"] + ) -> typing_extensions.Literal["region"] | None: ... + global___UpdateLocationRequest = UpdateLocationRequest @typing_extensions.final @@ -958,14 +1388,14 @@ class UpdateLocationResponse(google.protobuf.message.Message): def location(self) -> global___Location: """Location object is returned.""" - def __init__(self, *, location: global___Location | None=...) -> None: - ... + def __init__(self, *, location: global___Location | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['location', b'location']) -> None: - ... global___UpdateLocationResponse = UpdateLocationResponse @typing_extensions.final @@ -973,21 +1403,21 @@ class DeleteLocationRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID of location to delete.' + "Location ID of location to delete." - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... global___DeleteLocationRequest = DeleteLocationRequest @typing_extensions.final class DeleteLocationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteLocationResponse = DeleteLocationResponse @typing_extensions.final @@ -996,12 +1426,14 @@ class GetOrganizationsWithAccessToLocationRequest(google.protobuf.message.Messag LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... -global___GetOrganizationsWithAccessToLocationRequest = GetOrganizationsWithAccessToLocationRequest +global___GetOrganizationsWithAccessToLocationRequest = ( + GetOrganizationsWithAccessToLocationRequest +) @typing_extensions.final class GetOrganizationsWithAccessToLocationResponse(google.protobuf.message.Message): @@ -1009,28 +1441,41 @@ class GetOrganizationsWithAccessToLocationResponse(google.protobuf.message.Messa ORGANIZATION_IDENTITIES_FIELD_NUMBER: builtins.int @property - def organization_identities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrganizationIdentity]: - ... - - def __init__(self, *, organization_identities: collections.abc.Iterable[global___OrganizationIdentity] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['organization_identities', b'organization_identities']) -> None: - ... -global___GetOrganizationsWithAccessToLocationResponse = GetOrganizationsWithAccessToLocationResponse + def organization_identities( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___OrganizationIdentity + ]: ... + def __init__( + self, + *, + organization_identities: collections.abc.Iterable[global___OrganizationIdentity] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_identities", b"organization_identities" + ], + ) -> None: ... + +global___GetOrganizationsWithAccessToLocationResponse = ( + GetOrganizationsWithAccessToLocationResponse +) @typing_extensions.final class ListLocationsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'Organization ID under which to list all locations.' + "Organization ID under which to list all locations." - def __init__(self, *, organization_id: builtins.str=...) -> None: - ... + def __init__(self, *, organization_id: builtins.str = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["organization_id", b"organization_id"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id']) -> None: - ... global___ListLocationsRequest = ListLocationsRequest @typing_extensions.final @@ -1039,23 +1484,28 @@ class ShareLocationRequest(google.protobuf.message.Message): LOCATION_ID_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID to be shared.' + "Location ID to be shared." organization_id: builtins.str - 'Organization ID to share the location with.' - - def __init__(self, *, location_id: builtins.str=..., organization_id: builtins.str=...) -> None: - ... + "Organization ID to share the location with." + + def __init__( + self, *, location_id: builtins.str = ..., organization_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", b"location_id", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'organization_id', b'organization_id']) -> None: - ... global___ShareLocationRequest = ShareLocationRequest @typing_extensions.final class ShareLocationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ShareLocationResponse = ShareLocationResponse @typing_extensions.final @@ -1064,23 +1514,28 @@ class UnshareLocationRequest(google.protobuf.message.Message): LOCATION_ID_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID to be unshared.' + "Location ID to be unshared." organization_id: builtins.str - 'Organization ID to unshare the location with.' + "Organization ID to unshare the location with." + + def __init__( + self, *, location_id: builtins.str = ..., organization_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", b"location_id", "organization_id", b"organization_id" + ], + ) -> None: ... - def __init__(self, *, location_id: builtins.str=..., organization_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'organization_id', b'organization_id']) -> None: - ... global___UnshareLocationRequest = UnshareLocationRequest @typing_extensions.final class UnshareLocationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___UnshareLocationResponse = UnshareLocationResponse @typing_extensions.final @@ -1089,14 +1544,18 @@ class ListLocationsResponse(google.protobuf.message.Message): LOCATIONS_FIELD_NUMBER: builtins.int @property - def locations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Location]: - ... - - def __init__(self, *, locations: collections.abc.Iterable[global___Location] | None=...) -> None: - ... + def locations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Location + ]: ... + def __init__( + self, *, locations: collections.abc.Iterable[global___Location] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["locations", b"locations"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['locations', b'locations']) -> None: - ... global___ListLocationsResponse = ListLocationsResponse @typing_extensions.final @@ -1104,13 +1563,13 @@ class CreateLocationSecretRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - 'Location ID to create the secret in.' + "Location ID to create the secret in." - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... global___CreateLocationSecretRequest = CreateLocationSecretRequest @typing_extensions.final @@ -1122,14 +1581,14 @@ class CreateLocationSecretResponse(google.protobuf.message.Message): def auth(self) -> global___LocationAuth: """Location's auth after updates.""" - def __init__(self, *, auth: global___LocationAuth | None=...) -> None: - ... + def __init__(self, *, auth: global___LocationAuth | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["auth", b"auth"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["auth", b"auth"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['auth', b'auth']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['auth', b'auth']) -> None: - ... global___CreateLocationSecretResponse = CreateLocationSecretResponse @typing_extensions.final @@ -1140,19 +1599,24 @@ class DeleteLocationSecretRequest(google.protobuf.message.Message): location_id: builtins.str secret_id: builtins.str - def __init__(self, *, location_id: builtins.str=..., secret_id: builtins.str=...) -> None: - ... + def __init__( + self, *, location_id: builtins.str = ..., secret_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", b"location_id", "secret_id", b"secret_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'secret_id', b'secret_id']) -> None: - ... global___DeleteLocationSecretRequest = DeleteLocationSecretRequest @typing_extensions.final class DeleteLocationSecretResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteLocationSecretResponse = DeleteLocationSecretResponse @typing_extensions.final @@ -1161,11 +1625,11 @@ class LocationAuthRequest(google.protobuf.message.Message): LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... global___LocationAuthRequest = LocationAuthRequest @typing_extensions.final @@ -1174,17 +1638,15 @@ class LocationAuthResponse(google.protobuf.message.Message): AUTH_FIELD_NUMBER: builtins.int @property - def auth(self) -> global___LocationAuth: - ... + def auth(self) -> global___LocationAuth: ... + def __init__(self, *, auth: global___LocationAuth | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["auth", b"auth"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["auth", b"auth"] + ) -> None: ... - def __init__(self, *, auth: global___LocationAuth | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['auth', b'auth']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['auth', b'auth']) -> None: - ... global___LocationAuthResponse = LocationAuthResponse @typing_extensions.final @@ -1193,11 +1655,11 @@ class GetRobotRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetRobotRequest = GetRobotRequest @typing_extensions.final @@ -1206,11 +1668,11 @@ class GetRoverRentalRobotsRequest(google.protobuf.message.Message): ORG_ID_FIELD_NUMBER: builtins.int org_id: builtins.str - def __init__(self, *, org_id: builtins.str=...) -> None: - ... + def __init__(self, *, org_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... global___GetRoverRentalRobotsRequest = GetRoverRentalRobotsRequest @typing_extensions.final @@ -1225,11 +1687,28 @@ class RoverRentalRobot(google.protobuf.message.Message): robot_name: builtins.str robot_main_part_id: builtins.str - def __init__(self, *, robot_id: builtins.str=..., location_id: builtins.str=..., robot_name: builtins.str=..., robot_main_part_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + robot_id: builtins.str = ..., + location_id: builtins.str = ..., + robot_name: builtins.str = ..., + robot_main_part_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", + b"location_id", + "robot_id", + b"robot_id", + "robot_main_part_id", + b"robot_main_part_id", + "robot_name", + b"robot_name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'robot_id', b'robot_id', 'robot_main_part_id', b'robot_main_part_id', 'robot_name', b'robot_name']) -> None: - ... global___RoverRentalRobot = RoverRentalRobot @typing_extensions.final @@ -1238,14 +1717,20 @@ class GetRoverRentalRobotsResponse(google.protobuf.message.Message): ROBOTS_FIELD_NUMBER: builtins.int @property - def robots(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RoverRentalRobot]: - ... - - def __init__(self, *, robots: collections.abc.Iterable[global___RoverRentalRobot] | None=...) -> None: - ... + def robots( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___RoverRentalRobot + ]: ... + def __init__( + self, + *, + robots: collections.abc.Iterable[global___RoverRentalRobot] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["robots", b"robots"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['robots', b'robots']) -> None: - ... global___GetRoverRentalRobotsResponse = GetRoverRentalRobotsResponse @typing_extensions.final @@ -1254,17 +1739,15 @@ class GetRobotResponse(google.protobuf.message.Message): ROBOT_FIELD_NUMBER: builtins.int @property - def robot(self) -> global___Robot: - ... + def robot(self) -> global___Robot: ... + def __init__(self, *, robot: global___Robot | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["robot", b"robot"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["robot", b"robot"] + ) -> None: ... - def __init__(self, *, robot: global___Robot | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['robot', b'robot']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['robot', b'robot']) -> None: - ... global___GetRobotResponse = GetRobotResponse @typing_extensions.final @@ -1273,11 +1756,11 @@ class GetRobotPartsRequest(google.protobuf.message.Message): ROBOT_ID_FIELD_NUMBER: builtins.int robot_id: builtins.str - def __init__(self, *, robot_id: builtins.str=...) -> None: - ... + def __init__(self, *, robot_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["robot_id", b"robot_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['robot_id', b'robot_id']) -> None: - ... global___GetRobotPartsRequest = GetRobotPartsRequest @typing_extensions.final @@ -1286,14 +1769,18 @@ class GetRobotPartsResponse(google.protobuf.message.Message): PARTS_FIELD_NUMBER: builtins.int @property - def parts(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RobotPart]: - ... - - def __init__(self, *, parts: collections.abc.Iterable[global___RobotPart] | None=...) -> None: - ... + def parts( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___RobotPart + ]: ... + def __init__( + self, *, parts: collections.abc.Iterable[global___RobotPart] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["parts", b"parts"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['parts', b'parts']) -> None: - ... global___GetRobotPartsResponse = GetRobotPartsResponse @typing_extensions.final @@ -1302,11 +1789,11 @@ class GetRobotPartRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetRobotPartRequest = GetRobotPartRequest @typing_extensions.final @@ -1316,18 +1803,22 @@ class GetRobotPartResponse(google.protobuf.message.Message): CONFIG_JSON_FIELD_NUMBER: builtins.int @property - def part(self) -> global___RobotPart: - ... + def part(self) -> global___RobotPart: ... config_json: builtins.str - def __init__(self, *, part: global___RobotPart | None=..., config_json: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['part', b'part']) -> builtins.bool: - ... + def __init__( + self, *, part: global___RobotPart | None = ..., config_json: builtins.str = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["part", b"part"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "config_json", b"config_json", "part", b"part" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['config_json', b'config_json', 'part', b'part']) -> None: - ... global___GetRobotPartResponse = GetRobotPartResponse @typing_extensions.final @@ -1340,30 +1831,66 @@ class GetRobotPartLogsRequest(google.protobuf.message.Message): LEVELS_FIELD_NUMBER: builtins.int id: builtins.str errors_only: builtins.bool - 'TODO(https://viam.atlassian.net/browse/APP-3877): Remove this field' + "TODO(https://viam.atlassian.net/browse/APP-3877): Remove this field" filter: builtins.str page_token: builtins.str @property - def levels(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def levels( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """logs of all levels are returned when the levels field is empty""" - def __init__(self, *, id: builtins.str=..., errors_only: builtins.bool=..., filter: builtins.str | None=..., page_token: builtins.str | None=..., levels: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_filter', b'_filter', '_page_token', b'_page_token', 'filter', b'filter', 'page_token', b'page_token']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_filter', b'_filter', '_page_token', b'_page_token', 'errors_only', b'errors_only', 'filter', b'filter', 'id', b'id', 'levels', b'levels', 'page_token', b'page_token']) -> None: - ... - + def __init__( + self, + *, + id: builtins.str = ..., + errors_only: builtins.bool = ..., + filter: builtins.str | None = ..., + page_token: builtins.str | None = ..., + levels: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_filter", + b"_filter", + "_page_token", + b"_page_token", + "filter", + b"filter", + "page_token", + b"page_token", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_filter", + b"_filter", + "_page_token", + b"_page_token", + "errors_only", + b"errors_only", + "filter", + b"filter", + "id", + b"id", + "levels", + b"levels", + "page_token", + b"page_token", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_filter', b'_filter']) -> typing_extensions.Literal['filter'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_filter", b"_filter"] + ) -> typing_extensions.Literal["filter"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_page_token', b'_page_token']) -> typing_extensions.Literal['page_token'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_page_token", b"_page_token"] + ) -> typing_extensions.Literal["page_token"] | None: ... + global___GetRobotPartLogsRequest = GetRobotPartLogsRequest @typing_extensions.final @@ -1373,15 +1900,26 @@ class GetRobotPartLogsResponse(google.protobuf.message.Message): NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: - ... + def logs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.LogEntry + ]: ... next_page_token: builtins.str - def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=..., next_page_token: builtins.str=...) -> None: - ... + def __init__( + self, + *, + logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None = ..., + next_page_token: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "logs", b"logs", "next_page_token", b"next_page_token" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs', 'next_page_token', b'next_page_token']) -> None: - ... global___GetRobotPartLogsResponse = GetRobotPartLogsResponse @typing_extensions.final @@ -1394,17 +1932,36 @@ class TailRobotPartLogsRequest(google.protobuf.message.Message): errors_only: builtins.bool filter: builtins.str - def __init__(self, *, id: builtins.str=..., errors_only: builtins.bool=..., filter: builtins.str | None=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + errors_only: builtins.bool = ..., + filter: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_filter", b"_filter", "filter", b"filter" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_filter", + b"_filter", + "errors_only", + b"errors_only", + "filter", + b"filter", + "id", + b"id", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_filter", b"_filter"] + ) -> typing_extensions.Literal["filter"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['_filter', b'_filter', 'filter', b'filter']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_filter', b'_filter', 'errors_only', b'errors_only', 'filter', b'filter', 'id', b'id']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_filter', b'_filter']) -> typing_extensions.Literal['filter'] | None: - ... global___TailRobotPartLogsRequest = TailRobotPartLogsRequest @typing_extensions.final @@ -1413,14 +1970,20 @@ class TailRobotPartLogsResponse(google.protobuf.message.Message): LOGS_FIELD_NUMBER: builtins.int @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: - ... - - def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: - ... + def logs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.LogEntry + ]: ... + def __init__( + self, + *, + logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["logs", b"logs"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs']) -> None: - ... global___TailRobotPartLogsResponse = TailRobotPartLogsResponse @typing_extensions.final @@ -1429,11 +1992,11 @@ class GetRobotPartHistoryRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetRobotPartHistoryRequest = GetRobotPartHistoryRequest @typing_extensions.final @@ -1442,14 +2005,20 @@ class GetRobotPartHistoryResponse(google.protobuf.message.Message): HISTORY_FIELD_NUMBER: builtins.int @property - def history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RobotPartHistoryEntry]: - ... + def history( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___RobotPartHistoryEntry + ]: ... + def __init__( + self, + *, + history: collections.abc.Iterable[global___RobotPartHistoryEntry] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["history", b"history"] + ) -> None: ... - def __init__(self, *, history: collections.abc.Iterable[global___RobotPartHistoryEntry] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['history', b'history']) -> None: - ... global___GetRobotPartHistoryResponse = GetRobotPartHistoryResponse @typing_extensions.final @@ -1462,17 +2031,24 @@ class UpdateRobotPartRequest(google.protobuf.message.Message): name: builtins.str @property - def robot_config(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., robot_config: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['robot_config', b'robot_config']) -> builtins.bool: - ... + def robot_config(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + robot_config: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["robot_config", b"robot_config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", b"id", "name", b"name", "robot_config", b"robot_config" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'name', b'name', 'robot_config', b'robot_config']) -> None: - ... global___UpdateRobotPartRequest = UpdateRobotPartRequest @typing_extensions.final @@ -1481,17 +2057,15 @@ class UpdateRobotPartResponse(google.protobuf.message.Message): PART_FIELD_NUMBER: builtins.int @property - def part(self) -> global___RobotPart: - ... - - def __init__(self, *, part: global___RobotPart | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['part', b'part']) -> builtins.bool: - ... + def part(self) -> global___RobotPart: ... + def __init__(self, *, part: global___RobotPart | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["part", b"part"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["part", b"part"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part', b'part']) -> None: - ... global___UpdateRobotPartResponse = UpdateRobotPartResponse @typing_extensions.final @@ -1502,11 +2076,16 @@ class NewRobotPartRequest(google.protobuf.message.Message): robot_id: builtins.str part_name: builtins.str - def __init__(self, *, robot_id: builtins.str=..., part_name: builtins.str=...) -> None: - ... + def __init__( + self, *, robot_id: builtins.str = ..., part_name: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "part_name", b"part_name", "robot_id", b"robot_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_name', b'part_name', 'robot_id', b'robot_id']) -> None: - ... global___NewRobotPartRequest = NewRobotPartRequest @typing_extensions.final @@ -1515,11 +2094,11 @@ class NewRobotPartResponse(google.protobuf.message.Message): PART_ID_FIELD_NUMBER: builtins.int part_id: builtins.str - def __init__(self, *, part_id: builtins.str=...) -> None: - ... + def __init__(self, *, part_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["part_id", b"part_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id']) -> None: - ... global___NewRobotPartResponse = NewRobotPartResponse @typing_extensions.final @@ -1528,11 +2107,11 @@ class DeleteRobotPartRequest(google.protobuf.message.Message): PART_ID_FIELD_NUMBER: builtins.int part_id: builtins.str - def __init__(self, *, part_id: builtins.str=...) -> None: - ... + def __init__(self, *, part_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["part_id", b"part_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id']) -> None: - ... global___DeleteRobotPartRequest = DeleteRobotPartRequest @typing_extensions.final @@ -1541,11 +2120,11 @@ class GetRobotAPIKeysRequest(google.protobuf.message.Message): ROBOT_ID_FIELD_NUMBER: builtins.int robot_id: builtins.str - def __init__(self, *, robot_id: builtins.str=...) -> None: - ... + def __init__(self, *, robot_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["robot_id", b"robot_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['robot_id', b'robot_id']) -> None: - ... global___GetRobotAPIKeysRequest = GetRobotAPIKeysRequest @typing_extensions.final @@ -1560,17 +2139,25 @@ class APIKey(google.protobuf.message.Message): name: builtins.str @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, id: builtins.str=..., key: builtins.str=..., name: builtins.str=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on']) -> builtins.bool: - ... + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + id: builtins.str = ..., + key: builtins.str = ..., + name: builtins.str = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["created_on", b"created_on"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", b"created_on", "id", b"id", "key", b"key", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'id', b'id', 'key', b'key', 'name', b'name']) -> None: - ... global___APIKey = APIKey @typing_extensions.final @@ -1579,22 +2166,29 @@ class GetRobotAPIKeysResponse(google.protobuf.message.Message): API_KEYS_FIELD_NUMBER: builtins.int @property - def api_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKeyWithAuthorizations]: - ... + def api_keys( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___APIKeyWithAuthorizations + ]: ... + def __init__( + self, + *, + api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["api_keys", b"api_keys"] + ) -> None: ... - def __init__(self, *, api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['api_keys', b'api_keys']) -> None: - ... global___GetRobotAPIKeysResponse = GetRobotAPIKeysResponse @typing_extensions.final class DeleteRobotPartResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteRobotPartResponse = DeleteRobotPartResponse @typing_extensions.final @@ -1614,30 +2208,66 @@ class Fragment(google.protobuf.message.Message): name: builtins.str @property - def fragment(self) -> google.protobuf.struct_pb2.Struct: - ... + def fragment(self) -> google.protobuf.struct_pb2.Struct: ... organization_owner: builtins.str public: builtins.bool @property - def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def created_on(self) -> google.protobuf.timestamp_pb2.Timestamp: ... organization_name: builtins.str robot_part_count: builtins.int - 'number of robot parts using this fragment' + "number of robot parts using this fragment" organization_count: builtins.int - 'number of organizations using this fragment' + "number of organizations using this fragment" only_used_by_owner: builtins.bool - 'whether the organization(s) using this fragment is the same as the fragment org' + "whether the organization(s) using this fragment is the same as the fragment org" + + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + fragment: google.protobuf.struct_pb2.Struct | None = ..., + organization_owner: builtins.str = ..., + public: builtins.bool = ..., + created_on: google.protobuf.timestamp_pb2.Timestamp | None = ..., + organization_name: builtins.str = ..., + robot_part_count: builtins.int = ..., + organization_count: builtins.int = ..., + only_used_by_owner: builtins.bool = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_on", b"created_on", "fragment", b"fragment" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_on", + b"created_on", + "fragment", + b"fragment", + "id", + b"id", + "name", + b"name", + "only_used_by_owner", + b"only_used_by_owner", + "organization_count", + b"organization_count", + "organization_name", + b"organization_name", + "organization_owner", + b"organization_owner", + "public", + b"public", + "robot_part_count", + b"robot_part_count", + ], + ) -> None: ... - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., fragment: google.protobuf.struct_pb2.Struct | None=..., organization_owner: builtins.str=..., public: builtins.bool=..., created_on: google.protobuf.timestamp_pb2.Timestamp | None=..., organization_name: builtins.str=..., robot_part_count: builtins.int=..., organization_count: builtins.int=..., only_used_by_owner: builtins.bool=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'fragment', b'fragment']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['created_on', b'created_on', 'fragment', b'fragment', 'id', b'id', 'name', b'name', 'only_used_by_owner', b'only_used_by_owner', 'organization_count', b'organization_count', 'organization_name', b'organization_name', 'organization_owner', b'organization_owner', 'public', b'public', 'robot_part_count', b'robot_part_count']) -> None: - ... global___Fragment = Fragment @typing_extensions.final @@ -1648,11 +2278,16 @@ class ListFragmentsRequest(google.protobuf.message.Message): organization_id: builtins.str show_public: builtins.bool - def __init__(self, *, organization_id: builtins.str=..., show_public: builtins.bool=...) -> None: - ... + def __init__( + self, *, organization_id: builtins.str = ..., show_public: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "show_public", b"show_public" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'show_public', b'show_public']) -> None: - ... global___ListFragmentsRequest = ListFragmentsRequest @typing_extensions.final @@ -1661,14 +2296,18 @@ class ListFragmentsResponse(google.protobuf.message.Message): FRAGMENTS_FIELD_NUMBER: builtins.int @property - def fragments(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Fragment]: - ... - - def __init__(self, *, fragments: collections.abc.Iterable[global___Fragment] | None=...) -> None: - ... + def fragments( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Fragment + ]: ... + def __init__( + self, *, fragments: collections.abc.Iterable[global___Fragment] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["fragments", b"fragments"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['fragments', b'fragments']) -> None: - ... global___ListFragmentsResponse = ListFragmentsResponse @typing_extensions.final @@ -1677,11 +2316,11 @@ class GetFragmentRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___GetFragmentRequest = GetFragmentRequest @typing_extensions.final @@ -1690,17 +2329,15 @@ class GetFragmentResponse(google.protobuf.message.Message): FRAGMENT_FIELD_NUMBER: builtins.int @property - def fragment(self) -> global___Fragment: - ... + def fragment(self) -> global___Fragment: ... + def __init__(self, *, fragment: global___Fragment | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> None: ... - def __init__(self, *, fragment: global___Fragment | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> None: - ... global___GetFragmentResponse = GetFragmentResponse @typing_extensions.final @@ -1712,18 +2349,26 @@ class CreateFragmentRequest(google.protobuf.message.Message): name: builtins.str @property - def config(self) -> google.protobuf.struct_pb2.Struct: - ... + def config(self) -> google.protobuf.struct_pb2.Struct: ... organization_id: builtins.str - def __init__(self, *, name: builtins.str=..., config: google.protobuf.struct_pb2.Struct | None=..., organization_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + config: google.protobuf.struct_pb2.Struct | None = ..., + organization_id: builtins.str = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "config", b"config", "name", b"name", "organization_id", b"organization_id" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config', 'name', b'name', 'organization_id', b'organization_id']) -> None: - ... global___CreateFragmentRequest = CreateFragmentRequest @typing_extensions.final @@ -1732,17 +2377,15 @@ class CreateFragmentResponse(google.protobuf.message.Message): FRAGMENT_FIELD_NUMBER: builtins.int @property - def fragment(self) -> global___Fragment: - ... - - def __init__(self, *, fragment: global___Fragment | None=...) -> None: - ... + def fragment(self) -> global___Fragment: ... + def __init__(self, *, fragment: global___Fragment | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> None: - ... global___CreateFragmentResponse = CreateFragmentResponse @typing_extensions.final @@ -1756,21 +2399,42 @@ class UpdateFragmentRequest(google.protobuf.message.Message): name: builtins.str @property - def config(self) -> google.protobuf.struct_pb2.Struct: - ... + def config(self) -> google.protobuf.struct_pb2.Struct: ... public: builtins.bool - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., config: google.protobuf.struct_pb2.Struct | None=..., public: builtins.bool | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_public', b'_public', 'config', b'config', 'public', b'public']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_public', b'_public', 'config', b'config', 'id', b'id', 'name', b'name', 'public', b'public']) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + config: google.protobuf.struct_pb2.Struct | None = ..., + public: builtins.bool | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_public", b"_public", "config", b"config", "public", b"public" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_public", + b"_public", + "config", + b"config", + "id", + b"id", + "name", + b"name", + "public", + b"public", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_public", b"_public"] + ) -> typing_extensions.Literal["public"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_public', b'_public']) -> typing_extensions.Literal['public'] | None: - ... global___UpdateFragmentRequest = UpdateFragmentRequest @typing_extensions.final @@ -1779,17 +2443,15 @@ class UpdateFragmentResponse(google.protobuf.message.Message): FRAGMENT_FIELD_NUMBER: builtins.int @property - def fragment(self) -> global___Fragment: - ... + def fragment(self) -> global___Fragment: ... + def __init__(self, *, fragment: global___Fragment | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["fragment", b"fragment"] + ) -> None: ... - def __init__(self, *, fragment: global___Fragment | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['fragment', b'fragment']) -> None: - ... global___UpdateFragmentResponse = UpdateFragmentResponse @typing_extensions.final @@ -1798,19 +2460,19 @@ class DeleteFragmentRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___DeleteFragmentRequest = DeleteFragmentRequest @typing_extensions.final class DeleteFragmentResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteFragmentResponse = DeleteFragmentResponse @typing_extensions.final @@ -1819,11 +2481,11 @@ class ListRobotsRequest(google.protobuf.message.Message): LOCATION_ID_FIELD_NUMBER: builtins.int location_id: builtins.str - def __init__(self, *, location_id: builtins.str=...) -> None: - ... + def __init__(self, *, location_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["location_id", b"location_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id']) -> None: - ... global___ListRobotsRequest = ListRobotsRequest @typing_extensions.final @@ -1832,14 +2494,18 @@ class ListRobotsResponse(google.protobuf.message.Message): ROBOTS_FIELD_NUMBER: builtins.int @property - def robots(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Robot]: - ... + def robots( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Robot + ]: ... + def __init__( + self, *, robots: collections.abc.Iterable[global___Robot] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["robots", b"robots"] + ) -> None: ... - def __init__(self, *, robots: collections.abc.Iterable[global___Robot] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['robots', b'robots']) -> None: - ... global___ListRobotsResponse = ListRobotsResponse @typing_extensions.final @@ -1850,11 +2516,14 @@ class NewRobotRequest(google.protobuf.message.Message): name: builtins.str location: builtins.str - def __init__(self, *, name: builtins.str=..., location: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., location: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["location", b"location", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['location', b'location', 'name', b'name']) -> None: - ... global___NewRobotRequest = NewRobotRequest @typing_extensions.final @@ -1863,11 +2532,11 @@ class NewRobotResponse(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___NewRobotResponse = NewRobotResponse @typing_extensions.final @@ -1880,11 +2549,20 @@ class UpdateRobotRequest(google.protobuf.message.Message): name: builtins.str location: builtins.str - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., location: builtins.str=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + location: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", b"id", "location", b"location", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'location', b'location', 'name', b'name']) -> None: - ... global___UpdateRobotRequest = UpdateRobotRequest @typing_extensions.final @@ -1893,17 +2571,15 @@ class UpdateRobotResponse(google.protobuf.message.Message): ROBOT_FIELD_NUMBER: builtins.int @property - def robot(self) -> global___Robot: - ... - - def __init__(self, *, robot: global___Robot | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['robot', b'robot']) -> builtins.bool: - ... + def robot(self) -> global___Robot: ... + def __init__(self, *, robot: global___Robot | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["robot", b"robot"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["robot", b"robot"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['robot', b'robot']) -> None: - ... global___UpdateRobotResponse = UpdateRobotResponse @typing_extensions.final @@ -1912,19 +2588,19 @@ class DeleteRobotRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___DeleteRobotRequest = DeleteRobotRequest @typing_extensions.final class DeleteRobotResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteRobotResponse = DeleteRobotResponse @typing_extensions.final @@ -1933,19 +2609,19 @@ class MarkPartAsMainRequest(google.protobuf.message.Message): PART_ID_FIELD_NUMBER: builtins.int part_id: builtins.str - def __init__(self, *, part_id: builtins.str=...) -> None: - ... + def __init__(self, *, part_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["part_id", b"part_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id']) -> None: - ... global___MarkPartAsMainRequest = MarkPartAsMainRequest @typing_extensions.final class MarkPartAsMainResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MarkPartAsMainResponse = MarkPartAsMainResponse @typing_extensions.final @@ -1954,19 +2630,19 @@ class MarkPartForRestartRequest(google.protobuf.message.Message): PART_ID_FIELD_NUMBER: builtins.int part_id: builtins.str - def __init__(self, *, part_id: builtins.str=...) -> None: - ... + def __init__(self, *, part_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["part_id", b"part_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id']) -> None: - ... global___MarkPartForRestartRequest = MarkPartForRestartRequest @typing_extensions.final class MarkPartForRestartResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MarkPartForRestartResponse = MarkPartForRestartResponse @typing_extensions.final @@ -1974,13 +2650,13 @@ class CreateRobotPartSecretRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor PART_ID_FIELD_NUMBER: builtins.int part_id: builtins.str - 'Robot Part ID to create the secret in.' + "Robot Part ID to create the secret in." - def __init__(self, *, part_id: builtins.str=...) -> None: - ... + def __init__(self, *, part_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["part_id", b"part_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id']) -> None: - ... global___CreateRobotPartSecretRequest = CreateRobotPartSecretRequest @typing_extensions.final @@ -1992,14 +2668,14 @@ class CreateRobotPartSecretResponse(google.protobuf.message.Message): def part(self) -> global___RobotPart: """Location's auth after updates.""" - def __init__(self, *, part: global___RobotPart | None=...) -> None: - ... + def __init__(self, *, part: global___RobotPart | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["part", b"part"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["part", b"part"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['part', b'part']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['part', b'part']) -> None: - ... global___CreateRobotPartSecretResponse = CreateRobotPartSecretResponse @typing_extensions.final @@ -2010,19 +2686,24 @@ class DeleteRobotPartSecretRequest(google.protobuf.message.Message): part_id: builtins.str secret_id: builtins.str - def __init__(self, *, part_id: builtins.str=..., secret_id: builtins.str=...) -> None: - ... + def __init__( + self, *, part_id: builtins.str = ..., secret_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "part_id", b"part_id", "secret_id", b"secret_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['part_id', b'part_id', 'secret_id', b'secret_id']) -> None: - ... global___DeleteRobotPartSecretRequest = DeleteRobotPartSecretRequest @typing_extensions.final class DeleteRobotPartSecretResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteRobotPartSecretResponse = DeleteRobotPartSecretResponse @typing_extensions.final @@ -2043,11 +2724,37 @@ class Authorization(google.protobuf.message.Message): organization_id: builtins.str identity_type: builtins.str - def __init__(self, *, authorization_type: builtins.str=..., authorization_id: builtins.str=..., resource_type: builtins.str=..., resource_id: builtins.str=..., identity_id: builtins.str=..., organization_id: builtins.str=..., identity_type: builtins.str=...) -> None: - ... + def __init__( + self, + *, + authorization_type: builtins.str = ..., + authorization_id: builtins.str = ..., + resource_type: builtins.str = ..., + resource_id: builtins.str = ..., + identity_id: builtins.str = ..., + organization_id: builtins.str = ..., + identity_type: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorization_id", + b"authorization_id", + "authorization_type", + b"authorization_type", + "identity_id", + b"identity_id", + "identity_type", + b"identity_type", + "organization_id", + b"organization_id", + "resource_id", + b"resource_id", + "resource_type", + b"resource_type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorization_id', b'authorization_id', 'authorization_type', b'authorization_type', 'identity_id', b'identity_id', 'identity_type', b'identity_type', 'organization_id', b'organization_id', 'resource_id', b'resource_id', 'resource_type', b'resource_type']) -> None: - ... global___Authorization = Authorization @typing_extensions.final @@ -2056,25 +2763,25 @@ class AddRoleRequest(google.protobuf.message.Message): AUTHORIZATION_FIELD_NUMBER: builtins.int @property - def authorization(self) -> global___Authorization: - ... - - def __init__(self, *, authorization: global___Authorization | None=...) -> None: - ... + def authorization(self) -> global___Authorization: ... + def __init__( + self, *, authorization: global___Authorization | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["authorization", b"authorization"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["authorization", b"authorization"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['authorization', b'authorization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['authorization', b'authorization']) -> None: - ... global___AddRoleRequest = AddRoleRequest @typing_extensions.final class AddRoleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddRoleResponse = AddRoleResponse @typing_extensions.final @@ -2083,25 +2790,25 @@ class RemoveRoleRequest(google.protobuf.message.Message): AUTHORIZATION_FIELD_NUMBER: builtins.int @property - def authorization(self) -> global___Authorization: - ... - - def __init__(self, *, authorization: global___Authorization | None=...) -> None: - ... + def authorization(self) -> global___Authorization: ... + def __init__( + self, *, authorization: global___Authorization | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["authorization", b"authorization"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["authorization", b"authorization"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['authorization', b'authorization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['authorization', b'authorization']) -> None: - ... global___RemoveRoleRequest = RemoveRoleRequest @typing_extensions.final class RemoveRoleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___RemoveRoleResponse = RemoveRoleResponse @typing_extensions.final @@ -2111,29 +2818,42 @@ class ChangeRoleRequest(google.protobuf.message.Message): NEW_AUTHORIZATION_FIELD_NUMBER: builtins.int @property - def old_authorization(self) -> global___Authorization: - ... - + def old_authorization(self) -> global___Authorization: ... @property - def new_authorization(self) -> global___Authorization: - ... + def new_authorization(self) -> global___Authorization: ... + def __init__( + self, + *, + old_authorization: global___Authorization | None = ..., + new_authorization: global___Authorization | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "new_authorization", + b"new_authorization", + "old_authorization", + b"old_authorization", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "new_authorization", + b"new_authorization", + "old_authorization", + b"old_authorization", + ], + ) -> None: ... - def __init__(self, *, old_authorization: global___Authorization | None=..., new_authorization: global___Authorization | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['new_authorization', b'new_authorization', 'old_authorization', b'old_authorization']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['new_authorization', b'new_authorization', 'old_authorization', b'old_authorization']) -> None: - ... global___ChangeRoleRequest = ChangeRoleRequest @typing_extensions.final class ChangeRoleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ChangeRoleResponse = ChangeRoleResponse @typing_extensions.final @@ -2144,14 +2864,24 @@ class ListAuthorizationsRequest(google.protobuf.message.Message): organization_id: builtins.str @property - def resource_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def resource_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """optional filter""" - def __init__(self, *, organization_id: builtins.str=..., resource_ids: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def __init__( + self, + *, + organization_id: builtins.str = ..., + resource_ids: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "organization_id", b"organization_id", "resource_ids", b"resource_ids" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['organization_id', b'organization_id', 'resource_ids', b'resource_ids']) -> None: - ... global___ListAuthorizationsRequest = ListAuthorizationsRequest @typing_extensions.final @@ -2160,14 +2890,20 @@ class ListAuthorizationsResponse(google.protobuf.message.Message): AUTHORIZATIONS_FIELD_NUMBER: builtins.int @property - def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... - - def __init__(self, *, authorizations: collections.abc.Iterable[global___Authorization] | None=...) -> None: - ... + def authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... + def __init__( + self, + *, + authorizations: collections.abc.Iterable[global___Authorization] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["authorizations", b"authorizations"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorizations', b'authorizations']) -> None: - ... global___ListAuthorizationsResponse = ListAuthorizationsResponse @typing_extensions.final @@ -2176,14 +2912,21 @@ class CheckPermissionsRequest(google.protobuf.message.Message): PERMISSIONS_FIELD_NUMBER: builtins.int @property - def permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthorizedPermissions]: - ... + def permissions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___AuthorizedPermissions + ]: ... + def __init__( + self, + *, + permissions: collections.abc.Iterable[global___AuthorizedPermissions] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["permissions", b"permissions"] + ) -> None: ... - def __init__(self, *, permissions: collections.abc.Iterable[global___AuthorizedPermissions] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['permissions', b'permissions']) -> None: - ... global___CheckPermissionsRequest = CheckPermissionsRequest @typing_extensions.final @@ -2196,14 +2939,30 @@ class AuthorizedPermissions(google.protobuf.message.Message): resource_id: builtins.str @property - def permissions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, resource_type: builtins.str=..., resource_id: builtins.str=..., permissions: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def permissions( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + resource_type: builtins.str = ..., + resource_id: builtins.str = ..., + permissions: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "permissions", + b"permissions", + "resource_id", + b"resource_id", + "resource_type", + b"resource_type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['permissions', b'permissions', 'resource_id', b'resource_id', 'resource_type', b'resource_type']) -> None: - ... global___AuthorizedPermissions = AuthorizedPermissions @typing_extensions.final @@ -2212,14 +2971,24 @@ class CheckPermissionsResponse(google.protobuf.message.Message): AUTHORIZED_PERMISSIONS_FIELD_NUMBER: builtins.int @property - def authorized_permissions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthorizedPermissions]: - ... - - def __init__(self, *, authorized_permissions: collections.abc.Iterable[global___AuthorizedPermissions] | None=...) -> None: - ... + def authorized_permissions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___AuthorizedPermissions + ]: ... + def __init__( + self, + *, + authorized_permissions: collections.abc.Iterable[global___AuthorizedPermissions] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorized_permissions", b"authorized_permissions" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorized_permissions', b'authorized_permissions']) -> None: - ... global___CheckPermissionsResponse = CheckPermissionsResponse @typing_extensions.final @@ -2230,23 +2999,48 @@ class ModuleVersion(google.protobuf.message.Message): MODELS_FIELD_NUMBER: builtins.int ENTRYPOINT_FIELD_NUMBER: builtins.int version: builtins.str - 'The semver string that represents the major/minor/patch version of the module' + "The semver string that represents the major/minor/patch version of the module" @property - def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Uploads]: + def files( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Uploads + ]: """The uploads that are available for this module version""" @property - def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]: + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Model + ]: """The models that this verion of the module provides""" entrypoint: builtins.str - 'The entrypoint for this version of the module' + "The entrypoint for this version of the module" + + def __init__( + self, + *, + version: builtins.str = ..., + files: collections.abc.Iterable[global___Uploads] | None = ..., + models: collections.abc.Iterable[global___Model] | None = ..., + entrypoint: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "entrypoint", + b"entrypoint", + "files", + b"files", + "models", + b"models", + "version", + b"version", + ], + ) -> None: ... - def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['entrypoint', b'entrypoint', 'files', b'files', 'models', b'models', 'version', b'version']) -> None: - ... global___ModuleVersion = ModuleVersion @typing_extensions.final @@ -2257,22 +3051,39 @@ class ModuleMetadata(google.protobuf.message.Message): ENTRYPOINT_FIELD_NUMBER: builtins.int @property - def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]: + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Model + ]: """A list of models that are available in the module""" @property - def versions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ModuleVersion]: + def versions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ModuleVersion + ]: """A list of versions of the module that are available When this is returned from the backend, the versions are sorted in ascending order by the semver version """ entrypoint: builtins.str - 'The executable to run to start the module program' - - def __init__(self, *, models: collections.abc.Iterable[global___Model] | None=..., versions: collections.abc.Iterable[global___ModuleVersion] | None=..., entrypoint: builtins.str=...) -> None: - ... + "The executable to run to start the module program" + + def __init__( + self, + *, + models: collections.abc.Iterable[global___Model] | None = ..., + versions: collections.abc.Iterable[global___ModuleVersion] | None = ..., + entrypoint: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "entrypoint", b"entrypoint", "models", b"models", "versions", b"versions" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['entrypoint', b'entrypoint', 'models', b'models', 'versions', b'versions']) -> None: - ... global___ModuleMetadata = ModuleMetadata @typing_extensions.final @@ -2281,14 +3092,18 @@ class MLModelMetadata(google.protobuf.message.Message): VERSIONS_FIELD_NUMBER: builtins.int @property - def versions(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def versions( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """A list of package versions for a ML model""" - def __init__(self, *, versions: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def __init__( + self, *, versions: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["versions", b"versions"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['versions', b'versions']) -> None: - ... global___MLModelMetadata = MLModelMetadata @typing_extensions.final @@ -2311,38 +3126,34 @@ class RegistryItem(google.protobuf.message.Message): CREATED_AT_FIELD_NUMBER: builtins.int UPDATED_AT_FIELD_NUMBER: builtins.int item_id: builtins.str - 'The id of the item, containing either:\n namespace:item_name when a namespace exists on the org.\n org_id:item_name when a namespace does not exist.\n ' + "The id of the item, containing either:\n namespace:item_name when a namespace exists on the org.\n org_id:item_name when a namespace does not exist.\n " organization_id: builtins.str - 'The id of the organization that owns the item' + "The id of the organization that owns the item" public_namespace: builtins.str - 'The public namespace of the organization that owns the module\n This is empty if no public namespace is set\n ' + "The public namespace of the organization that owns the module\n This is empty if no public namespace is set\n " name: builtins.str - 'The name of the registry item' + "The name of the registry item" type: app.packages.v1.packages_pb2.PackageType.ValueType - 'The type of the item in the registry' + "The type of the item in the registry" visibility: global___Visibility.ValueType - 'The visibility of the registry item' + "The visibility of the registry item" url: builtins.str - 'The url to reference for documentation, code, etc.' + "The url to reference for documentation, code, etc." description: builtins.str - 'A short description of the item that explains its purpose' + "A short description of the item that explains its purpose" total_robot_usage: builtins.int - 'The total number of robots using this item' + "The total number of robots using this item" total_external_robot_usage: builtins.int - 'The total number of robots using this item outside of the owning org' + "The total number of robots using this item outside of the owning org" total_organization_usage: builtins.int - 'The total number of organizations using this item' + "The total number of organizations using this item" total_external_organization_usage: builtins.int - 'The total number of organizations using this item outside of the owning org' + "The total number of organizations using this item outside of the owning org" @property - def module_metadata(self) -> global___ModuleMetadata: - ... - + def module_metadata(self) -> global___ModuleMetadata: ... @property - def ml_model_metadata(self) -> global___MLModelMetadata: - ... - + def ml_model_metadata(self) -> global___MLModelMetadata: ... @property def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp: """When the item was created""" @@ -2351,17 +3162,84 @@ class RegistryItem(google.protobuf.message.Message): def updated_at(self) -> google.protobuf.timestamp_pb2.Timestamp: """When the item was last updated, either through an update or upload.""" - def __init__(self, *, item_id: builtins.str=..., organization_id: builtins.str=..., public_namespace: builtins.str=..., name: builtins.str=..., type: app.packages.v1.packages_pb2.PackageType.ValueType=..., visibility: global___Visibility.ValueType=..., url: builtins.str=..., description: builtins.str=..., total_robot_usage: builtins.int=..., total_external_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., total_external_organization_usage: builtins.int=..., module_metadata: global___ModuleMetadata | None=..., ml_model_metadata: global___MLModelMetadata | None=..., created_at: google.protobuf.timestamp_pb2.Timestamp | None=..., updated_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['created_at', b'created_at', 'metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata', 'updated_at', b'updated_at']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['created_at', b'created_at', 'description', b'description', 'item_id', b'item_id', 'metadata', b'metadata', 'ml_model_metadata', b'ml_model_metadata', 'module_metadata', b'module_metadata', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_external_organization_usage', b'total_external_organization_usage', 'total_external_robot_usage', b'total_external_robot_usage', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'type', b'type', 'updated_at', b'updated_at', 'url', b'url', 'visibility', b'visibility']) -> None: - ... + def __init__( + self, + *, + item_id: builtins.str = ..., + organization_id: builtins.str = ..., + public_namespace: builtins.str = ..., + name: builtins.str = ..., + type: app.packages.v1.packages_pb2.PackageType.ValueType = ..., + visibility: global___Visibility.ValueType = ..., + url: builtins.str = ..., + description: builtins.str = ..., + total_robot_usage: builtins.int = ..., + total_external_robot_usage: builtins.int = ..., + total_organization_usage: builtins.int = ..., + total_external_organization_usage: builtins.int = ..., + module_metadata: global___ModuleMetadata | None = ..., + ml_model_metadata: global___MLModelMetadata | None = ..., + created_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + updated_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "created_at", + b"created_at", + "metadata", + b"metadata", + "ml_model_metadata", + b"ml_model_metadata", + "module_metadata", + b"module_metadata", + "updated_at", + b"updated_at", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "created_at", + b"created_at", + "description", + b"description", + "item_id", + b"item_id", + "metadata", + b"metadata", + "ml_model_metadata", + b"ml_model_metadata", + "module_metadata", + b"module_metadata", + "name", + b"name", + "organization_id", + b"organization_id", + "public_namespace", + b"public_namespace", + "total_external_organization_usage", + b"total_external_organization_usage", + "total_external_robot_usage", + b"total_external_robot_usage", + "total_organization_usage", + b"total_organization_usage", + "total_robot_usage", + b"total_robot_usage", + "type", + b"type", + "updated_at", + b"updated_at", + "url", + b"url", + "visibility", + b"visibility", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["metadata", b"metadata"] + ) -> typing_extensions.Literal["module_metadata", "ml_model_metadata"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['metadata', b'metadata']) -> typing_extensions.Literal['module_metadata', 'ml_model_metadata'] | None: - ... global___RegistryItem = RegistryItem @typing_extensions.final @@ -2370,11 +3248,11 @@ class GetRegistryItemRequest(google.protobuf.message.Message): ITEM_ID_FIELD_NUMBER: builtins.int item_id: builtins.str - def __init__(self, *, item_id: builtins.str=...) -> None: - ... + def __init__(self, *, item_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["item_id", b"item_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['item_id', b'item_id']) -> None: - ... global___GetRegistryItemRequest = GetRegistryItemRequest @typing_extensions.final @@ -2383,17 +3261,15 @@ class GetRegistryItemResponse(google.protobuf.message.Message): ITEM_FIELD_NUMBER: builtins.int @property - def item(self) -> global___RegistryItem: - ... + def item(self) -> global___RegistryItem: ... + def __init__(self, *, item: global___RegistryItem | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["item", b"item"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["item", b"item"] + ) -> None: ... - def __init__(self, *, item: global___RegistryItem | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['item', b'item']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['item', b'item']) -> None: - ... global___GetRegistryItemResponse = GetRegistryItemResponse @typing_extensions.final @@ -2403,25 +3279,34 @@ class CreateRegistryItemRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int TYPE_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'The organization to create the registry item under' + "The organization to create the registry item under" name: builtins.str - 'The name of the registry item, which must be unique within your org' + "The name of the registry item, which must be unique within your org" type: app.packages.v1.packages_pb2.PackageType.ValueType - 'The type of the item in the registry' - - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=..., type: app.packages.v1.packages_pb2.PackageType.ValueType=...) -> None: - ... + "The type of the item in the registry" + + def __init__( + self, + *, + organization_id: builtins.str = ..., + name: builtins.str = ..., + type: app.packages.v1.packages_pb2.PackageType.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", b"name", "organization_id", b"organization_id", "type", b"type" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'organization_id', b'organization_id', 'type', b'type']) -> None: - ... global___CreateRegistryItemRequest = CreateRegistryItemRequest @typing_extensions.final class CreateRegistryItemResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___CreateRegistryItemResponse = CreateRegistryItemResponse @typing_extensions.final @@ -2436,19 +3321,36 @@ class UpdateRegistryItemRequest(google.protobuf.message.Message): description: builtins.str visibility: global___Visibility.ValueType - def __init__(self, *, item_id: builtins.str=..., type: app.packages.v1.packages_pb2.PackageType.ValueType=..., description: builtins.str=..., visibility: global___Visibility.ValueType=...) -> None: - ... + def __init__( + self, + *, + item_id: builtins.str = ..., + type: app.packages.v1.packages_pb2.PackageType.ValueType = ..., + description: builtins.str = ..., + visibility: global___Visibility.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "description", + b"description", + "item_id", + b"item_id", + "type", + b"type", + "visibility", + b"visibility", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'item_id', b'item_id', 'type', b'type', 'visibility', b'visibility']) -> None: - ... global___UpdateRegistryItemRequest = UpdateRegistryItemRequest @typing_extensions.final class UpdateRegistryItemResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___UpdateRegistryItemResponse = UpdateRegistryItemResponse @typing_extensions.final @@ -2462,46 +3364,107 @@ class ListRegistryItemsRequest(google.protobuf.message.Message): SEARCH_TERM_FIELD_NUMBER: builtins.int PAGE_TOKEN_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'The id of the organization to return registry items for.' + "The id of the organization to return registry items for." @property - def types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[app.packages.v1.packages_pb2.PackageType.ValueType]: - ... - + def types( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + app.packages.v1.packages_pb2.PackageType.ValueType + ]: ... @property - def visibilities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___Visibility.ValueType]: - ... - + def visibilities( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + global___Visibility.ValueType + ]: ... @property - def platforms(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def platforms( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def statuses(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___RegistryItemStatus.ValueType]: - ... + def statuses( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + global___RegistryItemStatus.ValueType + ]: ... search_term: builtins.str page_token: builtins.str - def __init__(self, *, organization_id: builtins.str | None=..., types: collections.abc.Iterable[app.packages.v1.packages_pb2.PackageType.ValueType] | None=..., visibilities: collections.abc.Iterable[global___Visibility.ValueType] | None=..., platforms: collections.abc.Iterable[builtins.str] | None=..., statuses: collections.abc.Iterable[global___RegistryItemStatus.ValueType] | None=..., search_term: builtins.str | None=..., page_token: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_organization_id', b'_organization_id', '_page_token', b'_page_token', '_search_term', b'_search_term', 'organization_id', b'organization_id', 'page_token', b'page_token', 'search_term', b'search_term']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_organization_id', b'_organization_id', '_page_token', b'_page_token', '_search_term', b'_search_term', 'organization_id', b'organization_id', 'page_token', b'page_token', 'platforms', b'platforms', 'search_term', b'search_term', 'statuses', b'statuses', 'types', b'types', 'visibilities', b'visibilities']) -> None: - ... - + def __init__( + self, + *, + organization_id: builtins.str | None = ..., + types: collections.abc.Iterable[ + app.packages.v1.packages_pb2.PackageType.ValueType + ] + | None = ..., + visibilities: collections.abc.Iterable[global___Visibility.ValueType] + | None = ..., + platforms: collections.abc.Iterable[builtins.str] | None = ..., + statuses: collections.abc.Iterable[global___RegistryItemStatus.ValueType] + | None = ..., + search_term: builtins.str | None = ..., + page_token: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_organization_id", + b"_organization_id", + "_page_token", + b"_page_token", + "_search_term", + b"_search_term", + "organization_id", + b"organization_id", + "page_token", + b"page_token", + "search_term", + b"search_term", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_organization_id", + b"_organization_id", + "_page_token", + b"_page_token", + "_search_term", + b"_search_term", + "organization_id", + b"organization_id", + "page_token", + b"page_token", + "platforms", + b"platforms", + "search_term", + b"search_term", + "statuses", + b"statuses", + "types", + b"types", + "visibilities", + b"visibilities", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_organization_id', b'_organization_id']) -> typing_extensions.Literal['organization_id'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_organization_id", b"_organization_id"], + ) -> typing_extensions.Literal["organization_id"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_page_token', b'_page_token']) -> typing_extensions.Literal['page_token'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_page_token", b"_page_token"] + ) -> typing_extensions.Literal["page_token"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_search_term', b'_search_term']) -> typing_extensions.Literal['search_term'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_search_term", b"_search_term"] + ) -> typing_extensions.Literal["search_term"] | None: ... + global___ListRegistryItemsRequest = ListRegistryItemsRequest @typing_extensions.final @@ -2510,14 +3473,18 @@ class ListRegistryItemsResponse(google.protobuf.message.Message): ITEMS_FIELD_NUMBER: builtins.int @property - def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RegistryItem]: - ... - - def __init__(self, *, items: collections.abc.Iterable[global___RegistryItem] | None=...) -> None: - ... + def items( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___RegistryItem + ]: ... + def __init__( + self, *, items: collections.abc.Iterable[global___RegistryItem] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["items", b"items"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['items', b'items']) -> None: - ... global___ListRegistryItemsResponse = ListRegistryItemsResponse @typing_extensions.final @@ -2527,37 +3494,43 @@ class DeleteRegistryItemRequest(google.protobuf.message.Message): item_id: builtins.str "The id of the item (formatted as prefix:name where prefix is the owner's orgid or namespace)" - def __init__(self, *, item_id: builtins.str=...) -> None: - ... + def __init__(self, *, item_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["item_id", b"item_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['item_id', b'item_id']) -> None: - ... global___DeleteRegistryItemRequest = DeleteRegistryItemRequest @typing_extensions.final class DeleteRegistryItemResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteRegistryItemResponse = DeleteRegistryItemResponse @typing_extensions.final class CreateModuleRequest(google.protobuf.message.Message): """Modules""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'The organization to create the module under' + "The organization to create the module under" name: builtins.str - 'The name of the module, which must be unique within your org' - - def __init__(self, *, organization_id: builtins.str=..., name: builtins.str=...) -> None: - ... + "The name of the module, which must be unique within your org" + + def __init__( + self, *, organization_id: builtins.str = ..., name: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", b"name", "organization_id", b"organization_id" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'organization_id', b'organization_id']) -> None: - ... global___CreateModuleRequest = CreateModuleRequest @typing_extensions.final @@ -2568,13 +3541,16 @@ class CreateModuleResponse(google.protobuf.message.Message): module_id: builtins.str "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)" url: builtins.str - 'The detail page of the module' + "The detail page of the module" - def __init__(self, *, module_id: builtins.str=..., url: builtins.str=...) -> None: - ... + def __init__( + self, *, module_id: builtins.str = ..., url: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["module_id", b"module_id", "url", b"url"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['module_id', b'module_id', 'url', b'url']) -> None: - ... global___CreateModuleResponse = CreateModuleResponse @typing_extensions.final @@ -2589,23 +3565,50 @@ class UpdateModuleRequest(google.protobuf.message.Message): module_id: builtins.str "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)" visibility: global___Visibility.ValueType - 'The visibility that should be set for the module' + "The visibility that should be set for the module" url: builtins.str - 'The url to reference for documentation, code, etc.' + "The url to reference for documentation, code, etc." description: builtins.str - 'A short description of the module that explains its purpose' + "A short description of the module that explains its purpose" @property - def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]: + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Model + ]: """A list of models that are available in the module""" entrypoint: builtins.str - 'The executable to run to start the module program' + "The executable to run to start the module program" + + def __init__( + self, + *, + module_id: builtins.str = ..., + visibility: global___Visibility.ValueType = ..., + url: builtins.str = ..., + description: builtins.str = ..., + models: collections.abc.Iterable[global___Model] | None = ..., + entrypoint: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "description", + b"description", + "entrypoint", + b"entrypoint", + "models", + b"models", + "module_id", + b"module_id", + "url", + b"url", + "visibility", + b"visibility", + ], + ) -> None: ... - def __init__(self, *, module_id: builtins.str=..., visibility: global___Visibility.ValueType=..., url: builtins.str=..., description: builtins.str=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'entrypoint', b'entrypoint', 'models', b'models', 'module_id', b'module_id', 'url', b'url', 'visibility', b'visibility']) -> None: - ... global___UpdateModuleRequest = UpdateModuleRequest @typing_extensions.final @@ -2613,13 +3616,13 @@ class UpdateModuleResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor URL_FIELD_NUMBER: builtins.int url: builtins.str - 'The detail page of the module' + "The detail page of the module" - def __init__(self, *, url: builtins.str=...) -> None: - ... + def __init__(self, *, url: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["url", b"url"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['url', b'url']) -> None: - ... global___UpdateModuleResponse = UpdateModuleResponse @typing_extensions.final @@ -2628,15 +3631,17 @@ class Model(google.protobuf.message.Message): API_FIELD_NUMBER: builtins.int MODEL_FIELD_NUMBER: builtins.int api: builtins.str - 'The colon-delimited-triplet of the api implemented by the model' + "The colon-delimited-triplet of the api implemented by the model" model: builtins.str - 'The colon-delimited-triplet of the model' + "The colon-delimited-triplet of the model" - def __init__(self, *, api: builtins.str=..., model: builtins.str=...) -> None: - ... + def __init__( + self, *, api: builtins.str = ..., model: builtins.str = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["api", b"api", "model", b"model"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['api', b'api', 'model', b'model']) -> None: - ... global___Model = Model @typing_extensions.final @@ -2648,15 +3653,24 @@ class ModuleFileInfo(google.protobuf.message.Message): module_id: builtins.str "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)" version: builtins.str - 'The semver string that represents the new major/minor/patch version of the module' + "The semver string that represents the new major/minor/patch version of the module" platform: builtins.str - 'The platform that the file is built to run on' - - def __init__(self, *, module_id: builtins.str=..., version: builtins.str=..., platform: builtins.str=...) -> None: - ... + "The platform that the file is built to run on" + + def __init__( + self, + *, + module_id: builtins.str = ..., + version: builtins.str = ..., + platform: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "module_id", b"module_id", "platform", b"platform", "version", b"version" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['module_id', b'module_id', 'platform', b'platform', 'version', b'version']) -> None: - ... global___ModuleFileInfo = ModuleFileInfo @typing_extensions.final @@ -2669,19 +3683,40 @@ class UploadModuleFileRequest(google.protobuf.message.Message): def module_file_info(self) -> global___ModuleFileInfo: """The information about the module file being uploaded""" file: builtins.bytes - 'The file contents to be uploaded' - - def __init__(self, *, module_file_info: global___ModuleFileInfo | None=..., file: builtins.bytes=...) -> None: - ... + "The file contents to be uploaded" + + def __init__( + self, + *, + module_file_info: global___ModuleFileInfo | None = ..., + file: builtins.bytes = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "file", + b"file", + "module_file", + b"module_file", + "module_file_info", + b"module_file_info", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "file", + b"file", + "module_file", + b"module_file", + "module_file_info", + b"module_file_info", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["module_file", b"module_file"] + ) -> typing_extensions.Literal["module_file_info", "file"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['file', b'file', 'module_file', b'module_file', 'module_file_info', b'module_file_info']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['file', b'file', 'module_file', b'module_file', 'module_file_info', b'module_file_info']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['module_file', b'module_file']) -> typing_extensions.Literal['module_file_info', 'file'] | None: - ... global___UploadModuleFileRequest = UploadModuleFileRequest @typing_extensions.final @@ -2689,13 +3724,13 @@ class UploadModuleFileResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor URL_FIELD_NUMBER: builtins.int url: builtins.str - 'The detail page of the module' + "The detail page of the module" - def __init__(self, *, url: builtins.str=...) -> None: - ... + def __init__(self, *, url: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["url", b"url"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['url', b'url']) -> None: - ... global___UploadModuleFileResponse = UploadModuleFileResponse @typing_extensions.final @@ -2705,11 +3740,11 @@ class GetModuleRequest(google.protobuf.message.Message): module_id: builtins.str "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)" - def __init__(self, *, module_id: builtins.str=...) -> None: - ... + def __init__(self, *, module_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["module_id", b"module_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['module_id', b'module_id']) -> None: - ... global___GetModuleRequest = GetModuleRequest @typing_extensions.final @@ -2721,14 +3756,14 @@ class GetModuleResponse(google.protobuf.message.Message): def module(self) -> global___Module: """The module object""" - def __init__(self, *, module: global___Module | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['module', b'module']) -> builtins.bool: - ... + def __init__(self, *, module: global___Module | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["module", b"module"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["module", b"module"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['module', b'module']) -> None: - ... global___GetModuleResponse = GetModuleResponse @typing_extensions.final @@ -2749,39 +3784,88 @@ class Module(google.protobuf.message.Message): module_id: builtins.str "The id of the module (formatted as prefix:name where prefix is the module owner's orgid or namespace)" name: builtins.str - 'The name of the module' + "The name of the module" visibility: global___Visibility.ValueType - 'The visibility of the module' + "The visibility of the module" @property - def versions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___VersionHistory]: + def versions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___VersionHistory + ]: """The versions of the module that are available When this is returned from the backend, the versions are sorted in ascending order by the semver version """ url: builtins.str - 'The url to reference for documentation, code, etc.' + "The url to reference for documentation, code, etc." description: builtins.str - 'A short description of the module that explains its purpose' + "A short description of the module that explains its purpose" @property - def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]: + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Model + ]: """A list of models that are available in the module""" total_robot_usage: builtins.int - 'The total number of robots using this module' + "The total number of robots using this module" total_organization_usage: builtins.int - 'The total number of organizations using this module' + "The total number of organizations using this module" organization_id: builtins.str - 'The id of the organization that owns the module' + "The id of the organization that owns the module" entrypoint: builtins.str - 'The executable to run to start the module program' + "The executable to run to start the module program" public_namespace: builtins.str - 'The public namespace of the organization that owns the module\n This is empty if no public namespace is set\n ' + "The public namespace of the organization that owns the module\n This is empty if no public namespace is set\n " + + def __init__( + self, + *, + module_id: builtins.str = ..., + name: builtins.str = ..., + visibility: global___Visibility.ValueType = ..., + versions: collections.abc.Iterable[global___VersionHistory] | None = ..., + url: builtins.str = ..., + description: builtins.str = ..., + models: collections.abc.Iterable[global___Model] | None = ..., + total_robot_usage: builtins.int = ..., + total_organization_usage: builtins.int = ..., + organization_id: builtins.str = ..., + entrypoint: builtins.str = ..., + public_namespace: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "description", + b"description", + "entrypoint", + b"entrypoint", + "models", + b"models", + "module_id", + b"module_id", + "name", + b"name", + "organization_id", + b"organization_id", + "public_namespace", + b"public_namespace", + "total_organization_usage", + b"total_organization_usage", + "total_robot_usage", + b"total_robot_usage", + "url", + b"url", + "versions", + b"versions", + "visibility", + b"visibility", + ], + ) -> None: ... - def __init__(self, *, module_id: builtins.str=..., name: builtins.str=..., visibility: global___Visibility.ValueType=..., versions: collections.abc.Iterable[global___VersionHistory] | None=..., url: builtins.str=..., description: builtins.str=..., models: collections.abc.Iterable[global___Model] | None=..., total_robot_usage: builtins.int=..., total_organization_usage: builtins.int=..., organization_id: builtins.str=..., entrypoint: builtins.str=..., public_namespace: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'entrypoint', b'entrypoint', 'models', b'models', 'module_id', b'module_id', 'name', b'name', 'organization_id', b'organization_id', 'public_namespace', b'public_namespace', 'total_organization_usage', b'total_organization_usage', 'total_robot_usage', b'total_robot_usage', 'url', b'url', 'versions', b'versions', 'visibility', b'visibility']) -> None: - ... global___Module = Module @typing_extensions.final @@ -2792,23 +3876,48 @@ class VersionHistory(google.protobuf.message.Message): MODELS_FIELD_NUMBER: builtins.int ENTRYPOINT_FIELD_NUMBER: builtins.int version: builtins.str - 'The semver string that represents the major/minor/patch version of the module' + "The semver string that represents the major/minor/patch version of the module" @property - def files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Uploads]: + def files( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Uploads + ]: """The uploads that are available for this module version""" @property - def models(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Model]: + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Model + ]: """The models that this verion of the module provides""" entrypoint: builtins.str - 'The entrypoint for this version of the module' - - def __init__(self, *, version: builtins.str=..., files: collections.abc.Iterable[global___Uploads] | None=..., models: collections.abc.Iterable[global___Model] | None=..., entrypoint: builtins.str=...) -> None: - ... + "The entrypoint for this version of the module" + + def __init__( + self, + *, + version: builtins.str = ..., + files: collections.abc.Iterable[global___Uploads] | None = ..., + models: collections.abc.Iterable[global___Model] | None = ..., + entrypoint: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "entrypoint", + b"entrypoint", + "files", + b"files", + "models", + b"models", + "version", + b"version", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['entrypoint', b'entrypoint', 'files', b'files', 'models', b'models', 'version', b'version']) -> None: - ... global___VersionHistory = VersionHistory @typing_extensions.final @@ -2817,20 +3926,28 @@ class Uploads(google.protobuf.message.Message): PLATFORM_FIELD_NUMBER: builtins.int UPLOADED_AT_FIELD_NUMBER: builtins.int platform: builtins.str - 'The OS and architecture the module is built to run on' + "The OS and architecture the module is built to run on" @property def uploaded_at(self) -> google.protobuf.timestamp_pb2.Timestamp: """The time when the file was uploaded""" - def __init__(self, *, platform: builtins.str=..., uploaded_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['uploaded_at', b'uploaded_at']) -> builtins.bool: - ... + def __init__( + self, + *, + platform: builtins.str = ..., + uploaded_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["uploaded_at", b"uploaded_at"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "platform", b"platform", "uploaded_at", b"uploaded_at" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['platform', b'platform', 'uploaded_at', b'uploaded_at']) -> None: - ... global___Uploads = Uploads @typing_extensions.final @@ -2838,19 +3955,32 @@ class ListModulesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ORGANIZATION_ID_FIELD_NUMBER: builtins.int organization_id: builtins.str - 'The id of the organization to return private modules for.' - - def __init__(self, *, organization_id: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_organization_id', b'_organization_id', 'organization_id', b'organization_id']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_organization_id', b'_organization_id', 'organization_id', b'organization_id']) -> None: - ... + "The id of the organization to return private modules for." + + def __init__(self, *, organization_id: builtins.str | None = ...) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_organization_id", + b"_organization_id", + "organization_id", + b"organization_id", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_organization_id", + b"_organization_id", + "organization_id", + b"organization_id", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_organization_id", b"_organization_id"], + ) -> typing_extensions.Literal["organization_id"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_organization_id', b'_organization_id']) -> typing_extensions.Literal['organization_id'] | None: - ... global___ListModulesRequest = ListModulesRequest @typing_extensions.final @@ -2859,14 +3989,20 @@ class ListModulesResponse(google.protobuf.message.Message): MODULES_FIELD_NUMBER: builtins.int @property - def modules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Module]: + def modules( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Module + ]: """A listed of modules. When authenticated, this API will return modules that are private for this org. Public modules are always returned.""" - def __init__(self, *, modules: collections.abc.Iterable[global___Module] | None=...) -> None: - ... + def __init__( + self, *, modules: collections.abc.Iterable[global___Module] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["modules", b"modules"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['modules', b'modules']) -> None: - ... global___ListModulesResponse = ListModulesResponse @typing_extensions.final @@ -2875,11 +4011,11 @@ class GetUserIDByEmailRequest(google.protobuf.message.Message): EMAIL_FIELD_NUMBER: builtins.int email: builtins.str - def __init__(self, *, email: builtins.str=...) -> None: - ... + def __init__(self, *, email: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["email", b"email"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['email', b'email']) -> None: - ... global___GetUserIDByEmailRequest = GetUserIDByEmailRequest @typing_extensions.final @@ -2888,11 +4024,11 @@ class GetUserIDByEmailResponse(google.protobuf.message.Message): USER_ID_FIELD_NUMBER: builtins.int user_id: builtins.str - def __init__(self, *, user_id: builtins.str=...) -> None: - ... + def __init__(self, *, user_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["user_id", b"user_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['user_id', b'user_id']) -> None: - ... global___GetUserIDByEmailResponse = GetUserIDByEmailResponse @typing_extensions.final @@ -2901,11 +4037,11 @@ class ListOrganizationsByUserRequest(google.protobuf.message.Message): USER_ID_FIELD_NUMBER: builtins.int user_id: builtins.str - def __init__(self, *, user_id: builtins.str=...) -> None: - ... + def __init__(self, *, user_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["user_id", b"user_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['user_id', b'user_id']) -> None: - ... global___ListOrganizationsByUserRequest = ListOrganizationsByUserRequest @typing_extensions.final @@ -2916,11 +4052,16 @@ class OrgDetails(google.protobuf.message.Message): org_id: builtins.str org_name: builtins.str - def __init__(self, *, org_id: builtins.str=..., org_name: builtins.str=...) -> None: - ... + def __init__( + self, *, org_id: builtins.str = ..., org_name: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "org_id", b"org_id", "org_name", b"org_name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id', 'org_name', b'org_name']) -> None: - ... global___OrgDetails = OrgDetails @typing_extensions.final @@ -2929,14 +4070,18 @@ class ListOrganizationsByUserResponse(google.protobuf.message.Message): ORGS_FIELD_NUMBER: builtins.int @property - def orgs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrgDetails]: - ... + def orgs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___OrgDetails + ]: ... + def __init__( + self, *, orgs: collections.abc.Iterable[global___OrgDetails] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["orgs", b"orgs"] + ) -> None: ... - def __init__(self, *, orgs: collections.abc.Iterable[global___OrgDetails] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['orgs', b'orgs']) -> None: - ... global___ListOrganizationsByUserResponse = ListOrganizationsByUserResponse @typing_extensions.final @@ -2946,15 +4091,26 @@ class CreateKeyRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int @property - def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Authorization]: - ... + def authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Authorization + ]: ... name: builtins.str - def __init__(self, *, authorizations: collections.abc.Iterable[global___Authorization] | None=..., name: builtins.str=...) -> None: - ... + def __init__( + self, + *, + authorizations: collections.abc.Iterable[global___Authorization] | None = ..., + name: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorizations", b"authorizations", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorizations', b'authorizations', 'name', b'name']) -> None: - ... global___CreateKeyRequest = CreateKeyRequest @typing_extensions.final @@ -2965,11 +4121,11 @@ class CreateKeyResponse(google.protobuf.message.Message): key: builtins.str id: builtins.str - def __init__(self, *, key: builtins.str=..., id: builtins.str=...) -> None: - ... + def __init__(self, *, key: builtins.str = ..., id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "key", b"key"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: - ... global___CreateKeyResponse = CreateKeyResponse @typing_extensions.final @@ -2978,19 +4134,19 @@ class DeleteKeyRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___DeleteKeyRequest = DeleteKeyRequest @typing_extensions.final class DeleteKeyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___DeleteKeyResponse = DeleteKeyResponse @typing_extensions.final @@ -3007,11 +4163,31 @@ class AuthorizationDetails(google.protobuf.message.Message): resource_id: builtins.str org_id: builtins.str - def __init__(self, *, authorization_type: builtins.str=..., authorization_id: builtins.str=..., resource_type: builtins.str=..., resource_id: builtins.str=..., org_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + authorization_type: builtins.str = ..., + authorization_id: builtins.str = ..., + resource_type: builtins.str = ..., + resource_id: builtins.str = ..., + org_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "authorization_id", + b"authorization_id", + "authorization_type", + b"authorization_type", + "org_id", + b"org_id", + "resource_id", + b"resource_id", + "resource_type", + b"resource_type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['authorization_id', b'authorization_id', 'authorization_type', b'authorization_type', 'org_id', b'org_id', 'resource_id', b'resource_id', 'resource_type', b'resource_type']) -> None: - ... global___AuthorizationDetails = AuthorizationDetails @typing_extensions.final @@ -3021,21 +4197,30 @@ class APIKeyWithAuthorizations(google.protobuf.message.Message): AUTHORIZATIONS_FIELD_NUMBER: builtins.int @property - def api_key(self) -> global___APIKey: - ... - + def api_key(self) -> global___APIKey: ... @property - def authorizations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthorizationDetails]: - ... + def authorizations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___AuthorizationDetails + ]: ... + def __init__( + self, + *, + api_key: global___APIKey | None = ..., + authorizations: collections.abc.Iterable[global___AuthorizationDetails] + | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["api_key", b"api_key"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "api_key", b"api_key", "authorizations", b"authorizations" + ], + ) -> None: ... - def __init__(self, *, api_key: global___APIKey | None=..., authorizations: collections.abc.Iterable[global___AuthorizationDetails] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['api_key', b'api_key']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['api_key', b'api_key', 'authorizations', b'authorizations']) -> None: - ... global___APIKeyWithAuthorizations = APIKeyWithAuthorizations @typing_extensions.final @@ -3044,11 +4229,11 @@ class ListKeysRequest(google.protobuf.message.Message): ORG_ID_FIELD_NUMBER: builtins.int org_id: builtins.str - def __init__(self, *, org_id: builtins.str=...) -> None: - ... + def __init__(self, *, org_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... global___ListKeysRequest = ListKeysRequest @typing_extensions.final @@ -3057,14 +4242,21 @@ class ListKeysResponse(google.protobuf.message.Message): API_KEYS_FIELD_NUMBER: builtins.int @property - def api_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___APIKeyWithAuthorizations]: - ... - - def __init__(self, *, api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] | None=...) -> None: - ... + def api_keys( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___APIKeyWithAuthorizations + ]: ... + def __init__( + self, + *, + api_keys: collections.abc.Iterable[global___APIKeyWithAuthorizations] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["api_keys", b"api_keys"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['api_keys', b'api_keys']) -> None: - ... global___ListKeysResponse = ListKeysResponse @typing_extensions.final @@ -3073,11 +4265,11 @@ class RotateKeyRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___RotateKeyRequest = RotateKeyRequest @typing_extensions.final @@ -3088,11 +4280,11 @@ class RotateKeyResponse(google.protobuf.message.Message): id: builtins.str key: builtins.str - def __init__(self, *, id: builtins.str=..., key: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ..., key: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "key", b"key"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: - ... global___RotateKeyResponse = RotateKeyResponse @typing_extensions.final @@ -3101,12 +4293,14 @@ class CreateKeyFromExistingKeyAuthorizationsRequest(google.protobuf.message.Mess ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... -global___CreateKeyFromExistingKeyAuthorizationsRequest = CreateKeyFromExistingKeyAuthorizationsRequest +global___CreateKeyFromExistingKeyAuthorizationsRequest = ( + CreateKeyFromExistingKeyAuthorizationsRequest +) @typing_extensions.final class CreateKeyFromExistingKeyAuthorizationsResponse(google.protobuf.message.Message): @@ -3116,9 +4310,11 @@ class CreateKeyFromExistingKeyAuthorizationsResponse(google.protobuf.message.Mes id: builtins.str key: builtins.str - def __init__(self, *, id: builtins.str=..., key: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ..., key: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "key", b"key"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'key', b'key']) -> None: - ... -global___CreateKeyFromExistingKeyAuthorizationsResponse = CreateKeyFromExistingKeyAuthorizationsResponse \ No newline at end of file +global___CreateKeyFromExistingKeyAuthorizationsResponse = ( + CreateKeyFromExistingKeyAuthorizationsResponse +) diff --git a/src/viam/gen/app/v1/billing_grpc.py b/src/viam/gen/app/v1/billing_grpc.py index 3316e443e..c57481693 100644 --- a/src/viam/gen/app/v1/billing_grpc.py +++ b/src/viam/gen/app/v1/billing_grpc.py @@ -1,37 +1,97 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.protobuf.timestamp_pb2 + from ... import app -class BillingServiceBase(abc.ABC): +class BillingServiceBase(abc.ABC): @abc.abstractmethod - async def GetCurrentMonthUsage(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse]') -> None: + async def GetCurrentMonthUsage( + self, + stream: "grpclib.server.Stream[app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse]", + ) -> None: pass @abc.abstractmethod - async def GetOrgBillingInformation(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse]') -> None: + async def GetOrgBillingInformation( + self, + stream: "grpclib.server.Stream[app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse]", + ) -> None: pass @abc.abstractmethod - async def GetInvoicesSummary(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse]') -> None: + async def GetInvoicesSummary( + self, + stream: "grpclib.server.Stream[app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse]", + ) -> None: pass @abc.abstractmethod - async def GetInvoicePdf(self, stream: 'grpclib.server.Stream[app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse]') -> None: + async def GetInvoicePdf( + self, + stream: "grpclib.server.Stream[app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.BillingService/GetCurrentMonthUsage': grpclib.const.Handler(self.GetCurrentMonthUsage, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse), '/viam.app.v1.BillingService/GetOrgBillingInformation': grpclib.const.Handler(self.GetOrgBillingInformation, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse), '/viam.app.v1.BillingService/GetInvoicesSummary': grpclib.const.Handler(self.GetInvoicesSummary, grpclib.const.Cardinality.UNARY_UNARY, app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse), '/viam.app.v1.BillingService/GetInvoicePdf': grpclib.const.Handler(self.GetInvoicePdf, grpclib.const.Cardinality.UNARY_STREAM, app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse)} + return { + "/viam.app.v1.BillingService/GetCurrentMonthUsage": grpclib.const.Handler( + self.GetCurrentMonthUsage, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.billing_pb2.GetCurrentMonthUsageRequest, + app.v1.billing_pb2.GetCurrentMonthUsageResponse, + ), + "/viam.app.v1.BillingService/GetOrgBillingInformation": grpclib.const.Handler( + self.GetOrgBillingInformation, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.billing_pb2.GetOrgBillingInformationRequest, + app.v1.billing_pb2.GetOrgBillingInformationResponse, + ), + "/viam.app.v1.BillingService/GetInvoicesSummary": grpclib.const.Handler( + self.GetInvoicesSummary, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.billing_pb2.GetInvoicesSummaryRequest, + app.v1.billing_pb2.GetInvoicesSummaryResponse, + ), + "/viam.app.v1.BillingService/GetInvoicePdf": grpclib.const.Handler( + self.GetInvoicePdf, + grpclib.const.Cardinality.UNARY_STREAM, + app.v1.billing_pb2.GetInvoicePdfRequest, + app.v1.billing_pb2.GetInvoicePdfResponse, + ), + } -class BillingServiceStub: +class BillingServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetCurrentMonthUsage = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetCurrentMonthUsage', app.v1.billing_pb2.GetCurrentMonthUsageRequest, app.v1.billing_pb2.GetCurrentMonthUsageResponse) - self.GetOrgBillingInformation = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetOrgBillingInformation', app.v1.billing_pb2.GetOrgBillingInformationRequest, app.v1.billing_pb2.GetOrgBillingInformationResponse) - self.GetInvoicesSummary = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.BillingService/GetInvoicesSummary', app.v1.billing_pb2.GetInvoicesSummaryRequest, app.v1.billing_pb2.GetInvoicesSummaryResponse) - self.GetInvoicePdf = grpclib.client.UnaryStreamMethod(channel, '/viam.app.v1.BillingService/GetInvoicePdf', app.v1.billing_pb2.GetInvoicePdfRequest, app.v1.billing_pb2.GetInvoicePdfResponse) \ No newline at end of file + self.GetCurrentMonthUsage = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.BillingService/GetCurrentMonthUsage", + app.v1.billing_pb2.GetCurrentMonthUsageRequest, + app.v1.billing_pb2.GetCurrentMonthUsageResponse, + ) + self.GetOrgBillingInformation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.BillingService/GetOrgBillingInformation", + app.v1.billing_pb2.GetOrgBillingInformationRequest, + app.v1.billing_pb2.GetOrgBillingInformationResponse, + ) + self.GetInvoicesSummary = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.BillingService/GetInvoicesSummary", + app.v1.billing_pb2.GetInvoicesSummaryRequest, + app.v1.billing_pb2.GetInvoicesSummaryResponse, + ) + self.GetInvoicePdf = grpclib.client.UnaryStreamMethod( + channel, + "/viam.app.v1.BillingService/GetInvoicePdf", + app.v1.billing_pb2.GetInvoicePdfRequest, + app.v1.billing_pb2.GetInvoicePdfResponse, + ) diff --git a/src/viam/gen/app/v1/billing_pb2.py b/src/viam/gen/app/v1/billing_pb2.py index 3e4b63992..c84318fb2 100644 --- a/src/viam/gen/app/v1/billing_pb2.py +++ b/src/viam/gen/app/v1/billing_pb2.py @@ -1,16 +1,20 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"\x8b\x02\n\x15BillableResourceEvent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12%\n\x0eusage_quantity\x18\x03 \x01(\x01R\rusageQuantity\x12.\n\x13usage_quantity_unit\x18\x04 \x01(\tR\x11usageQuantityUnit\x12\x1d\n\nusage_cost\x18\x05 \x01(\tR\tusageCost\x12;\n\x0boccurred_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1b\n\tuser_name\x18\x07 \x01(\tR\x08userName"\xa7\x02\n\x07Invoice\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x128\n\x05items\x18\x06 \x03(\x0b2".viam.app.v1.BillableResourceEventR\x05items\x12\x1d\n\nemailed_to\x18\x07 \x01(\tR\temailedTo"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xd0\x04\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x127\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x04 \x01(\x01R\x13dataUploadUsageCost\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19remote_control_usage_cost\x18\x06 \x01(\x01R\x16remoteControlUsageCost\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12\'\n\x0fdiscount_amount\x18\x08 \x01(\x01R\x0ediscountAmount\x129\n\x19total_usage_with_discount\x18\t \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\n \x01(\x01R\x19totalUsageWithoutDiscount"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfc\x01\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tier"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk*V\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x012\xb7\x03\n\x0eBillingService\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01B\x18Z\x16go.viam.com/api/app/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x14app/v1/billing.proto\x12\x0bviam.app.v1\x1a\x1fgoogle/protobuf/timestamp.proto"\x8e\x02\n\x0eInvoiceSummary\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x127\n\tpaid_date\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\x08paidDate"\x8b\x02\n\x15BillableResourceEvent\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12%\n\x0eusage_quantity\x18\x03 \x01(\x01R\rusageQuantity\x12.\n\x13usage_quantity_unit\x18\x04 \x01(\tR\x11usageQuantityUnit\x12\x1d\n\nusage_cost\x18\x05 \x01(\tR\tusageCost\x12;\n\x0boccurred_at\x18\x06 \x01(\x0b2\x1a.google.protobuf.TimestampR\noccurredAt\x12\x1b\n\tuser_name\x18\x07 \x01(\tR\x08userName"\xa7\x02\n\x07Invoice\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12=\n\x0cinvoice_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x0binvoiceDate\x12%\n\x0einvoice_amount\x18\x03 \x01(\x01R\rinvoiceAmount\x12\x16\n\x06status\x18\x04 \x01(\tR\x06status\x125\n\x08due_date\x18\x05 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07dueDate\x128\n\x05items\x18\x06 \x03(\x0b2".viam.app.v1.BillableResourceEventR\x05items\x12\x1d\n\nemailed_to\x18\x07 \x01(\tR\temailedTo"S\n\x11PaymentMethodCard\x12\x14\n\x05brand\x18\x01 \x01(\tR\x05brand\x12(\n\x10last_four_digits\x18\x02 \x01(\tR\x0elastFourDigits"4\n\x1bGetCurrentMonthUsageRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xd0\x04\n\x1cGetCurrentMonthUsageResponse\x129\n\nstart_date\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\tstartDate\x125\n\x08end_date\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07endDate\x127\n\x18cloud_storage_usage_cost\x18\x03 \x01(\x01R\x15cloudStorageUsageCost\x123\n\x16data_upload_usage_cost\x18\x04 \x01(\x01R\x13dataUploadUsageCost\x121\n\x15data_egres_usage_cost\x18\x05 \x01(\x01R\x12dataEgresUsageCost\x129\n\x19remote_control_usage_cost\x18\x06 \x01(\x01R\x16remoteControlUsageCost\x12=\n\x1bstandard_compute_usage_cost\x18\x07 \x01(\x01R\x18standardComputeUsageCost\x12\'\n\x0fdiscount_amount\x18\x08 \x01(\x01R\x0ediscountAmount\x129\n\x19total_usage_with_discount\x18\t \x01(\x01R\x16totalUsageWithDiscount\x12?\n\x1ctotal_usage_without_discount\x18\n \x01(\x01R\x19totalUsageWithoutDiscount"8\n\x1fGetOrgBillingInformationRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\xfc\x01\n GetOrgBillingInformationResponse\x122\n\x04type\x18\x01 \x01(\x0e2\x1e.viam.app.v1.PaymentMethodTypeR\x04type\x12#\n\rbilling_email\x18\x02 \x01(\tR\x0cbillingEmail\x12;\n\x06method\x18\x03 \x01(\x0b2\x1e.viam.app.v1.PaymentMethodCardH\x00R\x06method\x88\x01\x01\x12&\n\x0cbilling_tier\x18\x04 \x01(\tH\x01R\x0bbillingTier\x88\x01\x01B\t\n\x07_methodB\x0f\n\r_billing_tier"2\n\x19GetInvoicesSummaryRequest\x12\x15\n\x06org_id\x18\x01 \x01(\tR\x05orgId"\x86\x01\n\x1aGetInvoicesSummaryResponse\x12/\n\x13outstanding_balance\x18\x01 \x01(\x01R\x12outstandingBalance\x127\n\x08invoices\x18\x02 \x03(\x0b2\x1b.viam.app.v1.InvoiceSummaryR\x08invoices"=\n\x14GetInvoicePdfRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x15\n\x06org_id\x18\x02 \x01(\tR\x05orgId"-\n\x15GetInvoicePdfResponse\x12\x14\n\x05chunk\x18\x01 \x01(\x0cR\x05chunk*V\n\x11PaymentMethodType\x12#\n\x1fPAYMENT_METHOD_TYPE_UNSPECIFIED\x10\x00\x12\x1c\n\x18PAYMENT_METHOD_TYPE_CARD\x10\x012\xb7\x03\n\x0eBillingService\x12k\n\x14GetCurrentMonthUsage\x12(.viam.app.v1.GetCurrentMonthUsageRequest\x1a).viam.app.v1.GetCurrentMonthUsageResponse\x12w\n\x18GetOrgBillingInformation\x12,.viam.app.v1.GetOrgBillingInformationRequest\x1a-.viam.app.v1.GetOrgBillingInformationResponse\x12e\n\x12GetInvoicesSummary\x12&.viam.app.v1.GetInvoicesSummaryRequest\x1a\'.viam.app.v1.GetInvoicesSummaryResponse\x12X\n\rGetInvoicePdf\x12!.viam.app.v1.GetInvoicePdfRequest\x1a".viam.app.v1.GetInvoicePdfResponse0\x01B\x18Z\x16go.viam.com/api/app/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.billing_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.v1.billing_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' + DESCRIPTOR._serialized_options = b"Z\x16go.viam.com/api/app/v1" _PAYMENTMETHODTYPE._serialized_start = 2257 _PAYMENTMETHODTYPE._serialized_end = 2343 _INVOICESUMMARY._serialized_start = 71 @@ -38,4 +42,4 @@ _GETINVOICEPDFRESPONSE._serialized_start = 2210 _GETINVOICEPDFRESPONSE._serialized_end = 2255 _BILLINGSERVICE._serialized_start = 2346 - _BILLINGSERVICE._serialized_end = 2785 \ No newline at end of file + _BILLINGSERVICE._serialized_end = 2785 diff --git a/src/viam/gen/app/v1/billing_pb2.pyi b/src/viam/gen/app/v1/billing_pb2.pyi index 6aeb77529..ddcc0ae5d 100644 --- a/src/viam/gen/app/v1/billing_pb2.pyi +++ b/src/viam/gen/app/v1/billing_pb2.pyi @@ -4,13 +4,15 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.timestamp_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -18,16 +20,23 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PaymentMethodType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PaymentMethodTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PaymentMethodType.ValueType], builtins.type): +class _PaymentMethodTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _PaymentMethodType.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor PAYMENT_METHOD_TYPE_UNSPECIFIED: _PaymentMethodType.ValueType PAYMENT_METHOD_TYPE_CARD: _PaymentMethodType.ValueType -class PaymentMethodType(_PaymentMethodType, metaclass=_PaymentMethodTypeEnumTypeWrapper): - ... +class PaymentMethodType( + _PaymentMethodType, metaclass=_PaymentMethodTypeEnumTypeWrapper +): ... + PAYMENT_METHOD_TYPE_UNSPECIFIED: PaymentMethodType.ValueType PAYMENT_METHOD_TYPE_CARD: PaymentMethodType.ValueType global___PaymentMethodType = PaymentMethodType @@ -44,27 +53,53 @@ class InvoiceSummary(google.protobuf.message.Message): id: builtins.str @property - def invoice_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def invoice_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... invoice_amount: builtins.float status: builtins.str @property - def due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def paid_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, id: builtins.str=..., invoice_date: google.protobuf.timestamp_pb2.Timestamp | None=..., invoice_amount: builtins.float=..., status: builtins.str=..., due_date: google.protobuf.timestamp_pb2.Timestamp | None=..., paid_date: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... + def paid_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + id: builtins.str = ..., + invoice_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + invoice_amount: builtins.float = ..., + status: builtins.str = ..., + due_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + paid_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "due_date", + b"due_date", + "invoice_date", + b"invoice_date", + "paid_date", + b"paid_date", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "due_date", + b"due_date", + "id", + b"id", + "invoice_amount", + b"invoice_amount", + "invoice_date", + b"invoice_date", + "paid_date", + b"paid_date", + "status", + b"status", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['due_date', b'due_date', 'invoice_date', b'invoice_date', 'paid_date', b'paid_date']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['due_date', b'due_date', 'id', b'id', 'invoice_amount', b'invoice_amount', 'invoice_date', b'invoice_date', 'paid_date', b'paid_date', 'status', b'status']) -> None: - ... global___InvoiceSummary = InvoiceSummary @typing_extensions.final @@ -84,18 +119,43 @@ class BillableResourceEvent(google.protobuf.message.Message): usage_cost: builtins.str @property - def occurred_at(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def occurred_at(self) -> google.protobuf.timestamp_pb2.Timestamp: ... user_name: builtins.str - def __init__(self, *, id: builtins.str=..., type: builtins.str=..., usage_quantity: builtins.float=..., usage_quantity_unit: builtins.str=..., usage_cost: builtins.str=..., occurred_at: google.protobuf.timestamp_pb2.Timestamp | None=..., user_name: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['occurred_at', b'occurred_at']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + type: builtins.str = ..., + usage_quantity: builtins.float = ..., + usage_quantity_unit: builtins.str = ..., + usage_cost: builtins.str = ..., + occurred_at: google.protobuf.timestamp_pb2.Timestamp | None = ..., + user_name: builtins.str = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["occurred_at", b"occurred_at"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "occurred_at", + b"occurred_at", + "type", + b"type", + "usage_cost", + b"usage_cost", + "usage_quantity", + b"usage_quantity", + "usage_quantity_unit", + b"usage_quantity_unit", + "user_name", + b"user_name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'occurred_at', b'occurred_at', 'type', b'type', 'usage_cost', b'usage_cost', 'usage_quantity', b'usage_quantity', 'usage_quantity_unit', b'usage_quantity_unit', 'user_name', b'user_name']) -> None: - ... global___BillableResourceEvent = BillableResourceEvent @typing_extensions.final @@ -111,28 +171,57 @@ class Invoice(google.protobuf.message.Message): id: builtins.str @property - def invoice_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def invoice_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... invoice_amount: builtins.float status: builtins.str @property - def due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def due_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def items(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BillableResourceEvent]: - ... + def items( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___BillableResourceEvent + ]: ... emailed_to: builtins.str - def __init__(self, *, id: builtins.str=..., invoice_date: google.protobuf.timestamp_pb2.Timestamp | None=..., invoice_amount: builtins.float=..., status: builtins.str=..., due_date: google.protobuf.timestamp_pb2.Timestamp | None=..., items: collections.abc.Iterable[global___BillableResourceEvent] | None=..., emailed_to: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['due_date', b'due_date', 'invoice_date', b'invoice_date']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + invoice_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + invoice_amount: builtins.float = ..., + status: builtins.str = ..., + due_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + items: collections.abc.Iterable[global___BillableResourceEvent] | None = ..., + emailed_to: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "due_date", b"due_date", "invoice_date", b"invoice_date" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "due_date", + b"due_date", + "emailed_to", + b"emailed_to", + "id", + b"id", + "invoice_amount", + b"invoice_amount", + "invoice_date", + b"invoice_date", + "items", + b"items", + "status", + b"status", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['due_date', b'due_date', 'emailed_to', b'emailed_to', 'id', b'id', 'invoice_amount', b'invoice_amount', 'invoice_date', b'invoice_date', 'items', b'items', 'status', b'status']) -> None: - ... global___Invoice = Invoice @typing_extensions.final @@ -143,11 +232,16 @@ class PaymentMethodCard(google.protobuf.message.Message): brand: builtins.str last_four_digits: builtins.str - def __init__(self, *, brand: builtins.str=..., last_four_digits: builtins.str=...) -> None: - ... + def __init__( + self, *, brand: builtins.str = ..., last_four_digits: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "brand", b"brand", "last_four_digits", b"last_four_digits" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['brand', b'brand', 'last_four_digits', b'last_four_digits']) -> None: - ... global___PaymentMethodCard = PaymentMethodCard @typing_extensions.final @@ -156,11 +250,11 @@ class GetCurrentMonthUsageRequest(google.protobuf.message.Message): ORG_ID_FIELD_NUMBER: builtins.int org_id: builtins.str - def __init__(self, *, org_id: builtins.str=...) -> None: - ... + def __init__(self, *, org_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... global___GetCurrentMonthUsageRequest = GetCurrentMonthUsageRequest @typing_extensions.final @@ -178,12 +272,9 @@ class GetCurrentMonthUsageResponse(google.protobuf.message.Message): TOTAL_USAGE_WITHOUT_DISCOUNT_FIELD_NUMBER: builtins.int @property - def start_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - + def start_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property - def end_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def end_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... cloud_storage_usage_cost: builtins.float data_upload_usage_cost: builtins.float data_egres_usage_cost: builtins.float @@ -193,14 +284,52 @@ class GetCurrentMonthUsageResponse(google.protobuf.message.Message): total_usage_with_discount: builtins.float total_usage_without_discount: builtins.float - def __init__(self, *, start_date: google.protobuf.timestamp_pb2.Timestamp | None=..., end_date: google.protobuf.timestamp_pb2.Timestamp | None=..., cloud_storage_usage_cost: builtins.float=..., data_upload_usage_cost: builtins.float=..., data_egres_usage_cost: builtins.float=..., remote_control_usage_cost: builtins.float=..., standard_compute_usage_cost: builtins.float=..., discount_amount: builtins.float=..., total_usage_with_discount: builtins.float=..., total_usage_without_discount: builtins.float=...) -> None: - ... + def __init__( + self, + *, + start_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + end_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., + cloud_storage_usage_cost: builtins.float = ..., + data_upload_usage_cost: builtins.float = ..., + data_egres_usage_cost: builtins.float = ..., + remote_control_usage_cost: builtins.float = ..., + standard_compute_usage_cost: builtins.float = ..., + discount_amount: builtins.float = ..., + total_usage_with_discount: builtins.float = ..., + total_usage_without_discount: builtins.float = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "end_date", b"end_date", "start_date", b"start_date" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "cloud_storage_usage_cost", + b"cloud_storage_usage_cost", + "data_egres_usage_cost", + b"data_egres_usage_cost", + "data_upload_usage_cost", + b"data_upload_usage_cost", + "discount_amount", + b"discount_amount", + "end_date", + b"end_date", + "remote_control_usage_cost", + b"remote_control_usage_cost", + "standard_compute_usage_cost", + b"standard_compute_usage_cost", + "start_date", + b"start_date", + "total_usage_with_discount", + b"total_usage_with_discount", + "total_usage_without_discount", + b"total_usage_without_discount", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['end_date', b'end_date', 'start_date', b'start_date']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud_storage_usage_cost', b'cloud_storage_usage_cost', 'data_egres_usage_cost', b'data_egres_usage_cost', 'data_upload_usage_cost', b'data_upload_usage_cost', 'discount_amount', b'discount_amount', 'end_date', b'end_date', 'remote_control_usage_cost', b'remote_control_usage_cost', 'standard_compute_usage_cost', b'standard_compute_usage_cost', 'start_date', b'start_date', 'total_usage_with_discount', b'total_usage_with_discount', 'total_usage_without_discount', b'total_usage_without_discount']) -> None: - ... global___GetCurrentMonthUsageResponse = GetCurrentMonthUsageResponse @typing_extensions.final @@ -209,11 +338,11 @@ class GetOrgBillingInformationRequest(google.protobuf.message.Message): ORG_ID_FIELD_NUMBER: builtins.int org_id: builtins.str - def __init__(self, *, org_id: builtins.str=...) -> None: - ... + def __init__(self, *, org_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... global___GetOrgBillingInformationRequest = GetOrgBillingInformationRequest @typing_extensions.final @@ -230,24 +359,55 @@ class GetOrgBillingInformationResponse(google.protobuf.message.Message): def method(self) -> global___PaymentMethodCard: """defined if type is PAYMENT_METHOD_TYPE_CARD""" billing_tier: builtins.str - 'Only return billing_tier for billing dashboard admin users' - - def __init__(self, *, type: global___PaymentMethodType.ValueType=..., billing_email: builtins.str=..., method: global___PaymentMethodCard | None=..., billing_tier: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_billing_tier', b'_billing_tier', '_method', b'_method', 'billing_tier', b'billing_tier', 'method', b'method']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_billing_tier', b'_billing_tier', '_method', b'_method', 'billing_email', b'billing_email', 'billing_tier', b'billing_tier', 'method', b'method', 'type', b'type']) -> None: - ... - + "Only return billing_tier for billing dashboard admin users" + + def __init__( + self, + *, + type: global___PaymentMethodType.ValueType = ..., + billing_email: builtins.str = ..., + method: global___PaymentMethodCard | None = ..., + billing_tier: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_billing_tier", + b"_billing_tier", + "_method", + b"_method", + "billing_tier", + b"billing_tier", + "method", + b"method", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_billing_tier", + b"_billing_tier", + "_method", + b"_method", + "billing_email", + b"billing_email", + "billing_tier", + b"billing_tier", + "method", + b"method", + "type", + b"type", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_billing_tier', b'_billing_tier']) -> typing_extensions.Literal['billing_tier'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_billing_tier", b"_billing_tier"] + ) -> typing_extensions.Literal["billing_tier"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_method', b'_method']) -> typing_extensions.Literal['method'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_method", b"_method"] + ) -> typing_extensions.Literal["method"] | None: ... + global___GetOrgBillingInformationResponse = GetOrgBillingInformationResponse @typing_extensions.final @@ -256,11 +416,11 @@ class GetInvoicesSummaryRequest(google.protobuf.message.Message): ORG_ID_FIELD_NUMBER: builtins.int org_id: builtins.str - def __init__(self, *, org_id: builtins.str=...) -> None: - ... + def __init__(self, *, org_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['org_id', b'org_id']) -> None: - ... global___GetInvoicesSummaryRequest = GetInvoicesSummaryRequest @typing_extensions.final @@ -269,17 +429,29 @@ class GetInvoicesSummaryResponse(google.protobuf.message.Message): OUTSTANDING_BALANCE_FIELD_NUMBER: builtins.int INVOICES_FIELD_NUMBER: builtins.int outstanding_balance: builtins.float - 'all unpaid balances at the end of the last billing cycle' + "all unpaid balances at the end of the last billing cycle" @property - def invoices(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___InvoiceSummary]: + def invoices( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___InvoiceSummary + ]: """all previous invoices""" - def __init__(self, *, outstanding_balance: builtins.float=..., invoices: collections.abc.Iterable[global___InvoiceSummary] | None=...) -> None: - ... + def __init__( + self, + *, + outstanding_balance: builtins.float = ..., + invoices: collections.abc.Iterable[global___InvoiceSummary] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "invoices", b"invoices", "outstanding_balance", b"outstanding_balance" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['invoices', b'invoices', 'outstanding_balance', b'outstanding_balance']) -> None: - ... global___GetInvoicesSummaryResponse = GetInvoicesSummaryResponse @typing_extensions.final @@ -290,11 +462,13 @@ class GetInvoicePdfRequest(google.protobuf.message.Message): id: builtins.str org_id: builtins.str - def __init__(self, *, id: builtins.str=..., org_id: builtins.str=...) -> None: - ... + def __init__( + self, *, id: builtins.str = ..., org_id: builtins.str = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "org_id", b"org_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'org_id', b'org_id']) -> None: - ... global___GetInvoicePdfRequest = GetInvoicePdfRequest @typing_extensions.final @@ -303,9 +477,9 @@ class GetInvoicePdfResponse(google.protobuf.message.Message): CHUNK_FIELD_NUMBER: builtins.int chunk: builtins.bytes - def __init__(self, *, chunk: builtins.bytes=...) -> None: - ... + def __init__(self, *, chunk: builtins.bytes = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["chunk", b"chunk"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['chunk', b'chunk']) -> None: - ... -global___GetInvoicePdfResponse = GetInvoicePdfResponse \ No newline at end of file +global___GetInvoicePdfResponse = GetInvoicePdfResponse diff --git a/src/viam/gen/app/v1/end_user_grpc.py b/src/viam/gen/app/v1/end_user_grpc.py index d1b0dfb66..385db0c88 100644 --- a/src/viam/gen/app/v1/end_user_grpc.py +++ b/src/viam/gen/app/v1/end_user_grpc.py @@ -1,26 +1,57 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server from ... import app -class EndUserServiceBase(abc.ABC): +class EndUserServiceBase(abc.ABC): @abc.abstractmethod - async def IsLegalAccepted(self, stream: 'grpclib.server.Stream[app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse]') -> None: + async def IsLegalAccepted( + self, + stream: "grpclib.server.Stream[app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse]", + ) -> None: pass @abc.abstractmethod - async def AcceptLegal(self, stream: 'grpclib.server.Stream[app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse]') -> None: + async def AcceptLegal( + self, + stream: "grpclib.server.Stream[app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.EndUserService/IsLegalAccepted': grpclib.const.Handler(self.IsLegalAccepted, grpclib.const.Cardinality.UNARY_UNARY, app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse), '/viam.app.v1.EndUserService/AcceptLegal': grpclib.const.Handler(self.AcceptLegal, grpclib.const.Cardinality.UNARY_UNARY, app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse)} + return { + "/viam.app.v1.EndUserService/IsLegalAccepted": grpclib.const.Handler( + self.IsLegalAccepted, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.end_user_pb2.IsLegalAcceptedRequest, + app.v1.end_user_pb2.IsLegalAcceptedResponse, + ), + "/viam.app.v1.EndUserService/AcceptLegal": grpclib.const.Handler( + self.AcceptLegal, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.end_user_pb2.AcceptLegalRequest, + app.v1.end_user_pb2.AcceptLegalResponse, + ), + } -class EndUserServiceStub: +class EndUserServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.IsLegalAccepted = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.EndUserService/IsLegalAccepted', app.v1.end_user_pb2.IsLegalAcceptedRequest, app.v1.end_user_pb2.IsLegalAcceptedResponse) - self.AcceptLegal = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.EndUserService/AcceptLegal', app.v1.end_user_pb2.AcceptLegalRequest, app.v1.end_user_pb2.AcceptLegalResponse) \ No newline at end of file + self.IsLegalAccepted = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.EndUserService/IsLegalAccepted", + app.v1.end_user_pb2.IsLegalAcceptedRequest, + app.v1.end_user_pb2.IsLegalAcceptedResponse, + ) + self.AcceptLegal = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.EndUserService/AcceptLegal", + app.v1.end_user_pb2.AcceptLegalRequest, + app.v1.end_user_pb2.AcceptLegalResponse, + ) diff --git a/src/viam/gen/app/v1/end_user_pb2.py b/src/viam/gen/app/v1/end_user_pb2.py index e882ca07c..ddc1f9fbd 100644 --- a/src/viam/gen/app/v1/end_user_pb2.py +++ b/src/viam/gen/app/v1/end_user_pb2.py @@ -1,15 +1,18 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x15app/v1/end_user.proto\x12\x0bviam.app.v1"\x18\n\x16IsLegalAcceptedRequest"@\n\x17IsLegalAcceptedResponse\x12%\n\x0eaccepted_legal\x18\x01 \x01(\x08R\racceptedLegal"\x14\n\x12AcceptLegalRequest"\x15\n\x13AcceptLegalResponse2\xc0\x01\n\x0eEndUserService\x12\\\n\x0fIsLegalAccepted\x12#.viam.app.v1.IsLegalAcceptedRequest\x1a$.viam.app.v1.IsLegalAcceptedResponse\x12P\n\x0bAcceptLegal\x12\x1f.viam.app.v1.AcceptLegalRequest\x1a .viam.app.v1.AcceptLegalResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x15app/v1/end_user.proto\x12\x0bviam.app.v1"\x18\n\x16IsLegalAcceptedRequest"@\n\x17IsLegalAcceptedResponse\x12%\n\x0eaccepted_legal\x18\x01 \x01(\x08R\racceptedLegal"\x14\n\x12AcceptLegalRequest"\x15\n\x13AcceptLegalResponse2\xc0\x01\n\x0eEndUserService\x12\\\n\x0fIsLegalAccepted\x12#.viam.app.v1.IsLegalAcceptedRequest\x1a$.viam.app.v1.IsLegalAcceptedResponse\x12P\n\x0bAcceptLegal\x12\x1f.viam.app.v1.AcceptLegalRequest\x1a .viam.app.v1.AcceptLegalResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.end_user_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.v1.end_user_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' + DESCRIPTOR._serialized_options = b"Z\x16go.viam.com/api/app/v1" _ISLEGALACCEPTEDREQUEST._serialized_start = 38 _ISLEGALACCEPTEDREQUEST._serialized_end = 62 _ISLEGALACCEPTEDRESPONSE._serialized_start = 64 @@ -19,4 +22,4 @@ _ACCEPTLEGALRESPONSE._serialized_start = 152 _ACCEPTLEGALRESPONSE._serialized_end = 173 _ENDUSERSERVICE._serialized_start = 176 - _ENDUSERSERVICE._serialized_end = 368 \ No newline at end of file + _ENDUSERSERVICE._serialized_end = 368 diff --git a/src/viam/gen/app/v1/end_user_pb2.pyi b/src/viam/gen/app/v1/end_user_pb2.pyi index ea32cb04f..d19c53266 100644 --- a/src/viam/gen/app/v1/end_user_pb2.pyi +++ b/src/viam/gen/app/v1/end_user_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -16,8 +18,8 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class IsLegalAcceptedRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___IsLegalAcceptedRequest = IsLegalAcceptedRequest @typing_extensions.final @@ -25,27 +27,27 @@ class IsLegalAcceptedResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ACCEPTED_LEGAL_FIELD_NUMBER: builtins.int accepted_legal: builtins.bool - 'If false, the user should not be able to use the application.' + "If false, the user should not be able to use the application." - def __init__(self, *, accepted_legal: builtins.bool=...) -> None: - ... + def __init__(self, *, accepted_legal: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["accepted_legal", b"accepted_legal"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['accepted_legal', b'accepted_legal']) -> None: - ... global___IsLegalAcceptedResponse = IsLegalAcceptedResponse @typing_extensions.final class AcceptLegalRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AcceptLegalRequest = AcceptLegalRequest @typing_extensions.final class AcceptLegalResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___AcceptLegalResponse = AcceptLegalResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___AcceptLegalResponse = AcceptLegalResponse diff --git a/src/viam/gen/app/v1/robot_grpc.py b/src/viam/gen/app/v1/robot_grpc.py index b68969221..9f67168c4 100644 --- a/src/viam/gen/app/v1/robot_grpc.py +++ b/src/viam/gen/app/v1/robot_grpc.py @@ -1,40 +1,98 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from ... import common import google.protobuf.duration_pb2 import google.protobuf.struct_pb2 -from ... import tagger -from ... import app -class RobotServiceBase(abc.ABC): +from ... import app, common, tagger + +class RobotServiceBase(abc.ABC): @abc.abstractmethod - async def Config(self, stream: 'grpclib.server.Stream[app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse]') -> None: + async def Config( + self, + stream: "grpclib.server.Stream[app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse]", + ) -> None: pass @abc.abstractmethod - async def Certificate(self, stream: 'grpclib.server.Stream[app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse]') -> None: + async def Certificate( + self, + stream: "grpclib.server.Stream[app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse]", + ) -> None: pass @abc.abstractmethod - async def Log(self, stream: 'grpclib.server.Stream[app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse]') -> None: + async def Log( + self, + stream: "grpclib.server.Stream[app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse]", + ) -> None: pass @abc.abstractmethod - async def NeedsRestart(self, stream: 'grpclib.server.Stream[app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse]') -> None: + async def NeedsRestart( + self, + stream: "grpclib.server.Stream[app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.app.v1.RobotService/Config': grpclib.const.Handler(self.Config, grpclib.const.Cardinality.UNARY_UNARY, app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse), '/viam.app.v1.RobotService/Certificate': grpclib.const.Handler(self.Certificate, grpclib.const.Cardinality.UNARY_UNARY, app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse), '/viam.app.v1.RobotService/Log': grpclib.const.Handler(self.Log, grpclib.const.Cardinality.UNARY_UNARY, app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse), '/viam.app.v1.RobotService/NeedsRestart': grpclib.const.Handler(self.NeedsRestart, grpclib.const.Cardinality.UNARY_UNARY, app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse)} + return { + "/viam.app.v1.RobotService/Config": grpclib.const.Handler( + self.Config, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.robot_pb2.ConfigRequest, + app.v1.robot_pb2.ConfigResponse, + ), + "/viam.app.v1.RobotService/Certificate": grpclib.const.Handler( + self.Certificate, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.robot_pb2.CertificateRequest, + app.v1.robot_pb2.CertificateResponse, + ), + "/viam.app.v1.RobotService/Log": grpclib.const.Handler( + self.Log, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.robot_pb2.LogRequest, + app.v1.robot_pb2.LogResponse, + ), + "/viam.app.v1.RobotService/NeedsRestart": grpclib.const.Handler( + self.NeedsRestart, + grpclib.const.Cardinality.UNARY_UNARY, + app.v1.robot_pb2.NeedsRestartRequest, + app.v1.robot_pb2.NeedsRestartResponse, + ), + } -class RobotServiceStub: +class RobotServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Config = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.RobotService/Config', app.v1.robot_pb2.ConfigRequest, app.v1.robot_pb2.ConfigResponse) - self.Certificate = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.RobotService/Certificate', app.v1.robot_pb2.CertificateRequest, app.v1.robot_pb2.CertificateResponse) - self.Log = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.RobotService/Log', app.v1.robot_pb2.LogRequest, app.v1.robot_pb2.LogResponse) - self.NeedsRestart = grpclib.client.UnaryUnaryMethod(channel, '/viam.app.v1.RobotService/NeedsRestart', app.v1.robot_pb2.NeedsRestartRequest, app.v1.robot_pb2.NeedsRestartResponse) \ No newline at end of file + self.Config = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.RobotService/Config", + app.v1.robot_pb2.ConfigRequest, + app.v1.robot_pb2.ConfigResponse, + ) + self.Certificate = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.RobotService/Certificate", + app.v1.robot_pb2.CertificateRequest, + app.v1.robot_pb2.CertificateResponse, + ) + self.Log = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.RobotService/Log", + app.v1.robot_pb2.LogRequest, + app.v1.robot_pb2.LogResponse, + ) + self.NeedsRestart = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.app.v1.RobotService/NeedsRestart", + app.v1.robot_pb2.NeedsRestartRequest, + app.v1.robot_pb2.NeedsRestartResponse, + ) diff --git a/src/viam/gen/app/v1/robot_pb2.py b/src/viam/gen/app/v1/robot_pb2.py index 042f062c5..5103fb274 100644 --- a/src/viam/gen/app/v1/robot_pb2.py +++ b/src/viam/gen/app/v1/robot_pb2.py @@ -1,37 +1,54 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 + +from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from ...tagger.v1 import tagger_pb2 as tagger_dot_v1_dot_tagger__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\x89\x05\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packagesB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_start"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\x9f\x03\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets\x12$\n\x0eprimary_org_id\x18\n \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x0b \x01(\tR\nlocationId"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xd4\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xc3\x02\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs"\xc5\x01\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xac\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01B\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"J\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x04logs\x18\x02 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xac\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x12app/v1/robot.proto\x12\x0bviam.app.v1\x1a\x16common/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x16tagger/v1/tagger.proto"\x89\x05\n\x0bRobotConfig\x12.\n\x05cloud\x18\x01 \x01(\x0b2\x18.viam.app.v1.CloudConfigR\x05cloud\x123\n\x07remotes\x18\x02 \x03(\x0b2\x19.viam.app.v1.RemoteConfigR\x07remotes\x12<\n\ncomponents\x18\x03 \x03(\x0b2\x1c.viam.app.v1.ComponentConfigR\ncomponents\x128\n\tprocesses\x18\x04 \x03(\x0b2\x1a.viam.app.v1.ProcessConfigR\tprocesses\x126\n\x08services\x18\x05 \x03(\x0b2\x1a.viam.app.v1.ServiceConfigR\x08services\x129\n\x07network\x18\x06 \x01(\x0b2\x1a.viam.app.v1.NetworkConfigH\x00R\x07network\x88\x01\x01\x120\n\x04auth\x18\x07 \x01(\x0b2\x17.viam.app.v1.AuthConfigH\x01R\x04auth\x88\x01\x01\x12\x19\n\x05debug\x18\x08 \x01(\x08H\x02R\x05debug\x88\x01\x01\x123\n\x07modules\x18\t \x03(\x0b2\x19.viam.app.v1.ModuleConfigR\x07modules\x127\n\x15disable_partial_start\x18\n \x01(\x08H\x03R\x13disablePartialStart\x88\x01\x01\x126\n\x08packages\x18\x0b \x03(\x0b2\x1a.viam.app.v1.PackageConfigR\x08packagesB\n\n\x08_networkB\x07\n\x05_authB\x08\n\x06_debugB\x18\n\x16_disable_partial_start"8\n\x0eLocationSecret\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret"+\n\x13AppValidationStatus\x12\x14\n\x05error\x18\x01 \x01(\tR\x05error"\x9f\x03\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04fqdn\x18\x02 \x01(\tR\x04fqdn\x12\x1d\n\nlocal_fqdn\x18\x03 \x01(\tR\tlocalFqdn\x12\x1d\n\nmanaged_by\x18\x04 \x01(\tR\tmanagedBy\x12+\n\x11signaling_address\x18\x05 \x01(\tR\x10signalingAddress\x12-\n\x12signaling_insecure\x18\x06 \x01(\x08R\x11signalingInsecure\x12+\n\x0flocation_secret\x18\x07 \x01(\tB\x02\x18\x01R\x0elocationSecret\x12\x16\n\x06secret\x18\x08 \x01(\tR\x06secret\x12F\n\x10location_secrets\x18\t \x03(\x0b2\x1b.viam.app.v1.LocationSecretR\x0flocationSecrets\x12$\n\x0eprimary_org_id\x18\n \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x0b \x01(\tR\nlocationId"\xbb\x03\n\x0fComponentConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x12\x14\n\x05model\x18\x04 \x01(\tR\x05model\x12(\n\x05frame\x18\x05 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12\x1d\n\ndepends_on\x18\x06 \x03(\tR\tdependsOn\x12l\n\x0fservice_configs\x18\x07 \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x127\n\nattributes\x18\x08 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12J\n\x11log_configuration\x18\n \x01(\x0b2\x1d.viam.app.v1.LogConfigurationR\x10logConfiguration"i\n\x1aResourceLevelServiceConfig\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x127\n\nattributes\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nattributes"\xd4\x02\n\rProcessConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x12\n\x04args\x18\x03 \x03(\tR\x04args\x12\x10\n\x03cwd\x18\x04 \x01(\tR\x03cwd\x12\x19\n\x08one_shot\x18\x05 \x01(\x08R\x07oneShot\x12\x10\n\x03log\x18\x06 \x01(\x08R\x03log\x12\x1f\n\x0bstop_signal\x18\x07 \x01(\x05R\nstopSignal\x12<\n\x0cstop_timeout\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x0bstopTimeout\x125\n\x03env\x18\t \x03(\x0b2#.viam.app.v1.ProcessConfig.EnvEntryR\x03env\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xc3\x02\n\rServiceConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1c\n\tnamespace\x18\x02 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x03 \x01(\tR\x04type\x127\n\nattributes\x18\x04 \x01(\x0b2\x17.google.protobuf.StructR\nattributes\x12\x1d\n\ndepends_on\x18\x05 \x03(\tR\tdependsOn\x12\x14\n\x05model\x18\x06 \x01(\tR\x05model\x12\x10\n\x03api\x18\t \x01(\tR\x03api\x12l\n\x0fservice_configs\x18\n \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs"\xc5\x01\n\rNetworkConfig\x12\x12\n\x04fqdn\x18\x01 \x01(\tR\x04fqdn\x12!\n\x0cbind_address\x18\x02 \x01(\tR\x0bbindAddress\x12"\n\rtls_cert_file\x18\x03 \x01(\tR\x0btlsCertFile\x12 \n\x0ctls_key_file\x18\x04 \x01(\tR\ntlsKeyFile\x127\n\x08sessions\x18\x05 \x01(\x0b2\x1b.viam.app.v1.SessionsConfigR\x08sessions"V\n\x0eSessionsConfig\x12D\n\x10heartbeat_window\x18\x01 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"\xe5\x01\n\nAuthConfig\x12:\n\x08handlers\x18\x01 \x03(\x0b2\x1e.viam.app.v1.AuthHandlerConfigR\x08handlers\x12*\n\x11tls_auth_entities\x18\x02 \x03(\tR\x0ftlsAuthEntities\x12V\n\x14external_auth_config\x18\x03 \x01(\x0b2\x1f.viam.app.v1.ExternalAuthConfigH\x00R\x12externalAuthConfig\x88\x01\x01B\x17\n\x15_external_auth_config"7\n\x08JWKSFile\x12+\n\x04json\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x04json"?\n\x12ExternalAuthConfig\x12)\n\x04jwks\x18\x01 \x01(\x0b2\x15.viam.app.v1.JWKSFileR\x04jwks"v\n\x11AuthHandlerConfig\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12/\n\x06config\x18\x05 \x01(\x0b2\x17.google.protobuf.StructR\x06config"\xcd\x01\n\x05Frame\x12\x16\n\x06parent\x18\x01 \x01(\tR\x06parent\x12:\n\x0btranslation\x18\x02 \x01(\x0b2\x18.viam.app.v1.TranslationR\x0btranslation\x12:\n\x0borientation\x18\x03 \x01(\x0b2\x18.viam.app.v1.OrientationR\x0borientation\x124\n\x08geometry\x18\x04 \x01(\x0b2\x18.viam.common.v1.GeometryR\x08geometry"(\n\x10LogConfiguration\x12\x14\n\x05level\x18\x01 \x01(\tR\x05level"7\n\x0bTranslation\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"\xd0\x07\n\x0bOrientation\x12O\n\x0eno_orientation\x18\x01 \x01(\x0b2&.viam.app.v1.Orientation.NoOrientationH\x00R\rnoOrientation\x12Z\n\x0evector_radians\x18\x02 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorRadiansH\x00R\rvectorRadians\x12Z\n\x0evector_degrees\x18\x03 \x01(\x0b21.viam.app.v1.Orientation.OrientationVectorDegreesH\x00R\rvectorDegrees\x12I\n\x0ceuler_angles\x18\x04 \x01(\x0b2$.viam.app.v1.Orientation.EulerAnglesH\x00R\x0beulerAngles\x12F\n\x0baxis_angles\x18\x05 \x01(\x0b2#.viam.app.v1.Orientation.AxisAnglesH\x00R\naxisAngles\x12E\n\nquaternion\x18\x06 \x01(\x0b2#.viam.app.v1.Orientation.QuaternionH\x00R\nquaternion\x1a\x0f\n\rNoOrientation\x1aj\n\x18OrientationVectorRadians\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aj\n\x18OrientationVectorDegrees\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aI\n\x0bEulerAngles\x12\x12\n\x04roll\x18\x01 \x01(\x01R\x04roll\x12\x14\n\x05pitch\x18\x02 \x01(\x01R\x05pitch\x12\x10\n\x03yaw\x18\x03 \x01(\x01R\x03yaw\x1a\\\n\nAxisAngles\x12$\n\x05theta\x18\x01 \x01(\x01B\x0e\x9a\x84\x9e\x03\tjson:"th"R\x05theta\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01z\x1aD\n\nQuaternion\x12\x0c\n\x01w\x18\x01 \x01(\x01R\x01w\x12\x0c\n\x01x\x18\x02 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x03 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x04 \x01(\x01R\x01zB\x06\n\x04type"\xf5\x03\n\x0cRemoteConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07address\x18\x02 \x01(\tR\x07address\x12(\n\x05frame\x18\x03 \x01(\x0b2\x12.viam.app.v1.FrameR\x05frame\x12+\n\x04auth\x18\x04 \x01(\x0b2\x17.viam.app.v1.RemoteAuthR\x04auth\x12\x1d\n\nmanaged_by\x18\x05 \x01(\tR\tmanagedBy\x12\x1a\n\x08insecure\x18\x06 \x01(\x08R\x08insecure\x12U\n\x19connection_check_interval\x18\x07 \x01(\x0b2\x19.google.protobuf.DurationR\x17connectionCheckInterval\x12H\n\x12reconnect_interval\x18\x08 \x01(\x0b2\x19.google.protobuf.DurationR\x11reconnectInterval\x12l\n\x0fservice_configs\x18\t \x03(\x0b2\'.viam.app.v1.ResourceLevelServiceConfigB\x1a\x9a\x84\x9e\x03\x15json:"service_config"R\x0eserviceConfigs\x12\x16\n\x06secret\x18\n \x01(\tR\x06secret"\xc6\x01\n\nRemoteAuth\x12E\n\x0bcredentials\x18\x01 \x01(\x0b2#.viam.app.v1.RemoteAuth.CredentialsR\x0bcredentials\x12\x16\n\x06entity\x18\x02 \x01(\tR\x06entity\x1aY\n\x0bCredentials\x120\n\x04type\x18\x01 \x01(\x0e2\x1c.viam.app.v1.CredentialsTypeR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"\xac\x01\n\tAgentInfo\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x0e\n\x02os\x18\x02 \x01(\tR\x02os\x12\x10\n\x03ips\x18\x03 \x03(\tR\x03ips\x12\x18\n\x07version\x18\x04 \x01(\tR\x07version\x12!\n\x0cgit_revision\x18\x05 \x01(\tR\x0bgitRevision\x12\x1f\n\x08platform\x18\x06 \x01(\tH\x00R\x08platform\x88\x01\x01B\x0b\n\t_platform"j\n\rConfigRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12:\n\nagent_info\x18\x02 \x01(\x0b2\x16.viam.app.v1.AgentInfoH\x00R\tagentInfo\x88\x01\x01B\r\n\x0b_agent_info"B\n\x0eConfigResponse\x120\n\x06config\x18\x01 \x01(\x0b2\x18.viam.app.v1.RobotConfigR\x06config"$\n\x12CertificateRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"v\n\x13CertificateResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\'\n\x0ftls_certificate\x18\x02 \x01(\tR\x0etlsCertificate\x12&\n\x0ftls_private_key\x18\x03 \x01(\tR\rtlsPrivateKey"J\n\nLogRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12,\n\x04logs\x18\x02 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"%\n\x13NeedsRestartRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x9a\x01\n\x14NeedsRestartResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12!\n\x0cmust_restart\x18\x02 \x01(\x08R\x0bmustRestart\x12O\n\x16restart_check_interval\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x14restartCheckInterval"\xac\x02\n\x0cModuleConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1b\n\tlog_level\x18\x03 \x01(\tR\x08logLevel\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x12\x1b\n\tmodule_id\x18\x05 \x01(\tR\x08moduleId\x124\n\x03env\x18\x06 \x03(\x0b2".viam.app.v1.ModuleConfig.EnvEntryR\x03env\x128\n\x06status\x18\x07 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status\x1a6\n\x08EnvEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x028\x01"\xa5\x01\n\rPackageConfig\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07package\x18\x02 \x01(\tR\x07package\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x12\x12\n\x04type\x18\x04 \x01(\tR\x04type\x128\n\x06status\x18\x05 \x01(\x0b2 .viam.app.v1.AppValidationStatusR\x06status*\xbf\x01\n\x0fCredentialsType\x12 \n\x1cCREDENTIALS_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19CREDENTIALS_TYPE_INTERNAL\x10\x01\x12\x1c\n\x18CREDENTIALS_TYPE_API_KEY\x10\x02\x12!\n\x1dCREDENTIALS_TYPE_ROBOT_SECRET\x10\x03\x12*\n&CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET\x10\x042\xb2\x02\n\x0cRobotService\x12A\n\x06Config\x12\x1a.viam.app.v1.ConfigRequest\x1a\x1b.viam.app.v1.ConfigResponse\x12P\n\x0bCertificate\x12\x1f.viam.app.v1.CertificateRequest\x1a .viam.app.v1.CertificateResponse\x128\n\x03Log\x12\x17.viam.app.v1.LogRequest\x1a\x18.viam.app.v1.LogResponse\x12S\n\x0cNeedsRestart\x12 .viam.app.v1.NeedsRestartRequest\x1a!.viam.app.v1.NeedsRestartResponseB\x18Z\x16go.viam.com/api/app/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'app.v1.robot_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "app.v1.robot_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x16go.viam.com/api/app/v1' - _CLOUDCONFIG.fields_by_name['location_secret']._options = None - _CLOUDCONFIG.fields_by_name['location_secret']._serialized_options = b'\x18\x01' - _COMPONENTCONFIG.fields_by_name['service_configs']._options = None - _COMPONENTCONFIG.fields_by_name['service_configs']._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' + DESCRIPTOR._serialized_options = b"Z\x16go.viam.com/api/app/v1" + _CLOUDCONFIG.fields_by_name["location_secret"]._options = None + _CLOUDCONFIG.fields_by_name["location_secret"]._serialized_options = b"\x18\x01" + _COMPONENTCONFIG.fields_by_name["service_configs"]._options = None + _COMPONENTCONFIG.fields_by_name[ + "service_configs" + ]._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' _PROCESSCONFIG_ENVENTRY._options = None - _PROCESSCONFIG_ENVENTRY._serialized_options = b'8\x01' - _SERVICECONFIG.fields_by_name['service_configs']._options = None - _SERVICECONFIG.fields_by_name['service_configs']._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' - _ORIENTATION_ORIENTATIONVECTORRADIANS.fields_by_name['theta']._options = None - _ORIENTATION_ORIENTATIONVECTORRADIANS.fields_by_name['theta']._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' - _ORIENTATION_ORIENTATIONVECTORDEGREES.fields_by_name['theta']._options = None - _ORIENTATION_ORIENTATIONVECTORDEGREES.fields_by_name['theta']._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' - _ORIENTATION_AXISANGLES.fields_by_name['theta']._options = None - _ORIENTATION_AXISANGLES.fields_by_name['theta']._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' - _REMOTECONFIG.fields_by_name['service_configs']._options = None - _REMOTECONFIG.fields_by_name['service_configs']._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' + _PROCESSCONFIG_ENVENTRY._serialized_options = b"8\x01" + _SERVICECONFIG.fields_by_name["service_configs"]._options = None + _SERVICECONFIG.fields_by_name[ + "service_configs" + ]._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' + _ORIENTATION_ORIENTATIONVECTORRADIANS.fields_by_name["theta"]._options = None + _ORIENTATION_ORIENTATIONVECTORRADIANS.fields_by_name[ + "theta" + ]._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' + _ORIENTATION_ORIENTATIONVECTORDEGREES.fields_by_name["theta"]._options = None + _ORIENTATION_ORIENTATIONVECTORDEGREES.fields_by_name[ + "theta" + ]._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' + _ORIENTATION_AXISANGLES.fields_by_name["theta"]._options = None + _ORIENTATION_AXISANGLES.fields_by_name[ + "theta" + ]._serialized_options = b'\x9a\x84\x9e\x03\tjson:"th"' + _REMOTECONFIG.fields_by_name["service_configs"]._options = None + _REMOTECONFIG.fields_by_name[ + "service_configs" + ]._serialized_options = b'\x9a\x84\x9e\x03\x15json:"service_config"' _MODULECONFIG_ENVENTRY._options = None - _MODULECONFIG_ENVENTRY._serialized_options = b'8\x01' + _MODULECONFIG_ENVENTRY._serialized_options = b"8\x01" _CREDENTIALSTYPE._serialized_start = 6561 _CREDENTIALSTYPE._serialized_end = 6752 _ROBOTCONFIG._serialized_start = 146 @@ -115,4 +132,4 @@ _PACKAGECONFIG._serialized_start = 6393 _PACKAGECONFIG._serialized_end = 6558 _ROBOTSERVICE._serialized_start = 6755 - _ROBOTSERVICE._serialized_end = 7061 \ No newline at end of file + _ROBOTSERVICE._serialized_end = 7061 diff --git a/src/viam/gen/app/v1/robot_pb2.pyi b/src/viam/gen/app/v1/robot_pb2.pyi index db9da5798..5cb978695 100644 --- a/src/viam/gen/app/v1/robot_pb2.pyi +++ b/src/viam/gen/app/v1/robot_pb2.pyi @@ -4,15 +4,18 @@ isort:skip_file """ import builtins import collections.abc -from ... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from ... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -20,10 +23,15 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _CredentialsType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _CredentialsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_CredentialsType.ValueType], builtins.type): +class _CredentialsTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _CredentialsType.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor CREDENTIALS_TYPE_UNSPECIFIED: _CredentialsType.ValueType CREDENTIALS_TYPE_INTERNAL: _CredentialsType.ValueType @@ -31,8 +39,8 @@ class _CredentialsTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper CREDENTIALS_TYPE_ROBOT_SECRET: _CredentialsType.ValueType CREDENTIALS_TYPE_ROBOT_LOCATION_SECRET: _CredentialsType.ValueType -class CredentialsType(_CredentialsType, metaclass=_CredentialsTypeEnumTypeWrapper): - ... +class CredentialsType(_CredentialsType, metaclass=_CredentialsTypeEnumTypeWrapper): ... + CREDENTIALS_TYPE_UNSPECIFIED: CredentialsType.ValueType CREDENTIALS_TYPE_INTERNAL: CredentialsType.ValueType CREDENTIALS_TYPE_API_KEY: CredentialsType.ValueType @@ -56,85 +64,165 @@ class RobotConfig(google.protobuf.message.Message): PACKAGES_FIELD_NUMBER: builtins.int @property - def cloud(self) -> global___CloudConfig: - ... - + def cloud(self) -> global___CloudConfig: ... @property - def remotes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___RemoteConfig]: - ... - + def remotes( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___RemoteConfig + ]: ... @property - def components(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ComponentConfig]: - ... - + def components( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ComponentConfig + ]: ... @property - def processes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ProcessConfig]: - ... - + def processes( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ProcessConfig + ]: ... @property - def services(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ServiceConfig]: - ... - + def services( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ServiceConfig + ]: ... @property - def network(self) -> global___NetworkConfig: - ... - + def network(self) -> global___NetworkConfig: ... @property - def auth(self) -> global___AuthConfig: - ... + def auth(self) -> global___AuthConfig: ... debug: builtins.bool - 'Turns on debug mode for robot, adding an echo server and more logging and tracing. Only works after restart' + "Turns on debug mode for robot, adding an echo server and more logging and tracing. Only works after restart" @property - def modules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ModuleConfig]: - ... + def modules( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ModuleConfig + ]: ... disable_partial_start: builtins.bool @property - def packages(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PackageConfig]: - ... - - def __init__(self, *, cloud: global___CloudConfig | None=..., remotes: collections.abc.Iterable[global___RemoteConfig] | None=..., components: collections.abc.Iterable[global___ComponentConfig] | None=..., processes: collections.abc.Iterable[global___ProcessConfig] | None=..., services: collections.abc.Iterable[global___ServiceConfig] | None=..., network: global___NetworkConfig | None=..., auth: global___AuthConfig | None=..., debug: builtins.bool | None=..., modules: collections.abc.Iterable[global___ModuleConfig] | None=..., disable_partial_start: builtins.bool | None=..., packages: collections.abc.Iterable[global___PackageConfig] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_auth', b'_auth', '_debug', b'_debug', '_disable_partial_start', b'_disable_partial_start', '_network', b'_network', 'auth', b'auth', 'cloud', b'cloud', 'debug', b'debug', 'disable_partial_start', b'disable_partial_start', 'network', b'network']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_auth', b'_auth', '_debug', b'_debug', '_disable_partial_start', b'_disable_partial_start', '_network', b'_network', 'auth', b'auth', 'cloud', b'cloud', 'components', b'components', 'debug', b'debug', 'disable_partial_start', b'disable_partial_start', 'modules', b'modules', 'network', b'network', 'packages', b'packages', 'processes', b'processes', 'remotes', b'remotes', 'services', b'services']) -> None: - ... - + def packages( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___PackageConfig + ]: ... + def __init__( + self, + *, + cloud: global___CloudConfig | None = ..., + remotes: collections.abc.Iterable[global___RemoteConfig] | None = ..., + components: collections.abc.Iterable[global___ComponentConfig] | None = ..., + processes: collections.abc.Iterable[global___ProcessConfig] | None = ..., + services: collections.abc.Iterable[global___ServiceConfig] | None = ..., + network: global___NetworkConfig | None = ..., + auth: global___AuthConfig | None = ..., + debug: builtins.bool | None = ..., + modules: collections.abc.Iterable[global___ModuleConfig] | None = ..., + disable_partial_start: builtins.bool | None = ..., + packages: collections.abc.Iterable[global___PackageConfig] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_auth", + b"_auth", + "_debug", + b"_debug", + "_disable_partial_start", + b"_disable_partial_start", + "_network", + b"_network", + "auth", + b"auth", + "cloud", + b"cloud", + "debug", + b"debug", + "disable_partial_start", + b"disable_partial_start", + "network", + b"network", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_auth", + b"_auth", + "_debug", + b"_debug", + "_disable_partial_start", + b"_disable_partial_start", + "_network", + b"_network", + "auth", + b"auth", + "cloud", + b"cloud", + "components", + b"components", + "debug", + b"debug", + "disable_partial_start", + b"disable_partial_start", + "modules", + b"modules", + "network", + b"network", + "packages", + b"packages", + "processes", + b"processes", + "remotes", + b"remotes", + "services", + b"services", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_auth', b'_auth']) -> typing_extensions.Literal['auth'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_auth", b"_auth"] + ) -> typing_extensions.Literal["auth"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_debug', b'_debug']) -> typing_extensions.Literal['debug'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_debug", b"_debug"] + ) -> typing_extensions.Literal["debug"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_disable_partial_start', b'_disable_partial_start']) -> typing_extensions.Literal['disable_partial_start'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_disable_partial_start", b"_disable_partial_start" + ], + ) -> typing_extensions.Literal["disable_partial_start"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_network', b'_network']) -> typing_extensions.Literal['network'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_network", b"_network"] + ) -> typing_extensions.Literal["network"] | None: ... + global___RobotConfig = RobotConfig @typing_extensions.final class LocationSecret(google.protobuf.message.Message): """Valid location secret that can be used for authentication to the robot.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int SECRET_FIELD_NUMBER: builtins.int id: builtins.str secret: builtins.str - 'secret payload' + "secret payload" - def __init__(self, *, id: builtins.str=..., secret: builtins.str=...) -> None: - ... + def __init__( + self, *, id: builtins.str = ..., secret: builtins.str = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "secret", b"secret"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'secret', b'secret']) -> None: - ... global___LocationSecret = LocationSecret @typing_extensions.final @@ -143,11 +231,11 @@ class AppValidationStatus(google.protobuf.message.Message): ERROR_FIELD_NUMBER: builtins.int error: builtins.str - def __init__(self, *, error: builtins.str=...) -> None: - ... + def __init__(self, *, error: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["error", b"error"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['error', b'error']) -> None: - ... global___AppValidationStatus = AppValidationStatus @typing_extensions.final @@ -165,28 +253,71 @@ class CloudConfig(google.protobuf.message.Message): PRIMARY_ORG_ID_FIELD_NUMBER: builtins.int LOCATION_ID_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." fqdn: builtins.str local_fqdn: builtins.str managed_by: builtins.str signaling_address: builtins.str signaling_insecure: builtins.bool location_secret: builtins.str - 'Deprecated use location_secrets' + "Deprecated use location_secrets" secret: builtins.str - 'Robot part secret' + "Robot part secret" @property - def location_secrets(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LocationSecret]: + def location_secrets( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___LocationSecret + ]: """All valid location secrets.""" primary_org_id: builtins.str location_id: builtins.str - def __init__(self, *, id: builtins.str=..., fqdn: builtins.str=..., local_fqdn: builtins.str=..., managed_by: builtins.str=..., signaling_address: builtins.str=..., signaling_insecure: builtins.bool=..., location_secret: builtins.str=..., secret: builtins.str=..., location_secrets: collections.abc.Iterable[global___LocationSecret] | None=..., primary_org_id: builtins.str=..., location_id: builtins.str=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + fqdn: builtins.str = ..., + local_fqdn: builtins.str = ..., + managed_by: builtins.str = ..., + signaling_address: builtins.str = ..., + signaling_insecure: builtins.bool = ..., + location_secret: builtins.str = ..., + secret: builtins.str = ..., + location_secrets: collections.abc.Iterable[global___LocationSecret] + | None = ..., + primary_org_id: builtins.str = ..., + location_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "fqdn", + b"fqdn", + "id", + b"id", + "local_fqdn", + b"local_fqdn", + "location_id", + b"location_id", + "location_secret", + b"location_secret", + "location_secrets", + b"location_secrets", + "managed_by", + b"managed_by", + "primary_org_id", + b"primary_org_id", + "secret", + b"secret", + "signaling_address", + b"signaling_address", + "signaling_insecure", + b"signaling_insecure", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['fqdn', b'fqdn', 'id', b'id', 'local_fqdn', b'local_fqdn', 'location_id', b'location_id', 'location_secret', b'location_secret', 'location_secrets', b'location_secrets', 'managed_by', b'managed_by', 'primary_org_id', b'primary_org_id', 'secret', b'secret', 'signaling_address', b'signaling_address', 'signaling_insecure', b'signaling_insecure']) -> None: - ... global___CloudConfig = CloudConfig @typing_extensions.final @@ -204,45 +335,89 @@ class ComponentConfig(google.protobuf.message.Message): LOG_CONFIGURATION_FIELD_NUMBER: builtins.int name: builtins.str namespace: builtins.str - 'deprecated; use api' + "deprecated; use api" type: builtins.str - 'deprecated; use api' + "deprecated; use api" model: builtins.str @property - def frame(self) -> global___Frame: - ... - + def frame(self) -> global___Frame: ... @property - def depends_on(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def depends_on( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def service_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]: - ... - + def service_configs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ResourceLevelServiceConfig + ]: ... @property - def attributes(self) -> google.protobuf.struct_pb2.Struct: - ... + def attributes(self) -> google.protobuf.struct_pb2.Struct: ... api: builtins.str @property - def log_configuration(self) -> global___LogConfiguration: - ... - - def __init__(self, *, name: builtins.str=..., namespace: builtins.str=..., type: builtins.str=..., model: builtins.str=..., frame: global___Frame | None=..., depends_on: collections.abc.Iterable[builtins.str] | None=..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None=..., attributes: google.protobuf.struct_pb2.Struct | None=..., api: builtins.str=..., log_configuration: global___LogConfiguration | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'frame', b'frame', 'log_configuration', b'log_configuration']) -> builtins.bool: - ... + def log_configuration(self) -> global___LogConfiguration: ... + def __init__( + self, + *, + name: builtins.str = ..., + namespace: builtins.str = ..., + type: builtins.str = ..., + model: builtins.str = ..., + frame: global___Frame | None = ..., + depends_on: collections.abc.Iterable[builtins.str] | None = ..., + service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] + | None = ..., + attributes: google.protobuf.struct_pb2.Struct | None = ..., + api: builtins.str = ..., + log_configuration: global___LogConfiguration | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "attributes", + b"attributes", + "frame", + b"frame", + "log_configuration", + b"log_configuration", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "api", + b"api", + "attributes", + b"attributes", + "depends_on", + b"depends_on", + "frame", + b"frame", + "log_configuration", + b"log_configuration", + "model", + b"model", + "name", + b"name", + "namespace", + b"namespace", + "service_configs", + b"service_configs", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['api', b'api', 'attributes', b'attributes', 'depends_on', b'depends_on', 'frame', b'frame', 'log_configuration', b'log_configuration', 'model', b'model', 'name', b'name', 'namespace', b'namespace', 'service_configs', b'service_configs', 'type', b'type']) -> None: - ... global___ComponentConfig = ComponentConfig @typing_extensions.final class ResourceLevelServiceConfig(google.protobuf.message.Message): """A ResourceLevelServiceConfig describes component or remote configuration for a service.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor TYPE_FIELD_NUMBER: builtins.int ATTRIBUTES_FIELD_NUMBER: builtins.int @@ -252,19 +427,28 @@ class ResourceLevelServiceConfig(google.protobuf.message.Message): def attributes(self) -> google.protobuf.struct_pb2.Struct: """TODO(adam): Should this be move to a structured type as defined in the typescript frontend.""" - def __init__(self, *, type: builtins.str=..., attributes: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes']) -> builtins.bool: - ... + def __init__( + self, + *, + type: builtins.str = ..., + attributes: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["attributes", b"attributes"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "attributes", b"attributes", "type", b"type" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['attributes', b'attributes', 'type', b'type']) -> None: - ... global___ResourceLevelServiceConfig = ResourceLevelServiceConfig @typing_extensions.final class ProcessConfig(google.protobuf.message.Message): """A ProcessConfig describes how to manage a system process.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -275,11 +459,13 @@ class ProcessConfig(google.protobuf.message.Message): key: builtins.str value: builtins.str - def __init__(self, *, key: builtins.str=..., value: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def __init__( + self, *, key: builtins.str = ..., value: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... ID_FIELD_NUMBER: builtins.int NAME_FIELD_NUMBER: builtins.int ARGS_FIELD_NUMBER: builtins.int @@ -293,29 +479,64 @@ class ProcessConfig(google.protobuf.message.Message): name: builtins.str @property - def args(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def args( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... cwd: builtins.str one_shot: builtins.bool log: builtins.bool stop_signal: builtins.int @property - def stop_timeout(self) -> google.protobuf.duration_pb2.Duration: - ... - + def stop_timeout(self) -> google.protobuf.duration_pb2.Duration: ... @property - def env(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + def env( + self, + ) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: """additional environment variables passed to the process""" - def __init__(self, *, id: builtins.str=..., name: builtins.str=..., args: collections.abc.Iterable[builtins.str] | None=..., cwd: builtins.str=..., one_shot: builtins.bool=..., log: builtins.bool=..., stop_signal: builtins.int=..., stop_timeout: google.protobuf.duration_pb2.Duration | None=..., env: collections.abc.Mapping[builtins.str, builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['stop_timeout', b'stop_timeout']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + name: builtins.str = ..., + args: collections.abc.Iterable[builtins.str] | None = ..., + cwd: builtins.str = ..., + one_shot: builtins.bool = ..., + log: builtins.bool = ..., + stop_signal: builtins.int = ..., + stop_timeout: google.protobuf.duration_pb2.Duration | None = ..., + env: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["stop_timeout", b"stop_timeout"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "args", + b"args", + "cwd", + b"cwd", + "env", + b"env", + "id", + b"id", + "log", + b"log", + "name", + b"name", + "one_shot", + b"one_shot", + "stop_signal", + b"stop_signal", + "stop_timeout", + b"stop_timeout", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['args', b'args', 'cwd', b'cwd', 'env', b'env', 'id', b'id', 'log', b'log', 'name', b'name', 'one_shot', b'one_shot', 'stop_signal', b'stop_signal', 'stop_timeout', b'stop_timeout']) -> None: - ... global___ProcessConfig = ProcessConfig @typing_extensions.final @@ -331,32 +552,65 @@ class ServiceConfig(google.protobuf.message.Message): SERVICE_CONFIGS_FIELD_NUMBER: builtins.int name: builtins.str namespace: builtins.str - 'deprecated; use api' + "deprecated; use api" type: builtins.str - 'deprecated; use api' + "deprecated; use api" @property - def attributes(self) -> google.protobuf.struct_pb2.Struct: - ... - + def attributes(self) -> google.protobuf.struct_pb2.Struct: ... @property - def depends_on(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def depends_on( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... model: builtins.str api: builtins.str @property - def service_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]: - ... - - def __init__(self, *, name: builtins.str=..., namespace: builtins.str=..., type: builtins.str=..., attributes: google.protobuf.struct_pb2.Struct | None=..., depends_on: collections.abc.Iterable[builtins.str] | None=..., model: builtins.str=..., api: builtins.str=..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None=...) -> None: - ... + def service_configs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ResourceLevelServiceConfig + ]: ... + def __init__( + self, + *, + name: builtins.str = ..., + namespace: builtins.str = ..., + type: builtins.str = ..., + attributes: google.protobuf.struct_pb2.Struct | None = ..., + depends_on: collections.abc.Iterable[builtins.str] | None = ..., + model: builtins.str = ..., + api: builtins.str = ..., + service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] + | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["attributes", b"attributes"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "api", + b"api", + "attributes", + b"attributes", + "depends_on", + b"depends_on", + "model", + b"model", + "name", + b"name", + "namespace", + b"namespace", + "service_configs", + b"service_configs", + "type", + b"type", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['attributes', b'attributes']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['api', b'api', 'attributes', b'attributes', 'depends_on', b'depends_on', 'model', b'model', 'name', b'name', 'namespace', b'namespace', 'service_configs', b'service_configs', 'type', b'type']) -> None: - ... global___ServiceConfig = ServiceConfig @typing_extensions.final @@ -373,17 +627,35 @@ class NetworkConfig(google.protobuf.message.Message): tls_key_file: builtins.str @property - def sessions(self) -> global___SessionsConfig: - ... - - def __init__(self, *, fqdn: builtins.str=..., bind_address: builtins.str=..., tls_cert_file: builtins.str=..., tls_key_file: builtins.str=..., sessions: global___SessionsConfig | None=...) -> None: - ... + def sessions(self) -> global___SessionsConfig: ... + def __init__( + self, + *, + fqdn: builtins.str = ..., + bind_address: builtins.str = ..., + tls_cert_file: builtins.str = ..., + tls_key_file: builtins.str = ..., + sessions: global___SessionsConfig | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["sessions", b"sessions"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "bind_address", + b"bind_address", + "fqdn", + b"fqdn", + "sessions", + b"sessions", + "tls_cert_file", + b"tls_cert_file", + "tls_key_file", + b"tls_key_file", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['sessions', b'sessions']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['bind_address', b'bind_address', 'fqdn', b'fqdn', 'sessions', b'sessions', 'tls_cert_file', b'tls_cert_file', 'tls_key_file', b'tls_key_file']) -> None: - ... global___NetworkConfig = NetworkConfig @typing_extensions.final @@ -392,17 +664,19 @@ class SessionsConfig(google.protobuf.message.Message): HEARTBEAT_WINDOW_FIELD_NUMBER: builtins.int @property - def heartbeat_window(self) -> google.protobuf.duration_pb2.Duration: - ... - - def __init__(self, *, heartbeat_window: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... + def heartbeat_window(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__( + self, *, heartbeat_window: google.protobuf.duration_pb2.Duration | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["heartbeat_window", b"heartbeat_window"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["heartbeat_window", b"heartbeat_window"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['heartbeat_window', b'heartbeat_window']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['heartbeat_window', b'heartbeat_window']) -> None: - ... global___SessionsConfig = SessionsConfig @typing_extensions.final @@ -413,28 +687,55 @@ class AuthConfig(google.protobuf.message.Message): EXTERNAL_AUTH_CONFIG_FIELD_NUMBER: builtins.int @property - def handlers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AuthHandlerConfig]: - ... - + def handlers( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___AuthHandlerConfig + ]: ... @property - def tls_auth_entities(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - + def tls_auth_entities( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... @property - def external_auth_config(self) -> global___ExternalAuthConfig: - ... + def external_auth_config(self) -> global___ExternalAuthConfig: ... + def __init__( + self, + *, + handlers: collections.abc.Iterable[global___AuthHandlerConfig] | None = ..., + tls_auth_entities: collections.abc.Iterable[builtins.str] | None = ..., + external_auth_config: global___ExternalAuthConfig | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_external_auth_config", + b"_external_auth_config", + "external_auth_config", + b"external_auth_config", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_external_auth_config", + b"_external_auth_config", + "external_auth_config", + b"external_auth_config", + "handlers", + b"handlers", + "tls_auth_entities", + b"tls_auth_entities", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_external_auth_config", b"_external_auth_config" + ], + ) -> typing_extensions.Literal["external_auth_config"] | None: ... - def __init__(self, *, handlers: collections.abc.Iterable[global___AuthHandlerConfig] | None=..., tls_auth_entities: collections.abc.Iterable[builtins.str] | None=..., external_auth_config: global___ExternalAuthConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_external_auth_config', b'_external_auth_config', 'external_auth_config', b'external_auth_config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_external_auth_config', b'_external_auth_config', 'external_auth_config', b'external_auth_config', 'handlers', b'handlers', 'tls_auth_entities', b'tls_auth_entities']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_external_auth_config', b'_external_auth_config']) -> typing_extensions.Literal['external_auth_config'] | None: - ... global___AuthConfig = AuthConfig @typing_extensions.final @@ -448,14 +749,16 @@ class JWKSFile(google.protobuf.message.Message): See https://www.rfc-editor.org/rfc/rfc7517 """ - def __init__(self, *, json: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, *, json: google.protobuf.struct_pb2.Struct | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["json", b"json"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["json", b"json"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['json', b'json']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['json', b'json']) -> None: - ... global___JWKSFile = JWKSFile @typing_extensions.final @@ -463,21 +766,20 @@ class ExternalAuthConfig(google.protobuf.message.Message): """ExternalAuthConfig describes how a viam managed robot can accept credentials signed by the cloud app. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor JWKS_FIELD_NUMBER: builtins.int @property - def jwks(self) -> global___JWKSFile: - ... - - def __init__(self, *, jwks: global___JWKSFile | None=...) -> None: - ... + def jwks(self) -> global___JWKSFile: ... + def __init__(self, *, jwks: global___JWKSFile | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["jwks", b"jwks"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["jwks", b"jwks"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['jwks', b'jwks']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['jwks', b'jwks']) -> None: - ... global___ExternalAuthConfig = ExternalAuthConfig @typing_extensions.final @@ -488,17 +790,21 @@ class AuthHandlerConfig(google.protobuf.message.Message): type: global___CredentialsType.ValueType @property - def config(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, type: global___CredentialsType.ValueType=..., config: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def config(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + type: global___CredentialsType.ValueType = ..., + config: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["config", b"config", "type", b"type"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config', 'type', b'type']) -> None: - ... global___AuthHandlerConfig = AuthHandlerConfig @typing_extensions.final @@ -511,25 +817,44 @@ class Frame(google.protobuf.message.Message): parent: builtins.str @property - def translation(self) -> global___Translation: - ... - + def translation(self) -> global___Translation: ... @property - def orientation(self) -> global___Orientation: - ... - + def orientation(self) -> global___Orientation: ... @property - def geometry(self) -> common.v1.common_pb2.Geometry: - ... - - def __init__(self, *, parent: builtins.str=..., translation: global___Translation | None=..., orientation: global___Orientation | None=..., geometry: common.v1.common_pb2.Geometry | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['geometry', b'geometry', 'orientation', b'orientation', 'translation', b'translation']) -> builtins.bool: - ... + def geometry(self) -> common.v1.common_pb2.Geometry: ... + def __init__( + self, + *, + parent: builtins.str = ..., + translation: global___Translation | None = ..., + orientation: global___Orientation | None = ..., + geometry: common.v1.common_pb2.Geometry | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "geometry", + b"geometry", + "orientation", + b"orientation", + "translation", + b"translation", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "geometry", + b"geometry", + "orientation", + b"orientation", + "parent", + b"parent", + "translation", + b"translation", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['geometry', b'geometry', 'orientation', b'orientation', 'parent', b'parent', 'translation', b'translation']) -> None: - ... global___Frame = Frame @typing_extensions.final @@ -538,11 +863,11 @@ class LogConfiguration(google.protobuf.message.Message): LEVEL_FIELD_NUMBER: builtins.int level: builtins.str - def __init__(self, *, level: builtins.str=...) -> None: - ... + def __init__(self, *, level: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["level", b"level"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['level', b'level']) -> None: - ... global___LogConfiguration = LogConfiguration @typing_extensions.final @@ -555,11 +880,17 @@ class Translation(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... + def __init__( + self, + *, + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["x", b"x", "y", b"y", "z", b"z"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... global___Translation = Translation @typing_extensions.final @@ -570,8 +901,7 @@ class Orientation(google.protobuf.message.Message): class NoOrientation(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... @typing_extensions.final class OrientationVectorRadians(google.protobuf.message.Message): @@ -585,6 +915,7 @@ class Orientation(google.protobuf.message.Message): point, and the plane defined by the origin, the rx,ry,rz point, and the new local Z axis. So if theta is kept at zero as the north/south pole is circled, the Roll will correct itself to remain in-line. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor THETA_FIELD_NUMBER: builtins.int X_FIELD_NUMBER: builtins.int @@ -595,17 +926,27 @@ class Orientation(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, theta: builtins.float=..., x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... + def __init__( + self, + *, + theta: builtins.float = ..., + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "theta", b"theta", "x", b"x", "y", b"y", "z", b"z" + ], + ) -> None: ... @typing_extensions.final class OrientationVectorDegrees(google.protobuf.message.Message): """OrientationVectorDegrees is the orientation vector between two objects, but expressed in degrees rather than radians. Because protobuf Pose is in degrees, this is necessary. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor THETA_FIELD_NUMBER: builtins.int X_FIELD_NUMBER: builtins.int @@ -616,17 +957,27 @@ class Orientation(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, theta: builtins.float=..., x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... + def __init__( + self, + *, + theta: builtins.float = ..., + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "theta", b"theta", "x", b"x", "y", b"y", "z", b"z" + ], + ) -> None: ... @typing_extensions.final class EulerAngles(google.protobuf.message.Message): """EulerAngles are three angles (in radians) used to represent the rotation of an object in 3D Euclidean space The Tait–Bryan angle formalism is used, with rotations around three distinct axes in the z-y′-x″ sequence. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ROLL_FIELD_NUMBER: builtins.int PITCH_FIELD_NUMBER: builtins.int @@ -635,11 +986,19 @@ class Orientation(google.protobuf.message.Message): pitch: builtins.float yaw: builtins.float - def __init__(self, *, roll: builtins.float=..., pitch: builtins.float=..., yaw: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pitch', b'pitch', 'roll', b'roll', 'yaw', b'yaw']) -> None: - ... + def __init__( + self, + *, + roll: builtins.float = ..., + pitch: builtins.float = ..., + yaw: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "pitch", b"pitch", "roll", b"roll", "yaw", b"yaw" + ], + ) -> None: ... @typing_extensions.final class AxisAngles(google.protobuf.message.Message): @@ -651,6 +1010,7 @@ class Orientation(google.protobuf.message.Message): the unit sphere components to give a vector whose length is theta and whose direction is the original axis. AxisAngles represents an R4 axis angle. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor THETA_FIELD_NUMBER: builtins.int X_FIELD_NUMBER: builtins.int @@ -661,15 +1021,25 @@ class Orientation(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, theta: builtins.float=..., x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... + def __init__( + self, + *, + theta: builtins.float = ..., + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "theta", b"theta", "x", b"x", "y", b"y", "z", b"z" + ], + ) -> None: ... @typing_extensions.final class Quaternion(google.protobuf.message.Message): """Quaternion is a float64 precision quaternion.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor W_FIELD_NUMBER: builtins.int X_FIELD_NUMBER: builtins.int @@ -680,11 +1050,20 @@ class Orientation(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, w: builtins.float=..., x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['w', b'w', 'x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... + def __init__( + self, + *, + w: builtins.float = ..., + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "w", b"w", "x", b"x", "y", b"y", "z", b"z" + ], + ) -> None: ... NO_ORIENTATION_FIELD_NUMBER: builtins.int VECTOR_RADIANS_FIELD_NUMBER: builtins.int VECTOR_DEGREES_FIELD_NUMBER: builtins.int @@ -693,40 +1072,79 @@ class Orientation(google.protobuf.message.Message): QUATERNION_FIELD_NUMBER: builtins.int @property - def no_orientation(self) -> global___Orientation.NoOrientation: - ... - + def no_orientation(self) -> global___Orientation.NoOrientation: ... @property - def vector_radians(self) -> global___Orientation.OrientationVectorRadians: - ... - + def vector_radians(self) -> global___Orientation.OrientationVectorRadians: ... @property - def vector_degrees(self) -> global___Orientation.OrientationVectorDegrees: - ... - + def vector_degrees(self) -> global___Orientation.OrientationVectorDegrees: ... @property - def euler_angles(self) -> global___Orientation.EulerAngles: - ... - + def euler_angles(self) -> global___Orientation.EulerAngles: ... @property - def axis_angles(self) -> global___Orientation.AxisAngles: - ... - + def axis_angles(self) -> global___Orientation.AxisAngles: ... @property - def quaternion(self) -> global___Orientation.Quaternion: - ... - - def __init__(self, *, no_orientation: global___Orientation.NoOrientation | None=..., vector_radians: global___Orientation.OrientationVectorRadians | None=..., vector_degrees: global___Orientation.OrientationVectorDegrees | None=..., euler_angles: global___Orientation.EulerAngles | None=..., axis_angles: global___Orientation.AxisAngles | None=..., quaternion: global___Orientation.Quaternion | None=...) -> None: - ... + def quaternion(self) -> global___Orientation.Quaternion: ... + def __init__( + self, + *, + no_orientation: global___Orientation.NoOrientation | None = ..., + vector_radians: global___Orientation.OrientationVectorRadians | None = ..., + vector_degrees: global___Orientation.OrientationVectorDegrees | None = ..., + euler_angles: global___Orientation.EulerAngles | None = ..., + axis_angles: global___Orientation.AxisAngles | None = ..., + quaternion: global___Orientation.Quaternion | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "axis_angles", + b"axis_angles", + "euler_angles", + b"euler_angles", + "no_orientation", + b"no_orientation", + "quaternion", + b"quaternion", + "type", + b"type", + "vector_degrees", + b"vector_degrees", + "vector_radians", + b"vector_radians", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "axis_angles", + b"axis_angles", + "euler_angles", + b"euler_angles", + "no_orientation", + b"no_orientation", + "quaternion", + b"quaternion", + "type", + b"type", + "vector_degrees", + b"vector_degrees", + "vector_radians", + b"vector_radians", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["type", b"type"] + ) -> ( + typing_extensions.Literal[ + "no_orientation", + "vector_radians", + "vector_degrees", + "euler_angles", + "axis_angles", + "quaternion", + ] + | None + ): ... - def HasField(self, field_name: typing_extensions.Literal['axis_angles', b'axis_angles', 'euler_angles', b'euler_angles', 'no_orientation', b'no_orientation', 'quaternion', b'quaternion', 'type', b'type', 'vector_degrees', b'vector_degrees', 'vector_radians', b'vector_radians']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['axis_angles', b'axis_angles', 'euler_angles', b'euler_angles', 'no_orientation', b'no_orientation', 'quaternion', b'quaternion', 'type', b'type', 'vector_degrees', b'vector_degrees', 'vector_radians', b'vector_radians']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['no_orientation', 'vector_radians', 'vector_degrees', 'euler_angles', 'axis_angles', 'quaternion'] | None: - ... global___Orientation = Orientation @typing_extensions.final @@ -736,6 +1154,7 @@ class RemoteConfig(google.protobuf.message.Message): the current robot. All components of the remote robot who have Parent as "world" will be attached to the parent defined in Frame, and with the given offset as well. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int ADDRESS_FIELD_NUMBER: builtins.int @@ -751,37 +1170,79 @@ class RemoteConfig(google.protobuf.message.Message): address: builtins.str @property - def frame(self) -> global___Frame: - ... - + def frame(self) -> global___Frame: ... @property - def auth(self) -> global___RemoteAuth: - ... + def auth(self) -> global___RemoteAuth: ... managed_by: builtins.str insecure: builtins.bool @property - def connection_check_interval(self) -> google.protobuf.duration_pb2.Duration: - ... - + def connection_check_interval(self) -> google.protobuf.duration_pb2.Duration: ... @property - def reconnect_interval(self) -> google.protobuf.duration_pb2.Duration: - ... - + def reconnect_interval(self) -> google.protobuf.duration_pb2.Duration: ... @property - def service_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceLevelServiceConfig]: - ... + def service_configs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ResourceLevelServiceConfig + ]: ... secret: builtins.str - 'Secret is a helper for a robot location secret.' - - def __init__(self, *, name: builtins.str=..., address: builtins.str=..., frame: global___Frame | None=..., auth: global___RemoteAuth | None=..., managed_by: builtins.str=..., insecure: builtins.bool=..., connection_check_interval: google.protobuf.duration_pb2.Duration | None=..., reconnect_interval: google.protobuf.duration_pb2.Duration | None=..., service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] | None=..., secret: builtins.str=...) -> None: - ... + "Secret is a helper for a robot location secret." + + def __init__( + self, + *, + name: builtins.str = ..., + address: builtins.str = ..., + frame: global___Frame | None = ..., + auth: global___RemoteAuth | None = ..., + managed_by: builtins.str = ..., + insecure: builtins.bool = ..., + connection_check_interval: google.protobuf.duration_pb2.Duration | None = ..., + reconnect_interval: google.protobuf.duration_pb2.Duration | None = ..., + service_configs: collections.abc.Iterable[global___ResourceLevelServiceConfig] + | None = ..., + secret: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "auth", + b"auth", + "connection_check_interval", + b"connection_check_interval", + "frame", + b"frame", + "reconnect_interval", + b"reconnect_interval", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "address", + b"address", + "auth", + b"auth", + "connection_check_interval", + b"connection_check_interval", + "frame", + b"frame", + "insecure", + b"insecure", + "managed_by", + b"managed_by", + "name", + b"name", + "reconnect_interval", + b"reconnect_interval", + "secret", + b"secret", + "service_configs", + b"service_configs", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['auth', b'auth', 'connection_check_interval', b'connection_check_interval', 'frame', b'frame', 'reconnect_interval', b'reconnect_interval']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['address', b'address', 'auth', b'auth', 'connection_check_interval', b'connection_check_interval', 'frame', b'frame', 'insecure', b'insecure', 'managed_by', b'managed_by', 'name', b'name', 'reconnect_interval', b'reconnect_interval', 'secret', b'secret', 'service_configs', b'service_configs']) -> None: - ... global___RemoteConfig = RemoteConfig @typing_extensions.final @@ -790,6 +1251,7 @@ class RemoteAuth(google.protobuf.message.Message): specified, authentication does not happen. If an entity is specified, the authentication request will specify it. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -797,33 +1259,48 @@ class RemoteAuth(google.protobuf.message.Message): """Credentials packages up both a type of credential along with its payload which is formatted specific to the type. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor TYPE_FIELD_NUMBER: builtins.int PAYLOAD_FIELD_NUMBER: builtins.int type: global___CredentialsType.ValueType payload: builtins.str - def __init__(self, *, type: global___CredentialsType.ValueType=..., payload: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['payload', b'payload', 'type', b'type']) -> None: - ... + def __init__( + self, + *, + type: global___CredentialsType.ValueType = ..., + payload: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "payload", b"payload", "type", b"type" + ], + ) -> None: ... CREDENTIALS_FIELD_NUMBER: builtins.int ENTITY_FIELD_NUMBER: builtins.int @property - def credentials(self) -> global___RemoteAuth.Credentials: - ... + def credentials(self) -> global___RemoteAuth.Credentials: ... entity: builtins.str - def __init__(self, *, credentials: global___RemoteAuth.Credentials | None=..., entity: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['credentials', b'credentials']) -> builtins.bool: - ... + def __init__( + self, + *, + credentials: global___RemoteAuth.Credentials | None = ..., + entity: builtins.str = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["credentials", b"credentials"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "credentials", b"credentials", "entity", b"entity" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['credentials', b'credentials', 'entity', b'entity']) -> None: - ... global___RemoteAuth = RemoteAuth @typing_extensions.final @@ -837,28 +1314,58 @@ class AgentInfo(google.protobuf.message.Message): PLATFORM_FIELD_NUMBER: builtins.int host: builtins.str os: builtins.str - 'Will soon be deprecated, use platform instead' + "Will soon be deprecated, use platform instead" @property - def ips(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def ips( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """list of all ipv4 ips.""" version: builtins.str - 'RDK version' + "RDK version" git_revision: builtins.str platform: builtins.str - 'The platform the RDK is running on. For example linux/amd64' - - def __init__(self, *, host: builtins.str=..., os: builtins.str=..., ips: collections.abc.Iterable[builtins.str] | None=..., version: builtins.str=..., git_revision: builtins.str=..., platform: builtins.str | None=...) -> None: - ... + "The platform the RDK is running on. For example linux/amd64" + + def __init__( + self, + *, + host: builtins.str = ..., + os: builtins.str = ..., + ips: collections.abc.Iterable[builtins.str] | None = ..., + version: builtins.str = ..., + git_revision: builtins.str = ..., + platform: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_platform", b"_platform", "platform", b"platform" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_platform", + b"_platform", + "git_revision", + b"git_revision", + "host", + b"host", + "ips", + b"ips", + "os", + b"os", + "platform", + b"platform", + "version", + b"version", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_platform", b"_platform"] + ) -> typing_extensions.Literal["platform"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['_platform', b'_platform', 'platform', b'platform']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_platform', b'_platform', 'git_revision', b'git_revision', 'host', b'host', 'ips', b'ips', 'os', b'os', 'platform', b'platform', 'version', b'version']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_platform', b'_platform']) -> typing_extensions.Literal['platform'] | None: - ... global___AgentInfo = AgentInfo @typing_extensions.final @@ -867,23 +1374,31 @@ class ConfigRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int AGENT_INFO_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." @property def agent_info(self) -> global___AgentInfo: """Details about the RDK (os, version) are updated during this request.""" - def __init__(self, *, id: builtins.str=..., agent_info: global___AgentInfo | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_agent_info', b'_agent_info', 'agent_info', b'agent_info']) -> builtins.bool: - ... + def __init__( + self, *, id: builtins.str = ..., agent_info: global___AgentInfo | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_agent_info", b"_agent_info", "agent_info", b"agent_info" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_agent_info", b"_agent_info", "agent_info", b"agent_info", "id", b"id" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_agent_info", b"_agent_info"] + ) -> typing_extensions.Literal["agent_info"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_agent_info', b'_agent_info', 'agent_info', b'agent_info', 'id', b'id']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_agent_info', b'_agent_info']) -> typing_extensions.Literal['agent_info'] | None: - ... global___ConfigRequest = ConfigRequest @typing_extensions.final @@ -892,17 +1407,15 @@ class ConfigResponse(google.protobuf.message.Message): CONFIG_FIELD_NUMBER: builtins.int @property - def config(self) -> global___RobotConfig: - ... - - def __init__(self, *, config: global___RobotConfig | None=...) -> None: - ... + def config(self) -> global___RobotConfig: ... + def __init__(self, *, config: global___RobotConfig | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config']) -> None: - ... global___ConfigResponse = ConfigResponse @typing_extensions.final @@ -910,13 +1423,13 @@ class CertificateRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___CertificateRequest = CertificateRequest @typing_extensions.final @@ -926,15 +1439,29 @@ class CertificateResponse(google.protobuf.message.Message): TLS_CERTIFICATE_FIELD_NUMBER: builtins.int TLS_PRIVATE_KEY_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." tls_certificate: builtins.str tls_private_key: builtins.str - def __init__(self, *, id: builtins.str=..., tls_certificate: builtins.str=..., tls_private_key: builtins.str=...) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + tls_certificate: builtins.str = ..., + tls_private_key: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "tls_certificate", + b"tls_certificate", + "tls_private_key", + b"tls_private_key", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'tls_certificate', b'tls_certificate', 'tls_private_key', b'tls_private_key']) -> None: - ... global___CertificateResponse = CertificateResponse @typing_extensions.final @@ -943,25 +1470,32 @@ class LogRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int LOGS_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: - ... - - def __init__(self, *, id: builtins.str=..., logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: - ... + def logs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.LogEntry + ]: ... + def __init__( + self, + *, + id: builtins.str = ..., + logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id", "logs", b"logs"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'logs', b'logs']) -> None: - ... global___LogRequest = LogRequest @typing_extensions.final class LogResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___LogResponse = LogResponse @typing_extensions.final @@ -969,13 +1503,13 @@ class NeedsRestartRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___NeedsRestartRequest = NeedsRestartRequest @typing_extensions.final @@ -985,26 +1519,42 @@ class NeedsRestartResponse(google.protobuf.message.Message): MUST_RESTART_FIELD_NUMBER: builtins.int RESTART_CHECK_INTERVAL_FIELD_NUMBER: builtins.int id: builtins.str - 'Robot part id.' + "Robot part id." must_restart: builtins.bool @property - def restart_check_interval(self) -> google.protobuf.duration_pb2.Duration: - ... - - def __init__(self, *, id: builtins.str=..., must_restart: builtins.bool=..., restart_check_interval: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['restart_check_interval', b'restart_check_interval']) -> builtins.bool: - ... + def restart_check_interval(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__( + self, + *, + id: builtins.str = ..., + must_restart: builtins.bool = ..., + restart_check_interval: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "restart_check_interval", b"restart_check_interval" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "must_restart", + b"must_restart", + "restart_check_interval", + b"restart_check_interval", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'must_restart', b'must_restart', 'restart_check_interval', b'restart_check_interval']) -> None: - ... global___NeedsRestartResponse = NeedsRestartResponse @typing_extensions.final class ModuleConfig(google.protobuf.message.Message): """ModuleConfig is the configuration for a module.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -1015,11 +1565,13 @@ class ModuleConfig(google.protobuf.message.Message): key: builtins.str value: builtins.str - def __init__(self, *, key: builtins.str=..., value: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def __init__( + self, *, key: builtins.str = ..., value: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... NAME_FIELD_NUMBER: builtins.int PATH_FIELD_NUMBER: builtins.int LOG_LEVEL_FIELD_NUMBER: builtins.int @@ -1029,35 +1581,64 @@ class ModuleConfig(google.protobuf.message.Message): STATUS_FIELD_NUMBER: builtins.int name: builtins.str path: builtins.str - 'path to the executable' + "path to the executable" log_level: builtins.str - 'log level for module' + "log level for module" type: builtins.str 'type of the module ("local" or "registry")' module_id: builtins.str - 'the id of the module if it is a registry module' + "the id of the module if it is a registry module" @property - def env(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: + def env( + self, + ) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.str]: """additional environment variables passed to the module process""" @property def status(self) -> global___AppValidationStatus: """info about the validity of the module""" - def __init__(self, *, name: builtins.str=..., path: builtins.str=..., log_level: builtins.str=..., type: builtins.str=..., module_id: builtins.str=..., env: collections.abc.Mapping[builtins.str, builtins.str] | None=..., status: global___AppValidationStatus | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['status', b'status']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + path: builtins.str = ..., + log_level: builtins.str = ..., + type: builtins.str = ..., + module_id: builtins.str = ..., + env: collections.abc.Mapping[builtins.str, builtins.str] | None = ..., + status: global___AppValidationStatus | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "env", + b"env", + "log_level", + b"log_level", + "module_id", + b"module_id", + "name", + b"name", + "path", + b"path", + "status", + b"status", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['env', b'env', 'log_level', b'log_level', 'module_id', b'module_id', 'name', b'name', 'path', b'path', 'status', b'status', 'type', b'type']) -> None: - ... global___ModuleConfig = ModuleConfig @typing_extensions.final class PackageConfig(google.protobuf.message.Message): """PackageConfig is the configration for deployed Packages.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int PACKAGE_FIELD_NUMBER: builtins.int @@ -1065,24 +1646,44 @@ class PackageConfig(google.protobuf.message.Message): TYPE_FIELD_NUMBER: builtins.int STATUS_FIELD_NUMBER: builtins.int name: builtins.str - 'Name is the local name of the package on the RDK. Must be unique across Packages. Must not be empty.' + "Name is the local name of the package on the RDK. Must be unique across Packages. Must not be empty." package: builtins.str - 'Package is the unique package name hosted by Viam. Must not be empty.' + "Package is the unique package name hosted by Viam. Must not be empty." version: builtins.str 'version of the package ID hosted by Viam. If not specified "latest" is assumed.' type: builtins.str - 'type of the package' + "type of the package" @property def status(self) -> global___AppValidationStatus: """info about the validity of the package""" - def __init__(self, *, name: builtins.str=..., package: builtins.str=..., version: builtins.str=..., type: builtins.str=..., status: global___AppValidationStatus | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'package', b'package', 'status', b'status', 'type', b'type', 'version', b'version']) -> None: - ... -global___PackageConfig = PackageConfig \ No newline at end of file + def __init__( + self, + *, + name: builtins.str = ..., + package: builtins.str = ..., + version: builtins.str = ..., + type: builtins.str = ..., + status: global___AppValidationStatus | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", + b"name", + "package", + b"package", + "status", + b"status", + "type", + b"type", + "version", + b"version", + ], + ) -> None: ... + +global___PackageConfig = PackageConfig diff --git a/src/viam/gen/common/v1/common_pb2.py b/src/viam/gen/common/v1/common_pb2.py index 4a3ee7107..238c066fd 100644 --- a/src/viam/gen/common/v1/common_pb2.py +++ b/src/viam/gen/common/v1/common_pb2.py @@ -1,25 +1,33 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"n\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name"\xfc\x02\n\x0bBoardStatus\x12B\n\x07analogs\x18\x01 \x03(\x0b2(.viam.common.v1.BoardStatus.AnalogsEntryR\x07analogs\x12a\n\x12digital_interrupts\x18\x02 \x03(\x0b22.viam.common.v1.BoardStatus.DigitalInterruptsEntryR\x11digitalInterrupts\x1aX\n\x0cAnalogsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.viam.common.v1.AnalogStatusR\x05value:\x028\x01\x1al\n\x16DigitalInterruptsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.common.v1.DigitalInterruptStatusR\x05value:\x028\x01"$\n\x0cAnalogStatus\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value".\n\x16DigitalInterruptStatus\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"\xfc\x01\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoObstacle\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xe2\x01\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01B\x12\n\x10_physical_object"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x16common/v1/common.proto\x12\x0eviam.common.v1\x1a google/protobuf/descriptor.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"n\n\x0cResourceName\x12\x1c\n\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12\x18\n\x07subtype\x18\x03 \x01(\tR\x07subtype\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name"\xfc\x02\n\x0bBoardStatus\x12B\n\x07analogs\x18\x01 \x03(\x0b2(.viam.common.v1.BoardStatus.AnalogsEntryR\x07analogs\x12a\n\x12digital_interrupts\x18\x02 \x03(\x0b22.viam.common.v1.BoardStatus.DigitalInterruptsEntryR\x11digitalInterrupts\x1aX\n\x0cAnalogsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.viam.common.v1.AnalogStatusR\x05value:\x028\x01\x1al\n\x16DigitalInterruptsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.common.v1.DigitalInterruptStatusR\x05value:\x028\x01"$\n\x0cAnalogStatus\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value".\n\x16DigitalInterruptStatus\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"y\n\x04Pose\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z\x12\x0f\n\x03o_x\x18\x04 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x05 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x06 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x07 \x01(\x01R\x05theta"V\n\x0bOrientation\x12\x0f\n\x03o_x\x18\x01 \x01(\x01R\x02oX\x12\x0f\n\x03o_y\x18\x02 \x01(\x01R\x02oY\x12\x0f\n\x03o_z\x18\x03 \x01(\x01R\x02oZ\x12\x14\n\x05theta\x18\x04 \x01(\x01R\x05theta"`\n\x0bPoseInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12(\n\x04pose\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"3\n\x07Vector3\x12\x0c\n\x01x\x18\x01 \x01(\x01R\x01x\x12\x0c\n\x01y\x18\x02 \x01(\x01R\x01y\x12\x0c\n\x01z\x18\x03 \x01(\x01R\x01z"%\n\x06Sphere\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm"C\n\x07Capsule\x12\x1b\n\tradius_mm\x18\x01 \x01(\x01R\x08radiusMm\x12\x1b\n\tlength_mm\x18\x02 \x01(\x01R\x08lengthMm"D\n\x10RectangularPrism\x120\n\x07dims_mm\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06dimsMm"\xfc\x01\n\x08Geometry\x12,\n\x06center\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x06center\x120\n\x06sphere\x18\x02 \x01(\x0b2\x16.viam.common.v1.SphereH\x00R\x06sphere\x124\n\x03box\x18\x03 \x01(\x0b2 .viam.common.v1.RectangularPrismH\x00R\x03box\x123\n\x07capsule\x18\x05 \x01(\x0b2\x17.viam.common.v1.CapsuleH\x00R\x07capsule\x12\x14\n\x05label\x18\x04 \x01(\tR\x05labelB\x0f\n\rgeometry_type"v\n\x11GeometriesInFrame\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"v\n\x10PointCloudObject\x12\x1f\n\x0bpoint_cloud\x18\x01 \x01(\x0cR\npointCloud\x12A\n\ngeometries\x18\x02 \x01(\x0b2!.viam.common.v1.GeometriesInFrameR\ngeometries"D\n\x08GeoPoint\x12\x1a\n\x08latitude\x18\x01 \x01(\x01R\x08latitude\x12\x1c\n\tlongitude\x18\x02 \x01(\x01R\tlongitude"}\n\x0bGeoObstacle\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x128\n\ngeometries\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"\xe2\x01\n\tTransform\x12\'\n\x0freference_frame\x18\x01 \x01(\tR\x0ereferenceFrame\x12P\n\x16pose_in_observer_frame\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x13poseInObserverFrame\x12F\n\x0fphysical_object\x18\x03 \x01(\x0b2\x18.viam.common.v1.GeometryH\x00R\x0ephysicalObject\x88\x01\x01B\x12\n\x10_physical_object"\x88\x01\n\nWorldState\x12?\n\tobstacles\x18\x01 \x03(\x0b2!.viam.common.v1.GeometriesInFrameR\tobstacles\x129\n\ntransforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\ntransforms"-\n\x0eActuatorStatus\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"d\n\x10ResponseMetadata\x12@\n\x0bcaptured_at\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\ncapturedAt\x88\x01\x01B\x0e\n\x0c_captured_at"Y\n\x10DoCommandRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x121\n\x07command\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07command"D\n\x11DoCommandResponse\x12/\n\x06result\x18\x01 \x01(\x0b2\x17.google.protobuf.StructR\x06result"Y\n\x14GetKinematicsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"~\n\x15GetKinematicsResponse\x12<\n\x06format\x18\x01 \x01(\x0e2$.viam.common.v1.KinematicsFileFormatR\x06format\x12\'\n\x0fkinematics_data\x18\x02 \x01(\x0cR\x0ekinematicsData"Y\n\x14GetGeometriesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x15GetGeometriesResponse\x128\n\ngeometries\x18\x01 \x03(\x0b2\x18.viam.common.v1.GeometryR\ngeometries"W\n\x12GetReadingsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xb9\x01\n\x13GetReadingsResponse\x12M\n\x08readings\x18\x01 \x03(\x0b21.viam.common.v1.GetReadingsResponse.ReadingsEntryR\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01"\x97\x02\n\x08LogEntry\x12\x12\n\x04host\x18\x01 \x01(\tR\x04host\x12\x14\n\x05level\x18\x02 \x01(\tR\x05level\x12.\n\x04time\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x1f\n\x0blogger_name\x18\x04 \x01(\tR\nloggerName\x12\x18\n\x07message\x18\x05 \x01(\tR\x07message\x12/\n\x06caller\x18\x06 \x01(\x0b2\x17.google.protobuf.StructR\x06caller\x12\x14\n\x05stack\x18\x07 \x01(\tR\x05stack\x12/\n\x06fields\x18\x08 \x03(\x0b2\x17.google.protobuf.StructR\x06fields*\x7f\n\x14KinematicsFileFormat\x12&\n"KINEMATICS_FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x1e\n\x1aKINEMATICS_FILE_FORMAT_SVA\x10\x01\x12\x1f\n\x1bKINEMATICS_FILE_FORMAT_URDF\x10\x02:a\n\x1asafety_heartbeat_monitored\x12\x1e.google.protobuf.MethodOptions\x18\xa4\x92\x05 \x01(\x08R\x18safetyHeartbeatMonitored\x88\x01\x01B/\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'common.v1.common_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "common.v1.common_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: - google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension(safety_heartbeat_monitored) + google_dot_protobuf_dot_descriptor__pb2.MethodOptions.RegisterExtension( + safety_heartbeat_monitored + ) DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1' + DESCRIPTOR._serialized_options = ( + b"\n\x12com.viam.common.v1Z\x19go.viam.com/api/common/v1" + ) _BOARDSTATUS_ANALOGSENTRY._options = None - _BOARDSTATUS_ANALOGSENTRY._serialized_options = b'8\x01' + _BOARDSTATUS_ANALOGSENTRY._serialized_options = b"8\x01" _BOARDSTATUS_DIGITALINTERRUPTSENTRY._options = None - _BOARDSTATUS_DIGITALINTERRUPTSENTRY._serialized_options = b'8\x01' + _BOARDSTATUS_DIGITALINTERRUPTSENTRY._serialized_options = b"8\x01" _GETREADINGSRESPONSE_READINGSENTRY._options = None - _GETREADINGSRESPONSE_READINGSENTRY._serialized_options = b'8\x01' + _GETREADINGSRESPONSE_READINGSENTRY._serialized_options = b"8\x01" _KINEMATICSFILEFORMAT._serialized_start = 3582 _KINEMATICSFILEFORMAT._serialized_end = 3709 _RESOURCENAME._serialized_start = 139 @@ -85,4 +93,4 @@ _GETREADINGSRESPONSE_READINGSENTRY._serialized_start = 3215 _GETREADINGSRESPONSE_READINGSENTRY._serialized_end = 3298 _LOGENTRY._serialized_start = 3301 - _LOGENTRY._serialized_end = 3580 \ No newline at end of file + _LOGENTRY._serialized_end = 3580 diff --git a/src/viam/gen/common/v1/common_pb2.pyi b/src/viam/gen/common/v1/common_pb2.pyi index ad8379919..7616bd78d 100644 --- a/src/viam/gen/common/v1/common_pb2.pyi +++ b/src/viam/gen/common/v1/common_pb2.pyi @@ -4,6 +4,9 @@ isort:skip_file The following is a list of messages that are used across multiple resource subtypes""" import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.descriptor_pb2 import google.protobuf.internal.containers @@ -12,8 +15,7 @@ import google.protobuf.internal.extension_dict import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -21,17 +23,24 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _KinematicsFileFormat: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _KinematicsFileFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_KinematicsFileFormat.ValueType], builtins.type): +class _KinematicsFileFormatEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _KinematicsFileFormat.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor KINEMATICS_FILE_FORMAT_UNSPECIFIED: _KinematicsFileFormat.ValueType KINEMATICS_FILE_FORMAT_SVA: _KinematicsFileFormat.ValueType KINEMATICS_FILE_FORMAT_URDF: _KinematicsFileFormat.ValueType -class KinematicsFileFormat(_KinematicsFileFormat, metaclass=_KinematicsFileFormatEnumTypeWrapper): - ... +class KinematicsFileFormat( + _KinematicsFileFormat, metaclass=_KinematicsFileFormatEnumTypeWrapper +): ... + KINEMATICS_FILE_FORMAT_UNSPECIFIED: KinematicsFileFormat.ValueType KINEMATICS_FILE_FORMAT_SVA: KinematicsFileFormat.ValueType KINEMATICS_FILE_FORMAT_URDF: KinematicsFileFormat.ValueType @@ -49,11 +58,28 @@ class ResourceName(google.protobuf.message.Message): subtype: builtins.str name: builtins.str - def __init__(self, *, namespace: builtins.str=..., type: builtins.str=..., subtype: builtins.str=..., name: builtins.str=...) -> None: - ... + def __init__( + self, + *, + namespace: builtins.str = ..., + type: builtins.str = ..., + subtype: builtins.str = ..., + name: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", + b"name", + "namespace", + b"namespace", + "subtype", + b"subtype", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'namespace', b'namespace', 'subtype', b'subtype', 'type', b'type']) -> None: - ... global___ResourceName = ResourceName @typing_extensions.final @@ -68,17 +94,17 @@ class BoardStatus(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___AnalogStatus: - ... - - def __init__(self, *, key: builtins.str=..., value: global___AnalogStatus | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___AnalogStatus: ... + def __init__( + self, *, key: builtins.str = ..., value: global___AnalogStatus | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... @typing_extensions.final class DigitalInterruptsEntry(google.protobuf.message.Message): @@ -88,33 +114,52 @@ class BoardStatus(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___DigitalInterruptStatus: - ... - - def __init__(self, *, key: builtins.str=..., value: global___DigitalInterruptStatus | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___DigitalInterruptStatus: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: global___DigitalInterruptStatus | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... ANALOGS_FIELD_NUMBER: builtins.int DIGITAL_INTERRUPTS_FIELD_NUMBER: builtins.int @property - def analogs(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___AnalogStatus]: - ... - + def analogs( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___AnalogStatus + ]: ... @property - def digital_interrupts(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___DigitalInterruptStatus]: - ... - - def __init__(self, *, analogs: collections.abc.Mapping[builtins.str, global___AnalogStatus] | None=..., digital_interrupts: collections.abc.Mapping[builtins.str, global___DigitalInterruptStatus] | None=...) -> None: - ... + def digital_interrupts( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___DigitalInterruptStatus + ]: ... + def __init__( + self, + *, + analogs: collections.abc.Mapping[builtins.str, global___AnalogStatus] + | None = ..., + digital_interrupts: collections.abc.Mapping[ + builtins.str, global___DigitalInterruptStatus + ] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "analogs", b"analogs", "digital_interrupts", b"digital_interrupts" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['analogs', b'analogs', 'digital_interrupts', b'digital_interrupts']) -> None: - ... global___BoardStatus = BoardStatus @typing_extensions.final @@ -124,11 +169,11 @@ class AnalogStatus(google.protobuf.message.Message): value: builtins.int "Current value of the analog reader of a robot's board" - def __init__(self, *, value: builtins.int=...) -> None: - ... + def __init__(self, *, value: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None: - ... global___AnalogStatus = AnalogStatus @typing_extensions.final @@ -138,11 +183,11 @@ class DigitalInterruptStatus(google.protobuf.message.Message): value: builtins.int "Current value of the digital interrupt of a robot's board" - def __init__(self, *, value: builtins.int=...) -> None: - ... + def __init__(self, *, value: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None: - ... global___DigitalInterruptStatus = DigitalInterruptStatus @typing_extensions.final @@ -156,6 +201,7 @@ class Pose(google.protobuf.message.Message): second being defined by the origin, the rx, ry, rz point and the local Z axis. Therefore, if theta is kept at zero as the north/south pole is circled, the Roll will correct itself to remain in-line. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor X_FIELD_NUMBER: builtins.int Y_FIELD_NUMBER: builtins.int @@ -165,25 +211,51 @@ class Pose(google.protobuf.message.Message): O_Z_FIELD_NUMBER: builtins.int THETA_FIELD_NUMBER: builtins.int x: builtins.float - 'millimeters from the origin' + "millimeters from the origin" y: builtins.float - 'millimeters from the origin' + "millimeters from the origin" z: builtins.float - 'millimeters from the origin' + "millimeters from the origin" o_x: builtins.float - 'z component of a vector defining axis of rotation' + "z component of a vector defining axis of rotation" o_y: builtins.float - 'x component of a vector defining axis of rotation' + "x component of a vector defining axis of rotation" o_z: builtins.float - 'y component of a vector defining axis of rotation' + "y component of a vector defining axis of rotation" theta: builtins.float - 'degrees' - - def __init__(self, *, x: builtins.float=..., y: builtins.float=..., z: builtins.float=..., o_x: builtins.float=..., o_y: builtins.float=..., o_z: builtins.float=..., theta: builtins.float=...) -> None: - ... + "degrees" + + def __init__( + self, + *, + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + o_x: builtins.float = ..., + o_y: builtins.float = ..., + o_z: builtins.float = ..., + theta: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "o_x", + b"o_x", + "o_y", + b"o_y", + "o_z", + b"o_z", + "theta", + b"theta", + "x", + b"x", + "y", + b"y", + "z", + b"z", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta', 'x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... global___Pose = Pose @typing_extensions.final @@ -194,41 +266,55 @@ class Orientation(google.protobuf.message.Message): O_Z_FIELD_NUMBER: builtins.int THETA_FIELD_NUMBER: builtins.int o_x: builtins.float - 'x component of a vector defining axis of rotation' + "x component of a vector defining axis of rotation" o_y: builtins.float - 'y component of a vector defining axis of rotation' + "y component of a vector defining axis of rotation" o_z: builtins.float - 'z component of a vector defining axis of rotation' + "z component of a vector defining axis of rotation" theta: builtins.float - 'degrees' + "degrees" + + def __init__( + self, + *, + o_x: builtins.float = ..., + o_y: builtins.float = ..., + o_z: builtins.float = ..., + theta: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "o_x", b"o_x", "o_y", b"o_y", "o_z", b"o_z", "theta", b"theta" + ], + ) -> None: ... - def __init__(self, *, o_x: builtins.float=..., o_y: builtins.float=..., o_z: builtins.float=..., theta: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['o_x', b'o_x', 'o_y', b'o_y', 'o_z', b'o_z', 'theta', b'theta']) -> None: - ... global___Orientation = Orientation @typing_extensions.final class PoseInFrame(google.protobuf.message.Message): """PoseInFrame contains a pose and the and the reference frame in which it was observed""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor REFERENCE_FRAME_FIELD_NUMBER: builtins.int POSE_FIELD_NUMBER: builtins.int reference_frame: builtins.str @property - def pose(self) -> global___Pose: - ... + def pose(self) -> global___Pose: ... + def __init__( + self, *, reference_frame: builtins.str = ..., pose: global___Pose | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "pose", b"pose", "reference_frame", b"reference_frame" + ], + ) -> None: ... - def __init__(self, *, reference_frame: builtins.str=..., pose: global___Pose | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose', 'reference_frame', b'reference_frame']) -> None: - ... global___PoseInFrame = PoseInFrame @typing_extensions.final @@ -241,11 +327,17 @@ class Vector3(google.protobuf.message.Message): y: builtins.float z: builtins.float - def __init__(self, *, x: builtins.float=..., y: builtins.float=..., z: builtins.float=...) -> None: - ... + def __init__( + self, + *, + x: builtins.float = ..., + y: builtins.float = ..., + z: builtins.float = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["x", b"x", "y", b"y", "z", b"z"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['x', b'x', 'y', b'y', 'z', b'z']) -> None: - ... global___Vector3 = Vector3 @typing_extensions.final @@ -254,11 +346,11 @@ class Sphere(google.protobuf.message.Message): RADIUS_MM_FIELD_NUMBER: builtins.int radius_mm: builtins.float - def __init__(self, *, radius_mm: builtins.float=...) -> None: - ... + def __init__(self, *, radius_mm: builtins.float = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["radius_mm", b"radius_mm"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['radius_mm', b'radius_mm']) -> None: - ... global___Sphere = Sphere @typing_extensions.final @@ -269,11 +361,16 @@ class Capsule(google.protobuf.message.Message): radius_mm: builtins.float length_mm: builtins.float - def __init__(self, *, radius_mm: builtins.float=..., length_mm: builtins.float=...) -> None: - ... + def __init__( + self, *, radius_mm: builtins.float = ..., length_mm: builtins.float = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "length_mm", b"length_mm", "radius_mm", b"radius_mm" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['length_mm', b'length_mm', 'radius_mm', b'radius_mm']) -> None: - ... global___Capsule = Capsule @typing_extensions.final @@ -281,26 +378,26 @@ class RectangularPrism(google.protobuf.message.Message): """RectangularPrism contains a Vector3 field corresponding to the X, Y, Z dimensions of the prism in mms These dimensions are with respect to the referenceframe in which the RectangularPrism is defined """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor DIMS_MM_FIELD_NUMBER: builtins.int @property - def dims_mm(self) -> global___Vector3: - ... - - def __init__(self, *, dims_mm: global___Vector3 | None=...) -> None: - ... + def dims_mm(self) -> global___Vector3: ... + def __init__(self, *, dims_mm: global___Vector3 | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["dims_mm", b"dims_mm"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["dims_mm", b"dims_mm"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['dims_mm', b'dims_mm']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['dims_mm', b'dims_mm']) -> None: - ... global___RectangularPrism = RectangularPrism @typing_extensions.final class Geometry(google.protobuf.message.Message): """Geometry contains the dimensions of a given geometry and the pose of its center. The geometry is one of either a sphere or a box.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor CENTER_FIELD_NUMBER: builtins.int SPHERE_FIELD_NUMBER: builtins.int @@ -313,30 +410,59 @@ class Geometry(google.protobuf.message.Message): """Pose of a geometries center point""" @property - def sphere(self) -> global___Sphere: - ... - + def sphere(self) -> global___Sphere: ... @property - def box(self) -> global___RectangularPrism: - ... - + def box(self) -> global___RectangularPrism: ... @property - def capsule(self) -> global___Capsule: - ... + def capsule(self) -> global___Capsule: ... label: builtins.str - 'Label of the geometry. If none supplied, will be an empty string.' - - def __init__(self, *, center: global___Pose | None=..., sphere: global___Sphere | None=..., box: global___RectangularPrism | None=..., capsule: global___Capsule | None=..., label: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'sphere', b'sphere']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['box', b'box', 'capsule', b'capsule', 'center', b'center', 'geometry_type', b'geometry_type', 'label', b'label', 'sphere', b'sphere']) -> None: - ... + "Label of the geometry. If none supplied, will be an empty string." + + def __init__( + self, + *, + center: global___Pose | None = ..., + sphere: global___Sphere | None = ..., + box: global___RectangularPrism | None = ..., + capsule: global___Capsule | None = ..., + label: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "box", + b"box", + "capsule", + b"capsule", + "center", + b"center", + "geometry_type", + b"geometry_type", + "sphere", + b"sphere", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "box", + b"box", + "capsule", + b"capsule", + "center", + b"center", + "geometry_type", + b"geometry_type", + "label", + b"label", + "sphere", + b"sphere", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["geometry_type", b"geometry_type"] + ) -> typing_extensions.Literal["sphere", "box", "capsule"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['geometry_type', b'geometry_type']) -> typing_extensions.Literal['sphere', 'box', 'capsule'] | None: - ... global___Geometry = Geometry @typing_extensions.final @@ -344,21 +470,34 @@ class GeometriesInFrame(google.protobuf.message.Message): """GeometriesinFrame contains the dimensions of a given geometry, pose of its center point, and the reference frame by which it was observed. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor REFERENCE_FRAME_FIELD_NUMBER: builtins.int GEOMETRIES_FIELD_NUMBER: builtins.int reference_frame: builtins.str - 'Reference frame of the observer of the geometry' + "Reference frame of the observer of the geometry" @property - def geometries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Geometry]: + def geometries( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Geometry + ]: """Dimensional type""" - def __init__(self, *, reference_frame: builtins.str=..., geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None: - ... + def __init__( + self, + *, + reference_frame: builtins.str = ..., + geometries: collections.abc.Iterable[global___Geometry] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "geometries", b"geometries", "reference_frame", b"reference_frame" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'reference_frame', b'reference_frame']) -> None: - ... global___GeometriesInFrame = GeometriesInFrame @typing_extensions.final @@ -366,24 +505,33 @@ class PointCloudObject(google.protobuf.message.Message): """PointCloudObject contains an image in bytes with point cloud data of all of the objects captured by a given observer as well as a repeated list of geometries which respresents the center point and geometry of each of the objects within the point cloud """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor POINT_CLOUD_FIELD_NUMBER: builtins.int GEOMETRIES_FIELD_NUMBER: builtins.int point_cloud: builtins.bytes - 'image frame expressed in bytes' + "image frame expressed in bytes" @property def geometries(self) -> global___GeometriesInFrame: """volume of a given geometry""" - def __init__(self, *, point_cloud: builtins.bytes=..., geometries: global___GeometriesInFrame | None=...) -> None: - ... + def __init__( + self, + *, + point_cloud: builtins.bytes = ..., + geometries: global___GeometriesInFrame | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["geometries", b"geometries"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "geometries", b"geometries", "point_cloud", b"point_cloud" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['geometries', b'geometries']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'point_cloud', b'point_cloud']) -> None: - ... global___PointCloudObject = PointCloudObject @typing_extensions.final @@ -394,11 +542,16 @@ class GeoPoint(google.protobuf.message.Message): latitude: builtins.float longitude: builtins.float - def __init__(self, *, latitude: builtins.float=..., longitude: builtins.float=...) -> None: - ... + def __init__( + self, *, latitude: builtins.float = ..., longitude: builtins.float = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "latitude", b"latitude", "longitude", b"longitude" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['latitude', b'latitude', 'longitude', b'longitude']) -> None: - ... global___GeoPoint = GeoPoint @typing_extensions.final @@ -406,6 +559,7 @@ class GeoObstacle(google.protobuf.message.Message): """GeoObstacle contains information about the geometric structure of an obstacle and the location of the obstacle, captured in latitude and longitude. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor LOCATION_FIELD_NUMBER: builtins.int GEOMETRIES_FIELD_NUMBER: builtins.int @@ -415,17 +569,29 @@ class GeoObstacle(google.protobuf.message.Message): """Location of the obstacle""" @property - def geometries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Geometry]: + def geometries( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Geometry + ]: """Geometries that describe the obstacle, where embedded Pose data is with respect to the specified location""" - def __init__(self, *, location: global___GeoPoint | None=..., geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None: - ... + def __init__( + self, + *, + location: global___GeoPoint | None = ..., + geometries: collections.abc.Iterable[global___Geometry] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "geometries", b"geometries", "location", b"location" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries', 'location', b'location']) -> None: - ... global___GeoObstacle = GeoObstacle @typing_extensions.final @@ -434,32 +600,56 @@ class Transform(google.protobuf.message.Message): frame is the observer reference frame. The second reference frame has a pose which represents the pose of an object in the first reference frame as observed within the second reference frame. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor REFERENCE_FRAME_FIELD_NUMBER: builtins.int POSE_IN_OBSERVER_FRAME_FIELD_NUMBER: builtins.int PHYSICAL_OBJECT_FIELD_NUMBER: builtins.int reference_frame: builtins.str - 'the name of a given reference frame' + "the name of a given reference frame" @property def pose_in_observer_frame(self) -> global___PoseInFrame: """the pose of the above reference frame with respect to a different observer reference frame""" @property - def physical_object(self) -> global___Geometry: - ... - - def __init__(self, *, reference_frame: builtins.str=..., pose_in_observer_frame: global___PoseInFrame | None=..., physical_object: global___Geometry | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_physical_object', b'_physical_object', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame']) -> builtins.bool: - ... + def physical_object(self) -> global___Geometry: ... + def __init__( + self, + *, + reference_frame: builtins.str = ..., + pose_in_observer_frame: global___PoseInFrame | None = ..., + physical_object: global___Geometry | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_physical_object", + b"_physical_object", + "physical_object", + b"physical_object", + "pose_in_observer_frame", + b"pose_in_observer_frame", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_physical_object", + b"_physical_object", + "physical_object", + b"physical_object", + "pose_in_observer_frame", + b"pose_in_observer_frame", + "reference_frame", + b"reference_frame", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_physical_object", b"_physical_object"], + ) -> typing_extensions.Literal["physical_object"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_physical_object', b'_physical_object', 'physical_object', b'physical_object', 'pose_in_observer_frame', b'pose_in_observer_frame', 'reference_frame', b'reference_frame']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_physical_object', b'_physical_object']) -> typing_extensions.Literal['physical_object'] | None: - ... global___Transform = Transform @typing_extensions.final @@ -468,37 +658,55 @@ class WorldState(google.protobuf.message.Message): they can include information about the physical dimensions of an obstacle, the freespace of a robot, and any desired transforms between a given reference frame and a new target reference frame. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor OBSTACLES_FIELD_NUMBER: builtins.int TRANSFORMS_FIELD_NUMBER: builtins.int @property - def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___GeometriesInFrame]: + def obstacles( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___GeometriesInFrame + ]: """a list of obstacles expressed as a geometry and the reference frame in which it was observed; this field is optional""" @property - def transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Transform]: + def transforms( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Transform + ]: """a list of Transforms, optionally with geometries. Used as supplemental transforms to transform a pose from one reference frame to another, or to attach moving geometries to the frame system. This field is optional""" - def __init__(self, *, obstacles: collections.abc.Iterable[global___GeometriesInFrame] | None=..., transforms: collections.abc.Iterable[global___Transform] | None=...) -> None: - ... + def __init__( + self, + *, + obstacles: collections.abc.Iterable[global___GeometriesInFrame] | None = ..., + transforms: collections.abc.Iterable[global___Transform] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "obstacles", b"obstacles", "transforms", b"transforms" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['obstacles', b'obstacles', 'transforms', b'transforms']) -> None: - ... global___WorldState = WorldState @typing_extensions.final class ActuatorStatus(google.protobuf.message.Message): """ActuatorStatus is a generic status for resources that only need to return actuator status.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... global___ActuatorStatus = ActuatorStatus @typing_extensions.final @@ -514,59 +722,73 @@ class ResponseMetadata(google.protobuf.message.Message): of measuring the capture are similar enough such that comparison can be made between them. """ - def __init__(self, *, captured_at: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_captured_at', b'_captured_at', 'captured_at', b'captured_at']) -> builtins.bool: - ... + def __init__( + self, *, captured_at: google.protobuf.timestamp_pb2.Timestamp | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_captured_at", b"_captured_at", "captured_at", b"captured_at" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_captured_at", b"_captured_at", "captured_at", b"captured_at" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_captured_at", b"_captured_at"] + ) -> typing_extensions.Literal["captured_at"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_captured_at', b'_captured_at', 'captured_at', b'captured_at']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_captured_at', b'_captured_at']) -> typing_extensions.Literal['captured_at'] | None: - ... global___ResponseMetadata = ResponseMetadata @typing_extensions.final class DoCommandRequest(google.protobuf.message.Message): """DoCommandRequest represents a generic DoCommand input""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int COMMAND_FIELD_NUMBER: builtins.int name: builtins.str @property - def command(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, name: builtins.str=..., command: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def command(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + command: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["command", b"command"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["command", b"command", "name", b"name"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['command', b'command']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['command', b'command', 'name', b'name']) -> None: - ... global___DoCommandRequest = DoCommandRequest @typing_extensions.final class DoCommandResponse(google.protobuf.message.Message): """DoCommandResponse represents a generic DoCommand output""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor RESULT_FIELD_NUMBER: builtins.int @property - def result(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, result: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['result', b'result']) -> builtins.bool: - ... + def result(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, *, result: google.protobuf.struct_pb2.Struct | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["result", b"result"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["result", b"result"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['result', b'result']) -> None: - ... global___DoCommandResponse = DoCommandResponse @typing_extensions.final @@ -575,20 +797,25 @@ class GetKinematicsRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'The component name' + "The component name" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetKinematicsRequest = GetKinematicsRequest @typing_extensions.final @@ -597,15 +824,23 @@ class GetKinematicsResponse(google.protobuf.message.Message): FORMAT_FIELD_NUMBER: builtins.int KINEMATICS_DATA_FIELD_NUMBER: builtins.int format: global___KinematicsFileFormat.ValueType - 'The kinematics of the component, in either URDF format or in Viam’s kinematic parameter format (spatial vector algebra)\n https://docs.viam.com/internals/kinematic-chain-config/#kinematic-parameters\n ' + "The kinematics of the component, in either URDF format or in Viam’s kinematic parameter format (spatial vector algebra)\n https://docs.viam.com/internals/kinematic-chain-config/#kinematic-parameters\n " kinematics_data: builtins.bytes - 'The byte contents of the file' - - def __init__(self, *, format: global___KinematicsFileFormat.ValueType=..., kinematics_data: builtins.bytes=...) -> None: - ... + "The byte contents of the file" + + def __init__( + self, + *, + format: global___KinematicsFileFormat.ValueType = ..., + kinematics_data: builtins.bytes = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "format", b"format", "kinematics_data", b"kinematics_data" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['format', b'format', 'kinematics_data', b'kinematics_data']) -> None: - ... global___GetKinematicsResponse = GetKinematicsResponse @typing_extensions.final @@ -614,20 +849,25 @@ class GetGeometriesRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'The component name' + "The component name" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetGeometriesRequest = GetGeometriesRequest @typing_extensions.final @@ -636,14 +876,20 @@ class GetGeometriesResponse(google.protobuf.message.Message): GEOMETRIES_FIELD_NUMBER: builtins.int @property - def geometries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Geometry]: + def geometries( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Geometry + ]: """All geometries associated with the component, in their current configuration, in the frame of that component.""" - def __init__(self, *, geometries: collections.abc.Iterable[global___Geometry] | None=...) -> None: - ... + def __init__( + self, *, geometries: collections.abc.Iterable[global___Geometry] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["geometries", b"geometries"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['geometries', b'geometries']) -> None: - ... global___GetGeometriesResponse = GetGeometriesResponse @typing_extensions.final @@ -652,20 +898,25 @@ class GetReadingsRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a sensor' + "Name of a sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetReadingsRequest = GetReadingsRequest @typing_extensions.final @@ -680,28 +931,40 @@ class GetReadingsResponse(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> google.protobuf.struct_pb2.Value: - ... - - def __init__(self, *, key: builtins.str=..., value: google.protobuf.struct_pb2.Value | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> google.protobuf.struct_pb2.Value: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.struct_pb2.Value | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... READINGS_FIELD_NUMBER: builtins.int @property - def readings(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.struct_pb2.Value]: - ... + def readings( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, google.protobuf.struct_pb2.Value + ]: ... + def __init__( + self, + *, + readings: collections.abc.Mapping[ + builtins.str, google.protobuf.struct_pb2.Value + ] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["readings", b"readings"] + ) -> None: ... - def __init__(self, *, readings: collections.abc.Mapping[builtins.str, google.protobuf.struct_pb2.Value] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['readings', b'readings']) -> None: - ... global___GetReadingsResponse = GetReadingsResponse @typing_extensions.final @@ -719,29 +982,62 @@ class LogEntry(google.protobuf.message.Message): level: builtins.str @property - def time(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... logger_name: builtins.str message: builtins.str @property - def caller(self) -> google.protobuf.struct_pb2.Struct: - ... + def caller(self) -> google.protobuf.struct_pb2.Struct: ... stack: builtins.str @property - def fields(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.struct_pb2.Struct]: - ... - - def __init__(self, *, host: builtins.str=..., level: builtins.str=..., time: google.protobuf.timestamp_pb2.Timestamp | None=..., logger_name: builtins.str=..., message: builtins.str=..., caller: google.protobuf.struct_pb2.Struct | None=..., stack: builtins.str=..., fields: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['caller', b'caller', 'time', b'time']) -> builtins.bool: - ... + def fields( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + google.protobuf.struct_pb2.Struct + ]: ... + def __init__( + self, + *, + host: builtins.str = ..., + level: builtins.str = ..., + time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + logger_name: builtins.str = ..., + message: builtins.str = ..., + caller: google.protobuf.struct_pb2.Struct | None = ..., + stack: builtins.str = ..., + fields: collections.abc.Iterable[google.protobuf.struct_pb2.Struct] + | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["caller", b"caller", "time", b"time"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "caller", + b"caller", + "fields", + b"fields", + "host", + b"host", + "level", + b"level", + "logger_name", + b"logger_name", + "message", + b"message", + "stack", + b"stack", + "time", + b"time", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['caller', b'caller', 'fields', b'fields', 'host', b'host', 'level', b'level', 'logger_name', b'logger_name', 'message', b'message', 'stack', b'stack', 'time', b'time']) -> None: - ... global___LogEntry = LogEntry SAFETY_HEARTBEAT_MONITORED_FIELD_NUMBER: builtins.int -safety_heartbeat_monitored: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MethodOptions, builtins.bool] -'safety_heartbeat_monitored is used on methods to signify that if a session is in use\nand the session was the last to call this method, the resource associated with the\nmethod will be stopped.\n' \ No newline at end of file +safety_heartbeat_monitored: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[ + google.protobuf.descriptor_pb2.MethodOptions, builtins.bool +] +"safety_heartbeat_monitored is used on methods to signify that if a session is in use\nand the session was the last to call this method, the resource associated with the\nmethod will be stopped.\n" diff --git a/src/viam/gen/component/arm/v1/arm_grpc.py b/src/viam/gen/component/arm/v1/arm_grpc.py index 157553c1c..1cb5f7294 100644 --- a/src/viam/gen/component/arm/v1/arm_grpc.py +++ b/src/viam/gen/component/arm/v1/arm_grpc.py @@ -1,64 +1,193 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class ArmServiceBase(abc.ABC): +from .... import common, component + +class ArmServiceBase(abc.ABC): @abc.abstractmethod - async def GetEndPosition(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse]') -> None: + async def GetEndPosition( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def MoveToPosition(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse]') -> None: + async def MoveToPosition( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetJointPositions(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse]') -> None: + async def GetJointPositions( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse]", + ) -> None: pass @abc.abstractmethod - async def MoveToJointPositions(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse]') -> None: + async def MoveToJointPositions( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetKinematics(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]') -> None: + async def GetKinematics( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.arm.v1.ArmService/GetEndPosition': grpclib.const.Handler(self.GetEndPosition, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse), '/viam.component.arm.v1.ArmService/MoveToPosition': grpclib.const.Handler(self.MoveToPosition, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse), '/viam.component.arm.v1.ArmService/GetJointPositions': grpclib.const.Handler(self.GetJointPositions, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse), '/viam.component.arm.v1.ArmService/MoveToJointPositions': grpclib.const.Handler(self.MoveToJointPositions, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse), '/viam.component.arm.v1.ArmService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse), '/viam.component.arm.v1.ArmService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse), '/viam.component.arm.v1.ArmService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.arm.v1.ArmService/GetKinematics': grpclib.const.Handler(self.GetKinematics, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse), '/viam.component.arm.v1.ArmService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.arm.v1.ArmService/GetEndPosition": grpclib.const.Handler( + self.GetEndPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.GetEndPositionRequest, + component.arm.v1.arm_pb2.GetEndPositionResponse, + ), + "/viam.component.arm.v1.ArmService/MoveToPosition": grpclib.const.Handler( + self.MoveToPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.MoveToPositionRequest, + component.arm.v1.arm_pb2.MoveToPositionResponse, + ), + "/viam.component.arm.v1.ArmService/GetJointPositions": grpclib.const.Handler( + self.GetJointPositions, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.GetJointPositionsRequest, + component.arm.v1.arm_pb2.GetJointPositionsResponse, + ), + "/viam.component.arm.v1.ArmService/MoveToJointPositions": grpclib.const.Handler( + self.MoveToJointPositions, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.MoveToJointPositionsRequest, + component.arm.v1.arm_pb2.MoveToJointPositionsResponse, + ), + "/viam.component.arm.v1.ArmService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.StopRequest, + component.arm.v1.arm_pb2.StopResponse, + ), + "/viam.component.arm.v1.ArmService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.arm.v1.arm_pb2.IsMovingRequest, + component.arm.v1.arm_pb2.IsMovingResponse, + ), + "/viam.component.arm.v1.ArmService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.arm.v1.ArmService/GetKinematics": grpclib.const.Handler( + self.GetKinematics, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetKinematicsRequest, + common.v1.common_pb2.GetKinematicsResponse, + ), + "/viam.component.arm.v1.ArmService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class ArmServiceStub: +class ArmServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetEndPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/GetEndPosition', component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse) - self.MoveToPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/MoveToPosition', component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse) - self.GetJointPositions = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/GetJointPositions', component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse) - self.MoveToJointPositions = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/MoveToJointPositions', component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/Stop', component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/IsMoving', component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetKinematics = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/GetKinematics', common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.arm.v1.ArmService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetEndPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/GetEndPosition", + component.arm.v1.arm_pb2.GetEndPositionRequest, + component.arm.v1.arm_pb2.GetEndPositionResponse, + ) + self.MoveToPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/MoveToPosition", + component.arm.v1.arm_pb2.MoveToPositionRequest, + component.arm.v1.arm_pb2.MoveToPositionResponse, + ) + self.GetJointPositions = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/GetJointPositions", + component.arm.v1.arm_pb2.GetJointPositionsRequest, + component.arm.v1.arm_pb2.GetJointPositionsResponse, + ) + self.MoveToJointPositions = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/MoveToJointPositions", + component.arm.v1.arm_pb2.MoveToJointPositionsRequest, + component.arm.v1.arm_pb2.MoveToJointPositionsResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/Stop", + component.arm.v1.arm_pb2.StopRequest, + component.arm.v1.arm_pb2.StopResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/IsMoving", + component.arm.v1.arm_pb2.IsMovingRequest, + component.arm.v1.arm_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetKinematics = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/GetKinematics", + common.v1.common_pb2.GetKinematicsRequest, + common.v1.common_pb2.GetKinematicsResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.arm.v1.ArmService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/arm/v1/arm_pb2.py b/src/viam/gen/component/arm/v1/arm_pb2.py index 6dc54b767..1851a81dd 100644 --- a/src/viam/gen/component/arm/v1/arm_pb2.py +++ b/src/viam/gen/component/arm/v1/arm_pb2.py @@ -1,36 +1,77 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1acomponent/arm/v1/arm.proto\x12\x15viam.component.arm.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"Z\n\x15GetEndPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x16GetEndPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"(\n\x0eJointPositions\x12\x16\n\x06values\x18\x01 \x03(\x01R\x06values"]\n\x18GetJointPositionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x19GetJointPositionsResponse\x12C\n\tpositions\x18\x01 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\tpositions"\x80\x01\n\x15MoveToPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12$\n\x02to\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x02to\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16MoveToPositionResponse"\xa5\x01\n\x1bMoveToJointPositionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\tpositions\x18\x02 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\tpositions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x1e\n\x1cMoveToJointPositionsResponse"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"\xae\x01\n\x06Status\x127\n\x0cend_position\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bendPosition\x12N\n\x0fjoint_positions\x18\x02 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\x0ejointPositions\x12\x1b\n\tis_moving\x18\x03 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x94\x0b\n\nArmService\x12\xa1\x01\n\x0eGetEndPosition\x12,.viam.component.arm.v1.GetEndPositionRequest\x1a-.viam.component.arm.v1.GetEndPositionResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/arm/{name}/position\x12\xa5\x01\n\x0eMoveToPosition\x12,.viam.component.arm.v1.MoveToPositionRequest\x1a-.viam.component.arm.v1.MoveToPositionResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/arm/{name}/position\x12\xb1\x01\n\x11GetJointPositions\x12/.viam.component.arm.v1.GetJointPositionsRequest\x1a0.viam.component.arm.v1.GetJointPositionsResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/arm/{name}/joint_positions\x12\xbe\x01\n\x14MoveToJointPositions\x122.viam.component.arm.v1.MoveToJointPositionsRequest\x1a3.viam.component.arm.v1.MoveToJointPositionsResponse"=\xa0\x92)\x01\x82\xd3\xe4\x93\x023\x1a1/viam/api/v1/component/arm/{name}/joint_positions\x12\x7f\n\x04Stop\x12".viam.component.arm.v1.StopRequest\x1a#.viam.component.arm.v1.StopResponse".\x82\xd3\xe4\x93\x02("&/viam/api/v1/component/arm/{name}/stop\x12\x90\x01\n\x08IsMoving\x12&.viam.component.arm.v1.IsMovingRequest\x1a\'.viam.component.arm.v1.IsMovingResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/arm/{name}/is_moving\x12\x86\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"4\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/arm/{name}/do_command\x12\x92\x01\n\rGetKinematics\x12$.viam.common.v1.GetKinematicsRequest\x1a%.viam.common.v1.GetKinematicsResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/kinematics\x12\x92\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/geometriesB=\n\x19com.viam.component.arm.v1Z go.viam.com/api/component/arm/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1acomponent/arm/v1/arm.proto\x12\x15viam.component.arm.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"Z\n\x15GetEndPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x16GetEndPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose"(\n\x0eJointPositions\x12\x16\n\x06values\x18\x01 \x03(\x01R\x06values"]\n\x18GetJointPositionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x19GetJointPositionsResponse\x12C\n\tpositions\x18\x01 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\tpositions"\x80\x01\n\x15MoveToPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12$\n\x02to\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x02to\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16MoveToPositionResponse"\xa5\x01\n\x1bMoveToJointPositionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\tpositions\x18\x02 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\tpositions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x1e\n\x1cMoveToJointPositionsResponse"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"\xae\x01\n\x06Status\x127\n\x0cend_position\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bendPosition\x12N\n\x0fjoint_positions\x18\x02 \x01(\x0b2%.viam.component.arm.v1.JointPositionsR\x0ejointPositions\x12\x1b\n\tis_moving\x18\x03 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x94\x0b\n\nArmService\x12\xa1\x01\n\x0eGetEndPosition\x12,.viam.component.arm.v1.GetEndPositionRequest\x1a-.viam.component.arm.v1.GetEndPositionResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/arm/{name}/position\x12\xa5\x01\n\x0eMoveToPosition\x12,.viam.component.arm.v1.MoveToPositionRequest\x1a-.viam.component.arm.v1.MoveToPositionResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/arm/{name}/position\x12\xb1\x01\n\x11GetJointPositions\x12/.viam.component.arm.v1.GetJointPositionsRequest\x1a0.viam.component.arm.v1.GetJointPositionsResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/arm/{name}/joint_positions\x12\xbe\x01\n\x14MoveToJointPositions\x122.viam.component.arm.v1.MoveToJointPositionsRequest\x1a3.viam.component.arm.v1.MoveToJointPositionsResponse"=\xa0\x92)\x01\x82\xd3\xe4\x93\x023\x1a1/viam/api/v1/component/arm/{name}/joint_positions\x12\x7f\n\x04Stop\x12".viam.component.arm.v1.StopRequest\x1a#.viam.component.arm.v1.StopResponse".\x82\xd3\xe4\x93\x02("&/viam/api/v1/component/arm/{name}/stop\x12\x90\x01\n\x08IsMoving\x12&.viam.component.arm.v1.IsMovingRequest\x1a\'.viam.component.arm.v1.IsMovingResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/arm/{name}/is_moving\x12\x86\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"4\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/arm/{name}/do_command\x12\x92\x01\n\rGetKinematics\x12$.viam.common.v1.GetKinematicsRequest\x1a%.viam.common.v1.GetKinematicsResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/kinematics\x12\x92\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/geometriesB=\n\x19com.viam.component.arm.v1Z go.viam.com/api/component/arm/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.arm.v1.arm_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.arm.v1.arm_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x19com.viam.component.arm.v1Z go.viam.com/api/component/arm/v1' - _ARMSERVICE.methods_by_name['GetEndPosition']._options = None - _ARMSERVICE.methods_by_name['GetEndPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/arm/{name}/position' - _ARMSERVICE.methods_by_name['MoveToPosition']._options = None - _ARMSERVICE.methods_by_name['MoveToPosition']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/arm/{name}/position' - _ARMSERVICE.methods_by_name['GetJointPositions']._options = None - _ARMSERVICE.methods_by_name['GetJointPositions']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/arm/{name}/joint_positions' - _ARMSERVICE.methods_by_name['MoveToJointPositions']._options = None - _ARMSERVICE.methods_by_name['MoveToJointPositions']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x023\x1a1/viam/api/v1/component/arm/{name}/joint_positions' - _ARMSERVICE.methods_by_name['Stop']._options = None - _ARMSERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02("&/viam/api/v1/component/arm/{name}/stop' - _ARMSERVICE.methods_by_name['IsMoving']._options = None - _ARMSERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/arm/{name}/is_moving' - _ARMSERVICE.methods_by_name['DoCommand']._options = None - _ARMSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/arm/{name}/do_command' - _ARMSERVICE.methods_by_name['GetKinematics']._options = None - _ARMSERVICE.methods_by_name['GetKinematics']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/kinematics' - _ARMSERVICE.methods_by_name['GetGeometries']._options = None - _ARMSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x19com.viam.component.arm.v1Z go.viam.com/api/component/arm/v1" + ) + _ARMSERVICE.methods_by_name["GetEndPosition"]._options = None + _ARMSERVICE.methods_by_name[ + "GetEndPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/arm/{name}/position" + ) + _ARMSERVICE.methods_by_name["MoveToPosition"]._options = None + _ARMSERVICE.methods_by_name[ + "MoveToPosition" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/arm/{name}/position" + _ARMSERVICE.methods_by_name["GetJointPositions"]._options = None + _ARMSERVICE.methods_by_name[ + "GetJointPositions" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/arm/{name}/joint_positions" + ) + _ARMSERVICE.methods_by_name["MoveToJointPositions"]._options = None + _ARMSERVICE.methods_by_name[ + "MoveToJointPositions" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x023\x1a1/viam/api/v1/component/arm/{name}/joint_positions" + _ARMSERVICE.methods_by_name["Stop"]._options = None + _ARMSERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02("&/viam/api/v1/component/arm/{name}/stop' + ) + _ARMSERVICE.methods_by_name["IsMoving"]._options = None + _ARMSERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/arm/{name}/is_moving" + ) + _ARMSERVICE.methods_by_name["DoCommand"]._options = None + _ARMSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/arm/{name}/do_command' + ) + _ARMSERVICE.methods_by_name["GetKinematics"]._options = None + _ARMSERVICE.methods_by_name[ + "GetKinematics" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/kinematics" + ) + _ARMSERVICE.methods_by_name["GetGeometries"]._options = None + _ARMSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/arm/{name}/geometries" + ) _GETENDPOSITIONREQUEST._serialized_start = 137 _GETENDPOSITIONREQUEST._serialized_end = 227 _GETENDPOSITIONRESPONSE._serialized_start = 229 @@ -60,4 +101,4 @@ _ISMOVINGRESPONSE._serialized_start = 1203 _ISMOVINGRESPONSE._serialized_end = 1250 _ARMSERVICE._serialized_start = 1253 - _ARMSERVICE._serialized_end = 2681 \ No newline at end of file + _ARMSERVICE._serialized_end = 2681 diff --git a/src/viam/gen/component/arm/v1/arm_pb2.pyi b/src/viam/gen/component/arm/v1/arm_pb2.pyi index c41b5a5be..30a34b60a 100644 --- a/src/viam/gen/component/arm/v1/arm_pb2.pyi +++ b/src/viam/gen/component/arm/v1/arm_pb2.pyi @@ -4,12 +4,15 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 -import sys + +from .... import common + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -22,20 +25,25 @@ class GetEndPositionRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an arm' + "Name of an arm" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetEndPositionRequest = GetEndPositionRequest @typing_extensions.final @@ -49,14 +57,14 @@ class GetEndPositionResponse(google.protobuf.message.Message): millimeters and theta, ox, oy, oz coordinates which express an orientation vector """ - def __init__(self, *, pose: common.v1.common_pb2.Pose | None=...) -> None: - ... + def __init__(self, *, pose: common.v1.common_pb2.Pose | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> None: - ... global___GetEndPositionResponse = GetEndPositionResponse @typing_extensions.final @@ -65,17 +73,23 @@ class JointPositions(google.protobuf.message.Message): VALUES_FIELD_NUMBER: builtins.int @property - def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: + def values( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: """A list of joint positions. Rotations values are in degrees, translational values in mm. The numbers are ordered spatially from the base toward the end effector This is used in GetJointPositionsResponse and MoveToJointPositionsRequest """ - def __init__(self, *, values: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... + def __init__( + self, *, values: collections.abc.Iterable[builtins.float] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["values", b"values"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['values', b'values']) -> None: - ... global___JointPositions = JointPositions @typing_extensions.final @@ -84,20 +98,25 @@ class GetJointPositionsRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an arm' + "Name of an arm" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetJointPositionsRequest = GetJointPositionsRequest @typing_extensions.final @@ -109,14 +128,14 @@ class GetJointPositionsResponse(google.protobuf.message.Message): def positions(self) -> global___JointPositions: """a list JointPositions""" - def __init__(self, *, positions: global___JointPositions | None=...) -> None: - ... + def __init__(self, *, positions: global___JointPositions | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["positions", b"positions"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["positions", b"positions"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['positions', b'positions']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['positions', b'positions']) -> None: - ... global___GetJointPositionsResponse = GetJointPositionsResponse @typing_extensions.final @@ -125,12 +144,13 @@ class MoveToPositionRequest(google.protobuf.message.Message): Move request in Motion API has the same behavior except that it performs obstacle avoidance when a world_state message is specified. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int TO_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an arm' + "Name of an arm" @property def to(self) -> common.v1.common_pb2.Pose: @@ -140,22 +160,31 @@ class MoveToPositionRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., to: common.v1.common_pb2.Pose | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'to', b'to']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + to: common.v1.common_pb2.Pose | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra", "to", b"to"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "to", b"to" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'to', b'to']) -> None: - ... global___MoveToPositionRequest = MoveToPositionRequest @typing_extensions.final class MoveToPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MoveToPositionResponse = MoveToPositionResponse @typing_extensions.final @@ -165,7 +194,7 @@ class MoveToJointPositionsRequest(google.protobuf.message.Message): POSITIONS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an arm' + "Name of an arm" @property def positions(self) -> global___JointPositions: @@ -177,22 +206,34 @@ class MoveToJointPositionsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., positions: global___JointPositions | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'positions', b'positions']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + positions: global___JointPositions | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "positions", b"positions" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "positions", b"positions" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'positions', b'positions']) -> None: - ... global___MoveToJointPositionsRequest = MoveToJointPositionsRequest @typing_extensions.final class MoveToJointPositionsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MoveToJointPositionsResponse = MoveToJointPositionsResponse @typing_extensions.final @@ -201,28 +242,33 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an arm' + "Name of an arm" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -233,22 +279,36 @@ class Status(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int @property - def end_position(self) -> common.v1.common_pb2.Pose: - ... - + def end_position(self) -> common.v1.common_pb2.Pose: ... @property - def joint_positions(self) -> global___JointPositions: - ... + def joint_positions(self) -> global___JointPositions: ... is_moving: builtins.bool - def __init__(self, *, end_position: common.v1.common_pb2.Pose | None=..., joint_positions: global___JointPositions | None=..., is_moving: builtins.bool=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['end_position', b'end_position', 'joint_positions', b'joint_positions']) -> builtins.bool: - ... + def __init__( + self, + *, + end_position: common.v1.common_pb2.Pose | None = ..., + joint_positions: global___JointPositions | None = ..., + is_moving: builtins.bool = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "end_position", b"end_position", "joint_positions", b"joint_positions" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "end_position", + b"end_position", + "is_moving", + b"is_moving", + "joint_positions", + b"joint_positions", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['end_position', b'end_position', 'is_moving', b'is_moving', 'joint_positions', b'joint_positions']) -> None: - ... global___Status = Status @typing_extensions.final @@ -257,11 +317,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -270,9 +330,9 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... -global___IsMovingResponse = IsMovingResponse \ No newline at end of file +global___IsMovingResponse = IsMovingResponse diff --git a/src/viam/gen/component/audioinput/v1/audioinput_grpc.py b/src/viam/gen/component/audioinput/v1/audioinput_grpc.py index 73a4ae088..537711ac2 100644 --- a/src/viam/gen/component/audioinput/v1/audioinput_grpc.py +++ b/src/viam/gen/component/audioinput/v1/audioinput_grpc.py @@ -1,45 +1,118 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.api.httpbody_pb2 import google.protobuf.duration_pb2 -from .... import component -class AudioInputServiceBase(abc.ABC): +from .... import common, component + +class AudioInputServiceBase(abc.ABC): @abc.abstractmethod - async def Chunks(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse]') -> None: + async def Chunks( + self, + stream: "grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse]", + ) -> None: pass @abc.abstractmethod - async def Properties(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse]') -> None: + async def Properties( + self, + stream: "grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def Record(self, stream: 'grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody]') -> None: + async def Record( + self, + stream: "grpclib.server.Stream[component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.audioinput.v1.AudioInputService/Chunks': grpclib.const.Handler(self.Chunks, grpclib.const.Cardinality.UNARY_STREAM, component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse), '/viam.component.audioinput.v1.AudioInputService/Properties': grpclib.const.Handler(self.Properties, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse), '/viam.component.audioinput.v1.AudioInputService/Record': grpclib.const.Handler(self.Record, grpclib.const.Cardinality.UNARY_UNARY, component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody), '/viam.component.audioinput.v1.AudioInputService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.audioinput.v1.AudioInputService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.audioinput.v1.AudioInputService/Chunks": grpclib.const.Handler( + self.Chunks, + grpclib.const.Cardinality.UNARY_STREAM, + component.audioinput.v1.audioinput_pb2.ChunksRequest, + component.audioinput.v1.audioinput_pb2.ChunksResponse, + ), + "/viam.component.audioinput.v1.AudioInputService/Properties": grpclib.const.Handler( + self.Properties, + grpclib.const.Cardinality.UNARY_UNARY, + component.audioinput.v1.audioinput_pb2.PropertiesRequest, + component.audioinput.v1.audioinput_pb2.PropertiesResponse, + ), + "/viam.component.audioinput.v1.AudioInputService/Record": grpclib.const.Handler( + self.Record, + grpclib.const.Cardinality.UNARY_UNARY, + component.audioinput.v1.audioinput_pb2.RecordRequest, + google.api.httpbody_pb2.HttpBody, + ), + "/viam.component.audioinput.v1.AudioInputService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.audioinput.v1.AudioInputService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class AudioInputServiceStub: +class AudioInputServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Chunks = grpclib.client.UnaryStreamMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Chunks', component.audioinput.v1.audioinput_pb2.ChunksRequest, component.audioinput.v1.audioinput_pb2.ChunksResponse) - self.Properties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Properties', component.audioinput.v1.audioinput_pb2.PropertiesRequest, component.audioinput.v1.audioinput_pb2.PropertiesResponse) - self.Record = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/Record', component.audioinput.v1.audioinput_pb2.RecordRequest, google.api.httpbody_pb2.HttpBody) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.audioinput.v1.AudioInputService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.Chunks = grpclib.client.UnaryStreamMethod( + channel, + "/viam.component.audioinput.v1.AudioInputService/Chunks", + component.audioinput.v1.audioinput_pb2.ChunksRequest, + component.audioinput.v1.audioinput_pb2.ChunksResponse, + ) + self.Properties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.audioinput.v1.AudioInputService/Properties", + component.audioinput.v1.audioinput_pb2.PropertiesRequest, + component.audioinput.v1.audioinput_pb2.PropertiesResponse, + ) + self.Record = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.audioinput.v1.AudioInputService/Record", + component.audioinput.v1.audioinput_pb2.RecordRequest, + google.api.httpbody_pb2.HttpBody, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.audioinput.v1.AudioInputService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.audioinput.v1.AudioInputService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/audioinput/v1/audioinput_pb2.py b/src/viam/gen/component/audioinput/v1/audioinput_pb2.py index 4f29ea64e..c3440e994 100644 --- a/src/viam/gen/component/audioinput/v1/audioinput_pb2.py +++ b/src/viam/gen/component/audioinput/v1/audioinput_pb2.py @@ -1,27 +1,52 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.api import httpbody_pb2 as google_dot_api_dot_httpbody__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(component/audioinput/v1/audioinput.proto\x12\x1cviam.component.audioinput.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1egoogle/protobuf/duration.proto"Z\n\rRecordRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x125\n\x08duration\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x08duration"\xa2\x01\n\x0eAudioChunkInfo\x12O\n\rsample_format\x18\x01 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat\x12\x1a\n\x08channels\x18\x02 \x01(\rR\x08channels\x12#\n\rsampling_rate\x18\x03 \x01(\x03R\x0csamplingRate"8\n\nAudioChunk\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length"t\n\rChunksRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12O\n\rsample_format\x18\x02 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat"\x9e\x01\n\x0eChunksResponse\x12B\n\x04info\x18\x01 \x01(\x0b2,.viam.component.audioinput.v1.AudioChunkInfoH\x00R\x04info\x12@\n\x05chunk\x18\x02 \x01(\x0b2(.viam.component.audioinput.v1.AudioChunkH\x00R\x05chunkB\x06\n\x04type"\'\n\x11PropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x96\x02\n\x12PropertiesResponse\x12#\n\rchannel_count\x18\x01 \x01(\rR\x0cchannelCount\x123\n\x07latency\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x07latency\x12\x1f\n\x0bsample_rate\x18\x03 \x01(\rR\nsampleRate\x12\x1f\n\x0bsample_size\x18\x04 \x01(\rR\nsampleSize\x12"\n\ris_big_endian\x18\x05 \x01(\x08R\x0bisBigEndian\x12\x19\n\x08is_float\x18\x06 \x01(\x08R\x07isFloat\x12%\n\x0eis_interleaved\x18\x07 \x01(\x08R\risInterleaved*y\n\x0cSampleFormat\x12\x1d\n\x19SAMPLE_FORMAT_UNSPECIFIED\x10\x00\x12#\n\x1fSAMPLE_FORMAT_INT16_INTERLEAVED\x10\x01\x12%\n!SAMPLE_FORMAT_FLOAT32_INTERLEAVED\x10\x022\xdc\x05\n\x11AudioInputService\x12e\n\x06Chunks\x12+.viam.component.audioinput.v1.ChunksRequest\x1a,.viam.component.audioinput.v1.ChunksResponse0\x01\x12\xac\x01\n\nProperties\x12/.viam.component.audioinput.v1.PropertiesRequest\x1a0.viam.component.audioinput.v1.PropertiesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties\x12\x84\x01\n\x06Record\x12+.viam.component.audioinput.v1.RecordRequest\x1a\x14.google.api.HttpBody"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record\x12\x8d\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse";\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command\x12\x99\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometriesBK\n com.viam.component.audioinput.v1Z\'go.viam.com/api/component/audioinput/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n(component/audioinput/v1/audioinput.proto\x12\x1cviam.component.audioinput.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1egoogle/protobuf/duration.proto"Z\n\rRecordRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x125\n\x08duration\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x08duration"\xa2\x01\n\x0eAudioChunkInfo\x12O\n\rsample_format\x18\x01 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat\x12\x1a\n\x08channels\x18\x02 \x01(\rR\x08channels\x12#\n\rsampling_rate\x18\x03 \x01(\x03R\x0csamplingRate"8\n\nAudioChunk\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x16\n\x06length\x18\x02 \x01(\rR\x06length"t\n\rChunksRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12O\n\rsample_format\x18\x02 \x01(\x0e2*.viam.component.audioinput.v1.SampleFormatR\x0csampleFormat"\x9e\x01\n\x0eChunksResponse\x12B\n\x04info\x18\x01 \x01(\x0b2,.viam.component.audioinput.v1.AudioChunkInfoH\x00R\x04info\x12@\n\x05chunk\x18\x02 \x01(\x0b2(.viam.component.audioinput.v1.AudioChunkH\x00R\x05chunkB\x06\n\x04type"\'\n\x11PropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x96\x02\n\x12PropertiesResponse\x12#\n\rchannel_count\x18\x01 \x01(\rR\x0cchannelCount\x123\n\x07latency\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x07latency\x12\x1f\n\x0bsample_rate\x18\x03 \x01(\rR\nsampleRate\x12\x1f\n\x0bsample_size\x18\x04 \x01(\rR\nsampleSize\x12"\n\ris_big_endian\x18\x05 \x01(\x08R\x0bisBigEndian\x12\x19\n\x08is_float\x18\x06 \x01(\x08R\x07isFloat\x12%\n\x0eis_interleaved\x18\x07 \x01(\x08R\risInterleaved*y\n\x0cSampleFormat\x12\x1d\n\x19SAMPLE_FORMAT_UNSPECIFIED\x10\x00\x12#\n\x1fSAMPLE_FORMAT_INT16_INTERLEAVED\x10\x01\x12%\n!SAMPLE_FORMAT_FLOAT32_INTERLEAVED\x10\x022\xdc\x05\n\x11AudioInputService\x12e\n\x06Chunks\x12+.viam.component.audioinput.v1.ChunksRequest\x1a,.viam.component.audioinput.v1.ChunksResponse0\x01\x12\xac\x01\n\nProperties\x12/.viam.component.audioinput.v1.PropertiesRequest\x1a0.viam.component.audioinput.v1.PropertiesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties\x12\x84\x01\n\x06Record\x12+.viam.component.audioinput.v1.RecordRequest\x1a\x14.google.api.HttpBody"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record\x12\x8d\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse";\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command\x12\x99\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometriesBK\n com.viam.component.audioinput.v1Z\'go.viam.com/api/component/audioinput/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.audioinput.v1.audioinput_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.audioinput.v1.audioinput_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b"\n com.viam.component.audioinput.v1Z'go.viam.com/api/component/audioinput/v1" - _AUDIOINPUTSERVICE.methods_by_name['Properties']._options = None - _AUDIOINPUTSERVICE.methods_by_name['Properties']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties' - _AUDIOINPUTSERVICE.methods_by_name['Record']._options = None - _AUDIOINPUTSERVICE.methods_by_name['Record']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record' - _AUDIOINPUTSERVICE.methods_by_name['DoCommand']._options = None - _AUDIOINPUTSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command' - _AUDIOINPUTSERVICE.methods_by_name['GetGeometries']._options = None - _AUDIOINPUTSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n com.viam.component.audioinput.v1Z'go.viam.com/api/component/audioinput/v1" + ) + _AUDIOINPUTSERVICE.methods_by_name["Properties"]._options = None + _AUDIOINPUTSERVICE.methods_by_name[ + "Properties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/properties" + ) + _AUDIOINPUTSERVICE.methods_by_name["Record"]._options = None + _AUDIOINPUTSERVICE.methods_by_name[ + "Record" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/audioinput/{name}/record" + ) + _AUDIOINPUTSERVICE.methods_by_name["DoCommand"]._options = None + _AUDIOINPUTSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x025"3/viam/api/v1/component/audioinput/{name}/do_command' + ) + _AUDIOINPUTSERVICE.methods_by_name["GetGeometries"]._options = None + _AUDIOINPUTSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/audioinput/{name}/geometries" + ) _SAMPLEFORMAT._serialized_start = 1103 _SAMPLEFORMAT._serialized_end = 1224 _RECORDREQUEST._serialized_start = 187 @@ -39,4 +64,4 @@ _PROPERTIESRESPONSE._serialized_start = 823 _PROPERTIESRESPONSE._serialized_end = 1101 _AUDIOINPUTSERVICE._serialized_start = 1227 - _AUDIOINPUTSERVICE._serialized_end = 1959 \ No newline at end of file + _AUDIOINPUTSERVICE._serialized_end = 1959 diff --git a/src/viam/gen/component/audioinput/v1/audioinput_pb2.pyi b/src/viam/gen/component/audioinput/v1/audioinput_pb2.pyi index 11c95fb10..05b44cbfb 100644 --- a/src/viam/gen/component/audioinput/v1/audioinput_pb2.pyi +++ b/src/viam/gen/component/audioinput/v1/audioinput_pb2.pyi @@ -3,12 +3,14 @@ isort:skip_file """ import builtins +import sys +import typing + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.enum_type_wrapper import google.protobuf.message -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -16,17 +18,22 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _SampleFormat: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _SampleFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_SampleFormat.ValueType], builtins.type): +class _SampleFormatEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _SampleFormat.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor SAMPLE_FORMAT_UNSPECIFIED: _SampleFormat.ValueType SAMPLE_FORMAT_INT16_INTERLEAVED: _SampleFormat.ValueType SAMPLE_FORMAT_FLOAT32_INTERLEAVED: _SampleFormat.ValueType -class SampleFormat(_SampleFormat, metaclass=_SampleFormatEnumTypeWrapper): - ... +class SampleFormat(_SampleFormat, metaclass=_SampleFormatEnumTypeWrapper): ... + SAMPLE_FORMAT_UNSPECIFIED: SampleFormat.ValueType SAMPLE_FORMAT_INT16_INTERLEAVED: SampleFormat.ValueType SAMPLE_FORMAT_FLOAT32_INTERLEAVED: SampleFormat.ValueType @@ -38,20 +45,24 @@ class RecordRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int DURATION_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an audio input' + "Name of an audio input" @property - def duration(self) -> google.protobuf.duration_pb2.Duration: - ... - - def __init__(self, *, name: builtins.str=..., duration: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... + def duration(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__( + self, + *, + name: builtins.str = ..., + duration: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["duration", b"duration"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["duration", b"duration", "name", b"name"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['duration', b'duration']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['duration', b'duration', 'name', b'name']) -> None: - ... global___RecordRequest = RecordRequest @typing_extensions.final @@ -61,15 +72,29 @@ class AudioChunkInfo(google.protobuf.message.Message): CHANNELS_FIELD_NUMBER: builtins.int SAMPLING_RATE_FIELD_NUMBER: builtins.int sample_format: global___SampleFormat.ValueType - 'Actual sample encoding format of the response' + "Actual sample encoding format of the response" channels: builtins.int sampling_rate: builtins.int - def __init__(self, *, sample_format: global___SampleFormat.ValueType=..., channels: builtins.int=..., sampling_rate: builtins.int=...) -> None: - ... + def __init__( + self, + *, + sample_format: global___SampleFormat.ValueType = ..., + channels: builtins.int = ..., + sampling_rate: builtins.int = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "channels", + b"channels", + "sample_format", + b"sample_format", + "sampling_rate", + b"sampling_rate", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['channels', b'channels', 'sample_format', b'sample_format', 'sampling_rate', b'sampling_rate']) -> None: - ... global___AudioChunkInfo = AudioChunkInfo @typing_extensions.final @@ -78,15 +103,18 @@ class AudioChunk(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int LENGTH_FIELD_NUMBER: builtins.int data: builtins.bytes - 'Data is PCM data that is organized according to the sample format\n along with its possible interleaving. Data in each format is\n Little Endian.\n ' + "Data is PCM data that is organized according to the sample format\n along with its possible interleaving. Data in each format is\n Little Endian.\n " length: builtins.int - 'Length is the number of samples' + "Length is the number of samples" - def __init__(self, *, data: builtins.bytes=..., length: builtins.int=...) -> None: - ... + def __init__( + self, *, data: builtins.bytes = ..., length: builtins.int = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["data", b"data", "length", b"length"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data', 'length', b'length']) -> None: - ... global___AudioChunk = AudioChunk @typing_extensions.final @@ -95,15 +123,23 @@ class ChunksRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int SAMPLE_FORMAT_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an audio input' + "Name of an audio input" sample_format: global___SampleFormat.ValueType - 'Requested sample encoding format of the response' - - def __init__(self, *, name: builtins.str=..., sample_format: global___SampleFormat.ValueType=...) -> None: - ... + "Requested sample encoding format of the response" + + def __init__( + self, + *, + name: builtins.str = ..., + sample_format: global___SampleFormat.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "name", b"name", "sample_format", b"sample_format" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'sample_format', b'sample_format']) -> None: - ... global___ChunksRequest = ChunksRequest @typing_extensions.final @@ -113,24 +149,31 @@ class ChunksResponse(google.protobuf.message.Message): CHUNK_FIELD_NUMBER: builtins.int @property - def info(self) -> global___AudioChunkInfo: - ... - + def info(self) -> global___AudioChunkInfo: ... @property - def chunk(self) -> global___AudioChunk: - ... - - def __init__(self, *, info: global___AudioChunkInfo | None=..., chunk: global___AudioChunk | None=...) -> None: - ... + def chunk(self) -> global___AudioChunk: ... + def __init__( + self, + *, + info: global___AudioChunkInfo | None = ..., + chunk: global___AudioChunk | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "chunk", b"chunk", "info", b"info", "type", b"type" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "chunk", b"chunk", "info", b"info", "type", b"type" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["type", b"type"] + ) -> typing_extensions.Literal["info", "chunk"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['chunk', b'chunk', 'info', b'info', 'type', b'type']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['info', 'chunk'] | None: - ... global___ChunksResponse = ChunksResponse @typing_extensions.final @@ -138,13 +181,13 @@ class PropertiesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an audio input' + "Name of an audio input" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___PropertiesRequest = PropertiesRequest @typing_extensions.final @@ -160,20 +203,45 @@ class PropertiesResponse(google.protobuf.message.Message): channel_count: builtins.int @property - def latency(self) -> google.protobuf.duration_pb2.Duration: - ... + def latency(self) -> google.protobuf.duration_pb2.Duration: ... sample_rate: builtins.int sample_size: builtins.int is_big_endian: builtins.bool is_float: builtins.bool is_interleaved: builtins.bool - def __init__(self, *, channel_count: builtins.int=..., latency: google.protobuf.duration_pb2.Duration | None=..., sample_rate: builtins.int=..., sample_size: builtins.int=..., is_big_endian: builtins.bool=..., is_float: builtins.bool=..., is_interleaved: builtins.bool=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['latency', b'latency']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['channel_count', b'channel_count', 'is_big_endian', b'is_big_endian', 'is_float', b'is_float', 'is_interleaved', b'is_interleaved', 'latency', b'latency', 'sample_rate', b'sample_rate', 'sample_size', b'sample_size']) -> None: - ... -global___PropertiesResponse = PropertiesResponse \ No newline at end of file + def __init__( + self, + *, + channel_count: builtins.int = ..., + latency: google.protobuf.duration_pb2.Duration | None = ..., + sample_rate: builtins.int = ..., + sample_size: builtins.int = ..., + is_big_endian: builtins.bool = ..., + is_float: builtins.bool = ..., + is_interleaved: builtins.bool = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["latency", b"latency"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "channel_count", + b"channel_count", + "is_big_endian", + b"is_big_endian", + "is_float", + b"is_float", + "is_interleaved", + b"is_interleaved", + "latency", + b"latency", + "sample_rate", + b"sample_rate", + "sample_size", + b"sample_size", + ], + ) -> None: ... + +global___PropertiesResponse = PropertiesResponse diff --git a/src/viam/gen/component/base/v1/base_grpc.py b/src/viam/gen/component/base/v1/base_grpc.py index 524858ef2..5618fd3f9 100644 --- a/src/viam/gen/component/base/v1/base_grpc.py +++ b/src/viam/gen/component/base/v1/base_grpc.py @@ -1,64 +1,193 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class BaseServiceBase(abc.ABC): +from .... import common, component + +class BaseServiceBase(abc.ABC): @abc.abstractmethod - async def MoveStraight(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse]') -> None: + async def MoveStraight( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse]", + ) -> None: pass @abc.abstractmethod - async def Spin(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse]') -> None: + async def Spin( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse]", + ) -> None: pass @abc.abstractmethod - async def SetPower(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse]') -> None: + async def SetPower( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse]", + ) -> None: pass @abc.abstractmethod - async def SetVelocity(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse]') -> None: + async def SetVelocity( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.base.v1.BaseService/MoveStraight': grpclib.const.Handler(self.MoveStraight, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse), '/viam.component.base.v1.BaseService/Spin': grpclib.const.Handler(self.Spin, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse), '/viam.component.base.v1.BaseService/SetPower': grpclib.const.Handler(self.SetPower, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse), '/viam.component.base.v1.BaseService/SetVelocity': grpclib.const.Handler(self.SetVelocity, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse), '/viam.component.base.v1.BaseService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse), '/viam.component.base.v1.BaseService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse), '/viam.component.base.v1.BaseService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.base.v1.BaseService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse), '/viam.component.base.v1.BaseService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse)} + return { + "/viam.component.base.v1.BaseService/MoveStraight": grpclib.const.Handler( + self.MoveStraight, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.MoveStraightRequest, + component.base.v1.base_pb2.MoveStraightResponse, + ), + "/viam.component.base.v1.BaseService/Spin": grpclib.const.Handler( + self.Spin, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.SpinRequest, + component.base.v1.base_pb2.SpinResponse, + ), + "/viam.component.base.v1.BaseService/SetPower": grpclib.const.Handler( + self.SetPower, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.SetPowerRequest, + component.base.v1.base_pb2.SetPowerResponse, + ), + "/viam.component.base.v1.BaseService/SetVelocity": grpclib.const.Handler( + self.SetVelocity, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.SetVelocityRequest, + component.base.v1.base_pb2.SetVelocityResponse, + ), + "/viam.component.base.v1.BaseService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.StopRequest, + component.base.v1.base_pb2.StopResponse, + ), + "/viam.component.base.v1.BaseService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.IsMovingRequest, + component.base.v1.base_pb2.IsMovingResponse, + ), + "/viam.component.base.v1.BaseService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.base.v1.BaseService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + "/viam.component.base.v1.BaseService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + component.base.v1.base_pb2.GetPropertiesRequest, + component.base.v1.base_pb2.GetPropertiesResponse, + ), + } -class BaseServiceStub: +class BaseServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.MoveStraight = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/MoveStraight', component.base.v1.base_pb2.MoveStraightRequest, component.base.v1.base_pb2.MoveStraightResponse) - self.Spin = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/Spin', component.base.v1.base_pb2.SpinRequest, component.base.v1.base_pb2.SpinResponse) - self.SetPower = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/SetPower', component.base.v1.base_pb2.SetPowerRequest, component.base.v1.base_pb2.SetPowerResponse) - self.SetVelocity = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/SetVelocity', component.base.v1.base_pb2.SetVelocityRequest, component.base.v1.base_pb2.SetVelocityResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/Stop', component.base.v1.base_pb2.StopRequest, component.base.v1.base_pb2.StopResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/IsMoving', component.base.v1.base_pb2.IsMovingRequest, component.base.v1.base_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.base.v1.BaseService/GetProperties', component.base.v1.base_pb2.GetPropertiesRequest, component.base.v1.base_pb2.GetPropertiesResponse) \ No newline at end of file + self.MoveStraight = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/MoveStraight", + component.base.v1.base_pb2.MoveStraightRequest, + component.base.v1.base_pb2.MoveStraightResponse, + ) + self.Spin = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/Spin", + component.base.v1.base_pb2.SpinRequest, + component.base.v1.base_pb2.SpinResponse, + ) + self.SetPower = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/SetPower", + component.base.v1.base_pb2.SetPowerRequest, + component.base.v1.base_pb2.SetPowerResponse, + ) + self.SetVelocity = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/SetVelocity", + component.base.v1.base_pb2.SetVelocityRequest, + component.base.v1.base_pb2.SetVelocityResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/Stop", + component.base.v1.base_pb2.StopRequest, + component.base.v1.base_pb2.StopResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/IsMoving", + component.base.v1.base_pb2.IsMovingRequest, + component.base.v1.base_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.base.v1.BaseService/GetProperties", + component.base.v1.base_pb2.GetPropertiesRequest, + component.base.v1.base_pb2.GetPropertiesResponse, + ) diff --git a/src/viam/gen/component/base/v1/base_pb2.py b/src/viam/gen/component/base/v1/base_pb2.py index 7b066c97e..66002d815 100644 --- a/src/viam/gen/component/base/v1/base_pb2.py +++ b/src/viam/gen/component/base/v1/base_pb2.py @@ -1,36 +1,75 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ccomponent/base/v1/base.proto\x12\x16viam.component.base.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\x97\x01\n\x13MoveStraightRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bdistance_mm\x18\x02 \x01(\x03R\ndistanceMm\x12\x1c\n\nmm_per_sec\x18\x03 \x01(\x01R\x08mmPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x16\n\x14MoveStraightResponse"\x8f\x01\n\x0bSpinRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tangle_deg\x18\x02 \x01(\x01R\x08angleDeg\x12 \n\x0cdegs_per_sec\x18\x03 \x01(\x01R\ndegsPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSpinResponse"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"\xb8\x01\n\x0fSetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06linear\x18\x02 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06linear\x121\n\x07angular\x18\x03 \x01(\x0b2\x17.viam.common.v1.Vector3R\x07angular\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10SetPowerResponse"\xbb\x01\n\x12SetVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06linear\x18\x02 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06linear\x121\n\x07angular\x18\x03 \x01(\x0b2\x17.viam.common.v1.Vector3R\x07angular\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13SetVelocityResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xac\x01\n\x15GetPropertiesResponse\x12!\n\x0cwidth_meters\x18\x01 \x01(\x01R\x0bwidthMeters\x122\n\x15turning_radius_meters\x18\x02 \x01(\x01R\x13turningRadiusMeters\x12<\n\x1awheel_circumference_meters\x18\x03 \x01(\x01R\x18wheelCircumferenceMeters2\xe1\n\n\x0bBaseService\x12\xa7\x01\n\x0cMoveStraight\x12+.viam.component.base.v1.MoveStraightRequest\x1a,.viam.component.base.v1.MoveStraightResponse"<\xa0\x92)\x01\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/base/{name}/move_straight\x12\x86\x01\n\x04Spin\x12#.viam.component.base.v1.SpinRequest\x1a$.viam.component.base.v1.SpinResponse"3\xa0\x92)\x01\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/spin\x12\x97\x01\n\x08SetPower\x12\'.viam.component.base.v1.SetPowerRequest\x1a(.viam.component.base.v1.SetPowerResponse"8\xa0\x92)\x01\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/base/{name}/set_power\x12\xa3\x01\n\x0bSetVelocity\x12*.viam.component.base.v1.SetVelocityRequest\x1a+.viam.component.base.v1.SetVelocityResponse";\xa0\x92)\x01\x82\xd3\xe4\x93\x021"//viam/api/v1/component/base/{name}/set_velocity\x12\x82\x01\n\x04Stop\x12#.viam.component.base.v1.StopRequest\x1a$.viam.component.base.v1.StopResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/stop\x12\x93\x01\n\x08IsMoving\x12\'.viam.component.base.v1.IsMovingRequest\x1a(.viam.component.base.v1.IsMovingResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/base/{name}/is_moving\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/component/base/{name}/do_command\x12\x93\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/geometries\x12\xa3\x01\n\rGetProperties\x12,.viam.component.base.v1.GetPropertiesRequest\x1a-.viam.component.base.v1.GetPropertiesResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/propertiesB?\n\x1acom.viam.component.base.v1Z!go.viam.com/api/component/base/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1ccomponent/base/v1/base.proto\x12\x16viam.component.base.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\x97\x01\n\x13MoveStraightRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bdistance_mm\x18\x02 \x01(\x03R\ndistanceMm\x12\x1c\n\nmm_per_sec\x18\x03 \x01(\x01R\x08mmPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x16\n\x14MoveStraightResponse"\x8f\x01\n\x0bSpinRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tangle_deg\x18\x02 \x01(\x01R\x08angleDeg\x12 \n\x0cdegs_per_sec\x18\x03 \x01(\x01R\ndegsPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSpinResponse"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"\xb8\x01\n\x0fSetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06linear\x18\x02 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06linear\x121\n\x07angular\x18\x03 \x01(\x0b2\x17.viam.common.v1.Vector3R\x07angular\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10SetPowerResponse"\xbb\x01\n\x12SetVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12/\n\x06linear\x18\x02 \x01(\x0b2\x17.viam.common.v1.Vector3R\x06linear\x121\n\x07angular\x18\x03 \x01(\x0b2\x17.viam.common.v1.Vector3R\x07angular\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13SetVelocityResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xac\x01\n\x15GetPropertiesResponse\x12!\n\x0cwidth_meters\x18\x01 \x01(\x01R\x0bwidthMeters\x122\n\x15turning_radius_meters\x18\x02 \x01(\x01R\x13turningRadiusMeters\x12<\n\x1awheel_circumference_meters\x18\x03 \x01(\x01R\x18wheelCircumferenceMeters2\xe1\n\n\x0bBaseService\x12\xa7\x01\n\x0cMoveStraight\x12+.viam.component.base.v1.MoveStraightRequest\x1a,.viam.component.base.v1.MoveStraightResponse"<\xa0\x92)\x01\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/base/{name}/move_straight\x12\x86\x01\n\x04Spin\x12#.viam.component.base.v1.SpinRequest\x1a$.viam.component.base.v1.SpinResponse"3\xa0\x92)\x01\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/spin\x12\x97\x01\n\x08SetPower\x12\'.viam.component.base.v1.SetPowerRequest\x1a(.viam.component.base.v1.SetPowerResponse"8\xa0\x92)\x01\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/base/{name}/set_power\x12\xa3\x01\n\x0bSetVelocity\x12*.viam.component.base.v1.SetVelocityRequest\x1a+.viam.component.base.v1.SetVelocityResponse";\xa0\x92)\x01\x82\xd3\xe4\x93\x021"//viam/api/v1/component/base/{name}/set_velocity\x12\x82\x01\n\x04Stop\x12#.viam.component.base.v1.StopRequest\x1a$.viam.component.base.v1.StopResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/stop\x12\x93\x01\n\x08IsMoving\x12\'.viam.component.base.v1.IsMovingRequest\x1a(.viam.component.base.v1.IsMovingResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/base/{name}/is_moving\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/component/base/{name}/do_command\x12\x93\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/geometries\x12\xa3\x01\n\rGetProperties\x12,.viam.component.base.v1.GetPropertiesRequest\x1a-.viam.component.base.v1.GetPropertiesResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/propertiesB?\n\x1acom.viam.component.base.v1Z!go.viam.com/api/component/base/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.base.v1.base_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.base.v1.base_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1acom.viam.component.base.v1Z!go.viam.com/api/component/base/v1' - _BASESERVICE.methods_by_name['MoveStraight']._options = None - _BASESERVICE.methods_by_name['MoveStraight']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/base/{name}/move_straight' - _BASESERVICE.methods_by_name['Spin']._options = None - _BASESERVICE.methods_by_name['Spin']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/spin' - _BASESERVICE.methods_by_name['SetPower']._options = None - _BASESERVICE.methods_by_name['SetPower']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/base/{name}/set_power' - _BASESERVICE.methods_by_name['SetVelocity']._options = None - _BASESERVICE.methods_by_name['SetVelocity']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x021"//viam/api/v1/component/base/{name}/set_velocity' - _BASESERVICE.methods_by_name['Stop']._options = None - _BASESERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/component/base/{name}/stop' - _BASESERVICE.methods_by_name['IsMoving']._options = None - _BASESERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/base/{name}/is_moving' - _BASESERVICE.methods_by_name['DoCommand']._options = None - _BASESERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/component/base/{name}/do_command' - _BASESERVICE.methods_by_name['GetGeometries']._options = None - _BASESERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/geometries' - _BASESERVICE.methods_by_name['GetProperties']._options = None - _BASESERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/properties' + DESCRIPTOR._serialized_options = ( + b"\n\x1acom.viam.component.base.v1Z!go.viam.com/api/component/base/v1" + ) + _BASESERVICE.methods_by_name["MoveStraight"]._options = None + _BASESERVICE.methods_by_name[ + "MoveStraight" + ]._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/base/{name}/move_straight' + _BASESERVICE.methods_by_name["Spin"]._options = None + _BASESERVICE.methods_by_name[ + "Spin" + ]._serialized_options = ( + b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02)\"'/viam/api/v1/component/base/{name}/spin" + ) + _BASESERVICE.methods_by_name["SetPower"]._options = None + _BASESERVICE.methods_by_name[ + "SetPower" + ]._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02.",/viam/api/v1/component/base/{name}/set_power' + _BASESERVICE.methods_by_name["SetVelocity"]._options = None + _BASESERVICE.methods_by_name[ + "SetVelocity" + ]._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x021"//viam/api/v1/component/base/{name}/set_velocity' + _BASESERVICE.methods_by_name["Stop"]._options = None + _BASESERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\"'/viam/api/v1/component/base/{name}/stop" + ) + _BASESERVICE.methods_by_name["IsMoving"]._options = None + _BASESERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/base/{name}/is_moving" + ) + _BASESERVICE.methods_by_name["DoCommand"]._options = None + _BASESERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/component/base/{name}/do_command' + ) + _BASESERVICE.methods_by_name["GetGeometries"]._options = None + _BASESERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/geometries" + ) + _BASESERVICE.methods_by_name["GetProperties"]._options = None + _BASESERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/base/{name}/properties" + ) _MOVESTRAIGHTREQUEST._serialized_start = 141 _MOVESTRAIGHTREQUEST._serialized_end = 292 _MOVESTRAIGHTRESPONSE._serialized_start = 294 @@ -60,4 +99,4 @@ _GETPROPERTIESRESPONSE._serialized_start = 1178 _GETPROPERTIESRESPONSE._serialized_end = 1350 _BASESERVICE._serialized_start = 1353 - _BASESERVICE._serialized_end = 2730 \ No newline at end of file + _BASESERVICE._serialized_end = 2730 diff --git a/src/viam/gen/component/base/v1/base_pb2.pyi b/src/viam/gen/component/base/v1/base_pb2.pyi index b041f250f..accd7cf6f 100644 --- a/src/viam/gen/component/base/v1/base_pb2.pyi +++ b/src/viam/gen/component/base/v1/base_pb2.pyi @@ -3,11 +3,14 @@ isort:skip_file """ import builtins -from .... import common +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + +from .... import common + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -22,32 +25,49 @@ class MoveStraightRequest(google.protobuf.message.Message): MM_PER_SEC_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a base' + "Name of a base" distance_mm: builtins.int - 'Desired travel distance in millimeters' + "Desired travel distance in millimeters" mm_per_sec: builtins.float - 'Desired travel velocity in millimeters/second' + "Desired travel velocity in millimeters/second" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., distance_mm: builtins.int=..., mm_per_sec: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + distance_mm: builtins.int = ..., + mm_per_sec: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "distance_mm", + b"distance_mm", + "extra", + b"extra", + "mm_per_sec", + b"mm_per_sec", + "name", + b"name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['distance_mm', b'distance_mm', 'extra', b'extra', 'mm_per_sec', b'mm_per_sec', 'name', b'name']) -> None: - ... global___MoveStraightRequest = MoveStraightRequest @typing_extensions.final class MoveStraightResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MoveStraightResponse = MoveStraightResponse @typing_extensions.final @@ -58,32 +78,49 @@ class SpinRequest(google.protobuf.message.Message): DEGS_PER_SEC_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a base' + "Name of a base" angle_deg: builtins.float - 'Desired angle' + "Desired angle" degs_per_sec: builtins.float - 'Desired angular velocity' + "Desired angular velocity" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., angle_deg: builtins.float=..., degs_per_sec: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + angle_deg: builtins.float = ..., + degs_per_sec: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angle_deg", + b"angle_deg", + "degs_per_sec", + b"degs_per_sec", + "extra", + b"extra", + "name", + b"name", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['angle_deg', b'angle_deg', 'degs_per_sec', b'degs_per_sec', 'extra', b'extra', 'name', b'name']) -> None: - ... global___SpinRequest = SpinRequest @typing_extensions.final class SpinResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SpinResponse = SpinResponse @typing_extensions.final @@ -92,28 +129,33 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a base' + "Name of a base" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -124,7 +166,7 @@ class SetPowerRequest(google.protobuf.message.Message): ANGULAR_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a base' + "Name of a base" @property def linear(self) -> common.v1.common_pb2.Vector3: @@ -138,22 +180,42 @@ class SetPowerRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., linear: common.v1.common_pb2.Vector3 | None=..., angular: common.v1.common_pb2.Vector3 | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['angular', b'angular', 'extra', b'extra', 'linear', b'linear']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + linear: common.v1.common_pb2.Vector3 | None = ..., + angular: common.v1.common_pb2.Vector3 | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "angular", b"angular", "extra", b"extra", "linear", b"linear" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angular", + b"angular", + "extra", + b"extra", + "linear", + b"linear", + "name", + b"name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['angular', b'angular', 'extra', b'extra', 'linear', b'linear', 'name', b'name']) -> None: - ... global___SetPowerRequest = SetPowerRequest @typing_extensions.final class SetPowerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetPowerResponse = SetPowerResponse @typing_extensions.final @@ -164,7 +226,7 @@ class SetVelocityRequest(google.protobuf.message.Message): ANGULAR_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a base' + "Name of a base" @property def linear(self) -> common.v1.common_pb2.Vector3: @@ -178,22 +240,42 @@ class SetVelocityRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., linear: common.v1.common_pb2.Vector3 | None=..., angular: common.v1.common_pb2.Vector3 | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['angular', b'angular', 'extra', b'extra', 'linear', b'linear']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + linear: common.v1.common_pb2.Vector3 | None = ..., + angular: common.v1.common_pb2.Vector3 | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "angular", b"angular", "extra", b"extra", "linear", b"linear" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angular", + b"angular", + "extra", + b"extra", + "linear", + b"linear", + "name", + b"name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['angular', b'angular', 'extra', b'extra', 'linear', b'linear', 'name', b'name']) -> None: - ... global___SetVelocityRequest = SetVelocityRequest @typing_extensions.final class SetVelocityResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetVelocityResponse = SetVelocityResponse @typing_extensions.final @@ -202,11 +284,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -215,11 +297,11 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... global___IsMovingResponse = IsMovingResponse @typing_extensions.final @@ -228,20 +310,23 @@ class GetPropertiesRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the base' + "Name of the base" @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final @@ -254,9 +339,23 @@ class GetPropertiesResponse(google.protobuf.message.Message): turning_radius_meters: builtins.float wheel_circumference_meters: builtins.float - def __init__(self, *, width_meters: builtins.float=..., turning_radius_meters: builtins.float=..., wheel_circumference_meters: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['turning_radius_meters', b'turning_radius_meters', 'wheel_circumference_meters', b'wheel_circumference_meters', 'width_meters', b'width_meters']) -> None: - ... -global___GetPropertiesResponse = GetPropertiesResponse \ No newline at end of file + def __init__( + self, + *, + width_meters: builtins.float = ..., + turning_radius_meters: builtins.float = ..., + wheel_circumference_meters: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "turning_radius_meters", + b"turning_radius_meters", + "wheel_circumference_meters", + b"wheel_circumference_meters", + "width_meters", + b"width_meters", + ], + ) -> None: ... + +global___GetPropertiesResponse = GetPropertiesResponse diff --git a/src/viam/gen/component/board/v1/board_grpc.py b/src/viam/gen/component/board/v1/board_grpc.py index 939d0b63b..e0e0657f3 100644 --- a/src/viam/gen/component/board/v1/board_grpc.py +++ b/src/viam/gen/component/board/v1/board_grpc.py @@ -1,85 +1,270 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.duration_pb2 import google.protobuf.struct_pb2 -from .... import component -class BoardServiceBase(abc.ABC): +from .... import common, component + +class BoardServiceBase(abc.ABC): @abc.abstractmethod - async def Status(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse]') -> None: + async def Status( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse]", + ) -> None: pass @abc.abstractmethod - async def SetGPIO(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse]') -> None: + async def SetGPIO( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGPIO(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse]') -> None: + async def GetGPIO( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse]", + ) -> None: pass @abc.abstractmethod - async def PWM(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse]') -> None: + async def PWM( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse]", + ) -> None: pass @abc.abstractmethod - async def SetPWM(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse]') -> None: + async def SetPWM( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse]", + ) -> None: pass @abc.abstractmethod - async def PWMFrequency(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse]') -> None: + async def PWMFrequency( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse]", + ) -> None: pass @abc.abstractmethod - async def SetPWMFrequency(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse]') -> None: + async def SetPWMFrequency( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def ReadAnalogReader(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse]') -> None: + async def ReadAnalogReader( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse]", + ) -> None: pass @abc.abstractmethod - async def WriteAnalog(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse]') -> None: + async def WriteAnalog( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse]", + ) -> None: pass @abc.abstractmethod - async def GetDigitalInterruptValue(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse]') -> None: + async def GetDigitalInterruptValue( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse]", + ) -> None: pass @abc.abstractmethod - async def SetPowerMode(self, stream: 'grpclib.server.Stream[component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse]') -> None: + async def SetPowerMode( + self, + stream: "grpclib.server.Stream[component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.board.v1.BoardService/Status': grpclib.const.Handler(self.Status, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse), '/viam.component.board.v1.BoardService/SetGPIO': grpclib.const.Handler(self.SetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse), '/viam.component.board.v1.BoardService/GetGPIO': grpclib.const.Handler(self.GetGPIO, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse), '/viam.component.board.v1.BoardService/PWM': grpclib.const.Handler(self.PWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse), '/viam.component.board.v1.BoardService/SetPWM': grpclib.const.Handler(self.SetPWM, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse), '/viam.component.board.v1.BoardService/PWMFrequency': grpclib.const.Handler(self.PWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse), '/viam.component.board.v1.BoardService/SetPWMFrequency': grpclib.const.Handler(self.SetPWMFrequency, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse), '/viam.component.board.v1.BoardService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.board.v1.BoardService/ReadAnalogReader': grpclib.const.Handler(self.ReadAnalogReader, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse), '/viam.component.board.v1.BoardService/WriteAnalog': grpclib.const.Handler(self.WriteAnalog, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse), '/viam.component.board.v1.BoardService/GetDigitalInterruptValue': grpclib.const.Handler(self.GetDigitalInterruptValue, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse), '/viam.component.board.v1.BoardService/SetPowerMode': grpclib.const.Handler(self.SetPowerMode, grpclib.const.Cardinality.UNARY_UNARY, component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse), '/viam.component.board.v1.BoardService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.board.v1.BoardService/Status": grpclib.const.Handler( + self.Status, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.StatusRequest, + component.board.v1.board_pb2.StatusResponse, + ), + "/viam.component.board.v1.BoardService/SetGPIO": grpclib.const.Handler( + self.SetGPIO, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.SetGPIORequest, + component.board.v1.board_pb2.SetGPIOResponse, + ), + "/viam.component.board.v1.BoardService/GetGPIO": grpclib.const.Handler( + self.GetGPIO, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.GetGPIORequest, + component.board.v1.board_pb2.GetGPIOResponse, + ), + "/viam.component.board.v1.BoardService/PWM": grpclib.const.Handler( + self.PWM, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.PWMRequest, + component.board.v1.board_pb2.PWMResponse, + ), + "/viam.component.board.v1.BoardService/SetPWM": grpclib.const.Handler( + self.SetPWM, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.SetPWMRequest, + component.board.v1.board_pb2.SetPWMResponse, + ), + "/viam.component.board.v1.BoardService/PWMFrequency": grpclib.const.Handler( + self.PWMFrequency, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.PWMFrequencyRequest, + component.board.v1.board_pb2.PWMFrequencyResponse, + ), + "/viam.component.board.v1.BoardService/SetPWMFrequency": grpclib.const.Handler( + self.SetPWMFrequency, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.SetPWMFrequencyRequest, + component.board.v1.board_pb2.SetPWMFrequencyResponse, + ), + "/viam.component.board.v1.BoardService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.board.v1.BoardService/ReadAnalogReader": grpclib.const.Handler( + self.ReadAnalogReader, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.ReadAnalogReaderRequest, + component.board.v1.board_pb2.ReadAnalogReaderResponse, + ), + "/viam.component.board.v1.BoardService/WriteAnalog": grpclib.const.Handler( + self.WriteAnalog, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.WriteAnalogRequest, + component.board.v1.board_pb2.WriteAnalogResponse, + ), + "/viam.component.board.v1.BoardService/GetDigitalInterruptValue": grpclib.const.Handler( + self.GetDigitalInterruptValue, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.GetDigitalInterruptValueRequest, + component.board.v1.board_pb2.GetDigitalInterruptValueResponse, + ), + "/viam.component.board.v1.BoardService/SetPowerMode": grpclib.const.Handler( + self.SetPowerMode, + grpclib.const.Cardinality.UNARY_UNARY, + component.board.v1.board_pb2.SetPowerModeRequest, + component.board.v1.board_pb2.SetPowerModeResponse, + ), + "/viam.component.board.v1.BoardService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class BoardServiceStub: +class BoardServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Status = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/Status', component.board.v1.board_pb2.StatusRequest, component.board.v1.board_pb2.StatusResponse) - self.SetGPIO = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetGPIO', component.board.v1.board_pb2.SetGPIORequest, component.board.v1.board_pb2.SetGPIOResponse) - self.GetGPIO = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/GetGPIO', component.board.v1.board_pb2.GetGPIORequest, component.board.v1.board_pb2.GetGPIOResponse) - self.PWM = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/PWM', component.board.v1.board_pb2.PWMRequest, component.board.v1.board_pb2.PWMResponse) - self.SetPWM = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetPWM', component.board.v1.board_pb2.SetPWMRequest, component.board.v1.board_pb2.SetPWMResponse) - self.PWMFrequency = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/PWMFrequency', component.board.v1.board_pb2.PWMFrequencyRequest, component.board.v1.board_pb2.PWMFrequencyResponse) - self.SetPWMFrequency = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetPWMFrequency', component.board.v1.board_pb2.SetPWMFrequencyRequest, component.board.v1.board_pb2.SetPWMFrequencyResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.ReadAnalogReader = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/ReadAnalogReader', component.board.v1.board_pb2.ReadAnalogReaderRequest, component.board.v1.board_pb2.ReadAnalogReaderResponse) - self.WriteAnalog = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/WriteAnalog', component.board.v1.board_pb2.WriteAnalogRequest, component.board.v1.board_pb2.WriteAnalogResponse) - self.GetDigitalInterruptValue = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/GetDigitalInterruptValue', component.board.v1.board_pb2.GetDigitalInterruptValueRequest, component.board.v1.board_pb2.GetDigitalInterruptValueResponse) - self.SetPowerMode = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/SetPowerMode', component.board.v1.board_pb2.SetPowerModeRequest, component.board.v1.board_pb2.SetPowerModeResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.board.v1.BoardService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.Status = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/Status", + component.board.v1.board_pb2.StatusRequest, + component.board.v1.board_pb2.StatusResponse, + ) + self.SetGPIO = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/SetGPIO", + component.board.v1.board_pb2.SetGPIORequest, + component.board.v1.board_pb2.SetGPIOResponse, + ) + self.GetGPIO = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/GetGPIO", + component.board.v1.board_pb2.GetGPIORequest, + component.board.v1.board_pb2.GetGPIOResponse, + ) + self.PWM = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/PWM", + component.board.v1.board_pb2.PWMRequest, + component.board.v1.board_pb2.PWMResponse, + ) + self.SetPWM = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/SetPWM", + component.board.v1.board_pb2.SetPWMRequest, + component.board.v1.board_pb2.SetPWMResponse, + ) + self.PWMFrequency = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/PWMFrequency", + component.board.v1.board_pb2.PWMFrequencyRequest, + component.board.v1.board_pb2.PWMFrequencyResponse, + ) + self.SetPWMFrequency = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/SetPWMFrequency", + component.board.v1.board_pb2.SetPWMFrequencyRequest, + component.board.v1.board_pb2.SetPWMFrequencyResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.ReadAnalogReader = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/ReadAnalogReader", + component.board.v1.board_pb2.ReadAnalogReaderRequest, + component.board.v1.board_pb2.ReadAnalogReaderResponse, + ) + self.WriteAnalog = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/WriteAnalog", + component.board.v1.board_pb2.WriteAnalogRequest, + component.board.v1.board_pb2.WriteAnalogResponse, + ) + self.GetDigitalInterruptValue = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/GetDigitalInterruptValue", + component.board.v1.board_pb2.GetDigitalInterruptValueRequest, + component.board.v1.board_pb2.GetDigitalInterruptValueResponse, + ) + self.SetPowerMode = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/SetPowerMode", + component.board.v1.board_pb2.SetPowerModeRequest, + component.board.v1.board_pb2.SetPowerModeResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.board.v1.BoardService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/board/v1/board_pb2.py b/src/viam/gen/component/board/v1/board_pb2.py index a7182e7af..73b694ecd 100644 --- a/src/viam/gen/component/board/v1/board_pb2.py +++ b/src/viam/gen/component/board/v1/board_pb2.py @@ -1,45 +1,102 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ecomponent/board/v1/board.proto\x12\x17viam.component.board.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto"R\n\rStatusRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x0eStatusResponse\x123\n\x06status\x18\x01 \x01(\x0b2\x1b.viam.common.v1.BoardStatusR\x06status"y\n\x0eSetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x12\n\x04high\x18\x03 \x01(\x08R\x04high\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetGPIOResponse"e\n\x0eGetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"%\n\x0fGetGPIOResponse\x12\x12\n\x04high\x18\x01 \x01(\x08R\x04high"a\n\nPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x0bPWMResponse\x12$\n\x0eduty_cycle_pct\x18\x01 \x01(\x01R\x0cdutyCyclePct"\x8a\x01\n\rSetPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12$\n\x0eduty_cycle_pct\x18\x03 \x01(\x01R\x0cdutyCyclePct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x10\n\x0eSetPWMResponse"j\n\x13PWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"9\n\x14PWMFrequencyResponse\x12!\n\x0cfrequency_hz\x18\x01 \x01(\x04R\x0bfrequencyHz"\x90\x01\n\x16SetPWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12!\n\x0cfrequency_hz\x18\x03 \x01(\x04R\x0bfrequencyHz\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x19\n\x17SetPWMFrequencyResponse"\x95\x01\n\x17ReadAnalogReaderRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x12,\n\x12analog_reader_name\x18\x02 \x01(\tR\x10analogReaderName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"0\n\x18ReadAnalogReaderResponse\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value"\x7f\n\x12WriteAnalogRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x14\n\x05value\x18\x03 \x01(\x05R\x05value\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13WriteAnalogResponse"\xa5\x01\n\x1fGetDigitalInterruptValueRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x124\n\x16digital_interrupt_name\x18\x02 \x01(\tR\x14digitalInterruptName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n GetDigitalInterruptValueResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"\xe4\x01\n\x13SetPowerModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12A\n\npower_mode\x18\x02 \x01(\x0e2".viam.component.board.v1.PowerModeR\tpowerMode\x12:\n\x08duration\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x08duration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0b\n\t_duration"\x16\n\x14SetPowerModeResponse*[\n\tPowerMode\x12\x1a\n\x16POWER_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11POWER_MODE_NORMAL\x10\x01\x12\x1b\n\x17POWER_MODE_OFFLINE_DEEP\x10\x022\xda\x10\n\x0cBoardService\x12\x8d\x01\n\x06Status\x12&.viam.component.board.v1.StatusRequest\x1a\'.viam.component.board.v1.StatusResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status\x12\x8e\x01\n\x07SetGPIO\x12\'.viam.component.board.v1.SetGPIORequest\x1a(.viam.component.board.v1.SetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio\x12\x8e\x01\n\x07GetGPIO\x12\'.viam.component.board.v1.GetGPIORequest\x1a(.viam.component.board.v1.GetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio\x12\x81\x01\n\x03PWM\x12#.viam.component.board.v1.PWMRequest\x1a$.viam.component.board.v1.PWMResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/component/board/{name}/pwm\x12\x8a\x01\n\x06SetPWM\x12&.viam.component.board.v1.SetPWMRequest\x1a\'.viam.component.board.v1.SetPWMResponse"/\x82\xd3\xe4\x93\x02)\x1a\'/viam/api/v1/component/board/{name}/pwm\x12\xa1\x01\n\x0cPWMFrequency\x12,.viam.component.board.v1.PWMFrequencyRequest\x1a-.viam.component.board.v1.PWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq\x12\xaa\x01\n\x0fSetPWMFrequency\x12/.viam.component.board.v1.SetPWMFrequencyRequest\x1a0.viam.component.board.v1.SetPWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command\x12\xd2\x01\n\x10ReadAnalogReader\x120.viam.component.board.v1.ReadAnalogReaderRequest\x1a1.viam.component.board.v1.ReadAnalogReaderResponse"Y\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read\x12\xa2\x01\n\x0bWriteAnalog\x12+.viam.component.board.v1.WriteAnalogRequest\x1a,.viam.component.board.v1.WriteAnalogResponse"8\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write\x12\xf3\x01\n\x18GetDigitalInterruptValue\x128.viam.component.board.v1.GetDigitalInterruptValueRequest\x1a9.viam.component.board.v1.GetDigitalInterruptValueResponse"b\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value\x12\xa3\x01\n\x0cSetPowerMode\x12,.viam.component.board.v1.SetPowerModeRequest\x1a-.viam.component.board.v1.SetPowerModeResponse"6\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometriesBA\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1ecomponent/board/v1/board.proto\x12\x17viam.component.board.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto"R\n\rStatusRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x0eStatusResponse\x123\n\x06status\x18\x01 \x01(\x0b2\x1b.viam.common.v1.BoardStatusR\x06status"y\n\x0eSetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x12\n\x04high\x18\x03 \x01(\x08R\x04high\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetGPIOResponse"e\n\x0eGetGPIORequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"%\n\x0fGetGPIOResponse\x12\x12\n\x04high\x18\x01 \x01(\x08R\x04high"a\n\nPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x0bPWMResponse\x12$\n\x0eduty_cycle_pct\x18\x01 \x01(\x01R\x0cdutyCyclePct"\x8a\x01\n\rSetPWMRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12$\n\x0eduty_cycle_pct\x18\x03 \x01(\x01R\x0cdutyCyclePct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x10\n\x0eSetPWMResponse"j\n\x13PWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"9\n\x14PWMFrequencyResponse\x12!\n\x0cfrequency_hz\x18\x01 \x01(\x04R\x0bfrequencyHz"\x90\x01\n\x16SetPWMFrequencyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12!\n\x0cfrequency_hz\x18\x03 \x01(\x04R\x0bfrequencyHz\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x19\n\x17SetPWMFrequencyResponse"\x95\x01\n\x17ReadAnalogReaderRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x12,\n\x12analog_reader_name\x18\x02 \x01(\tR\x10analogReaderName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"0\n\x18ReadAnalogReaderResponse\x12\x14\n\x05value\x18\x01 \x01(\x05R\x05value"\x7f\n\x12WriteAnalogRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03pin\x18\x02 \x01(\tR\x03pin\x12\x14\n\x05value\x18\x03 \x01(\x05R\x05value\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13WriteAnalogResponse"\xa5\x01\n\x1fGetDigitalInterruptValueRequest\x12\x1d\n\nboard_name\x18\x01 \x01(\tR\tboardName\x124\n\x16digital_interrupt_name\x18\x02 \x01(\tR\x14digitalInterruptName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n GetDigitalInterruptValueResponse\x12\x14\n\x05value\x18\x01 \x01(\x03R\x05value"\xe4\x01\n\x13SetPowerModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12A\n\npower_mode\x18\x02 \x01(\x0e2".viam.component.board.v1.PowerModeR\tpowerMode\x12:\n\x08duration\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationH\x00R\x08duration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0b\n\t_duration"\x16\n\x14SetPowerModeResponse*[\n\tPowerMode\x12\x1a\n\x16POWER_MODE_UNSPECIFIED\x10\x00\x12\x15\n\x11POWER_MODE_NORMAL\x10\x01\x12\x1b\n\x17POWER_MODE_OFFLINE_DEEP\x10\x022\xda\x10\n\x0cBoardService\x12\x8d\x01\n\x06Status\x12&.viam.component.board.v1.StatusRequest\x1a\'.viam.component.board.v1.StatusResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status\x12\x8e\x01\n\x07SetGPIO\x12\'.viam.component.board.v1.SetGPIORequest\x1a(.viam.component.board.v1.SetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio\x12\x8e\x01\n\x07GetGPIO\x12\'.viam.component.board.v1.GetGPIORequest\x1a(.viam.component.board.v1.GetGPIOResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio\x12\x81\x01\n\x03PWM\x12#.viam.component.board.v1.PWMRequest\x1a$.viam.component.board.v1.PWMResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/component/board/{name}/pwm\x12\x8a\x01\n\x06SetPWM\x12&.viam.component.board.v1.SetPWMRequest\x1a\'.viam.component.board.v1.SetPWMResponse"/\x82\xd3\xe4\x93\x02)\x1a\'/viam/api/v1/component/board/{name}/pwm\x12\xa1\x01\n\x0cPWMFrequency\x12,.viam.component.board.v1.PWMFrequencyRequest\x1a-.viam.component.board.v1.PWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq\x12\xaa\x01\n\x0fSetPWMFrequency\x12/.viam.component.board.v1.SetPWMFrequencyRequest\x1a0.viam.component.board.v1.SetPWMFrequencyResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command\x12\xd2\x01\n\x10ReadAnalogReader\x120.viam.component.board.v1.ReadAnalogReaderRequest\x1a1.viam.component.board.v1.ReadAnalogReaderResponse"Y\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read\x12\xa2\x01\n\x0bWriteAnalog\x12+.viam.component.board.v1.WriteAnalogRequest\x1a,.viam.component.board.v1.WriteAnalogResponse"8\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write\x12\xf3\x01\n\x18GetDigitalInterruptValue\x128.viam.component.board.v1.GetDigitalInterruptValueRequest\x1a9.viam.component.board.v1.GetDigitalInterruptValueResponse"b\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value\x12\xa3\x01\n\x0cSetPowerMode\x12,.viam.component.board.v1.SetPowerModeRequest\x1a-.viam.component.board.v1.SetPowerModeResponse"6\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometriesBA\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.board.v1.board_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.board.v1.board_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1' - _BOARDSERVICE.methods_by_name['Status']._options = None - _BOARDSERVICE.methods_by_name['Status']._serialized_options = b'\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status' - _BOARDSERVICE.methods_by_name['SetGPIO']._options = None - _BOARDSERVICE.methods_by_name['SetGPIO']._serialized_options = b'\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio' - _BOARDSERVICE.methods_by_name['GetGPIO']._options = None - _BOARDSERVICE.methods_by_name['GetGPIO']._serialized_options = b'\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio' - _BOARDSERVICE.methods_by_name['PWM']._options = None - _BOARDSERVICE.methods_by_name['PWM']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/component/board/{name}/pwm" - _BOARDSERVICE.methods_by_name['SetPWM']._options = None - _BOARDSERVICE.methods_by_name['SetPWM']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x1a'/viam/api/v1/component/board/{name}/pwm" - _BOARDSERVICE.methods_by_name['PWMFrequency']._options = None - _BOARDSERVICE.methods_by_name['PWMFrequency']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq' - _BOARDSERVICE.methods_by_name['SetPWMFrequency']._options = None - _BOARDSERVICE.methods_by_name['SetPWMFrequency']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq' - _BOARDSERVICE.methods_by_name['DoCommand']._options = None - _BOARDSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command' - _BOARDSERVICE.methods_by_name['ReadAnalogReader']._options = None - _BOARDSERVICE.methods_by_name['ReadAnalogReader']._serialized_options = b'\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read' - _BOARDSERVICE.methods_by_name['WriteAnalog']._options = None - _BOARDSERVICE.methods_by_name['WriteAnalog']._serialized_options = b'\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write' - _BOARDSERVICE.methods_by_name['GetDigitalInterruptValue']._options = None - _BOARDSERVICE.methods_by_name['GetDigitalInterruptValue']._serialized_options = b'\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value' - _BOARDSERVICE.methods_by_name['SetPowerMode']._options = None - _BOARDSERVICE.methods_by_name['SetPowerMode']._serialized_options = b'\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode' - _BOARDSERVICE.methods_by_name['GetGeometries']._options = None - _BOARDSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b'\n\x1bcom.viam.component.board.v1Z"go.viam.com/api/component/board/v1' + ) + _BOARDSERVICE.methods_by_name["Status"]._options = None + _BOARDSERVICE.methods_by_name[ + "Status" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/board/{name}/status" + ) + _BOARDSERVICE.methods_by_name["SetGPIO"]._options = None + _BOARDSERVICE.methods_by_name[ + "SetGPIO" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/board/{name}/gpio" + ) + _BOARDSERVICE.methods_by_name["GetGPIO"]._options = None + _BOARDSERVICE.methods_by_name[ + "GetGPIO" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/component/board/{name}/gpio" + ) + _BOARDSERVICE.methods_by_name["PWM"]._options = None + _BOARDSERVICE.methods_by_name[ + "PWM" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/component/board/{name}/pwm" + ) + _BOARDSERVICE.methods_by_name["SetPWM"]._options = None + _BOARDSERVICE.methods_by_name[ + "SetPWM" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\x1a'/viam/api/v1/component/board/{name}/pwm" + ) + _BOARDSERVICE.methods_by_name["PWMFrequency"]._options = None + _BOARDSERVICE.methods_by_name[ + "PWMFrequency" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/board/{name}/pwm_freq" + ) + _BOARDSERVICE.methods_by_name["SetPWMFrequency"]._options = None + _BOARDSERVICE.methods_by_name[ + "SetPWMFrequency" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/component/board/{name}/pwm_freq" + ) + _BOARDSERVICE.methods_by_name["DoCommand"]._options = None + _BOARDSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/board/{name}/do_command' + ) + _BOARDSERVICE.methods_by_name["ReadAnalogReader"]._options = None + _BOARDSERVICE.methods_by_name[ + "ReadAnalogReader" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02S\x12Q/viam/api/v1/component/board/{board_name}/analog_reader/{analog_reader_name}/read" + _BOARDSERVICE.methods_by_name["WriteAnalog"]._options = None + _BOARDSERVICE.methods_by_name[ + "WriteAnalog" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x1a0/viam/api/v1/component/board/{name}/analog_write" + ) + _BOARDSERVICE.methods_by_name["GetDigitalInterruptValue"]._options = None + _BOARDSERVICE.methods_by_name[ + "GetDigitalInterruptValue" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\\\x12Z/viam/api/v1/component/board/{board_name}/digital_interrupt/{digital_interrupt_name}/value" + _BOARDSERVICE.methods_by_name["SetPowerMode"]._options = None + _BOARDSERVICE.methods_by_name[ + "SetPowerMode" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x1a./viam/api/v1/component/board/{name}/power_mode" + ) + _BOARDSERVICE.methods_by_name["GetGeometries"]._options = None + _BOARDSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/board/{name}/geometries" + ) _POWERMODE._serialized_start = 2101 _POWERMODE._serialized_end = 2192 _STATUSREQUEST._serialized_start = 175 @@ -87,4 +144,4 @@ _SETPOWERMODERESPONSE._serialized_start = 2077 _SETPOWERMODERESPONSE._serialized_end = 2099 _BOARDSERVICE._serialized_start = 2195 - _BOARDSERVICE._serialized_end = 4333 \ No newline at end of file + _BOARDSERVICE._serialized_end = 4333 diff --git a/src/viam/gen/component/board/v1/board_pb2.pyi b/src/viam/gen/component/board/v1/board_pb2.pyi index 602cc3488..4cc3d571e 100644 --- a/src/viam/gen/component/board/v1/board_pb2.pyi +++ b/src/viam/gen/component/board/v1/board_pb2.pyi @@ -3,14 +3,17 @@ isort:skip_file """ import builtins -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -18,10 +21,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PowerMode: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PowerModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PowerMode.ValueType], builtins.type): +class _PowerModeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PowerMode.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor POWER_MODE_UNSPECIFIED: _PowerMode.ValueType POWER_MODE_NORMAL: _PowerMode.ValueType @@ -29,6 +35,7 @@ class _PowerModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._Enum class PowerMode(_PowerMode, metaclass=_PowerModeEnumTypeWrapper): """Power Management API""" + POWER_MODE_UNSPECIFIED: PowerMode.ValueType POWER_MODE_NORMAL: PowerMode.ValueType POWER_MODE_OFFLINE_DEEP: PowerMode.ValueType @@ -45,14 +52,19 @@ class StatusRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StatusRequest = StatusRequest @typing_extensions.final @@ -61,17 +73,17 @@ class StatusResponse(google.protobuf.message.Message): STATUS_FIELD_NUMBER: builtins.int @property - def status(self) -> common.v1.common_pb2.BoardStatus: - ... - - def __init__(self, *, status: common.v1.common_pb2.BoardStatus | None=...) -> None: - ... + def status(self) -> common.v1.common_pb2.BoardStatus: ... + def __init__( + self, *, status: common.v1.common_pb2.BoardStatus | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None: - ... global___StatusResponse = StatusResponse @typing_extensions.final @@ -89,22 +101,32 @@ class SetGPIORequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., high: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + high: builtins.bool = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "high", b"high", "name", b"name", "pin", b"pin" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'high', b'high', 'name', b'name', 'pin', b'pin']) -> None: - ... global___SetGPIORequest = SetGPIORequest @typing_extensions.final class SetGPIOResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetGPIOResponse = SetGPIOResponse @typing_extensions.final @@ -120,14 +142,23 @@ class GetGPIORequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "pin", b"pin" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'pin', b'pin']) -> None: - ... global___GetGPIORequest = GetGPIORequest @typing_extensions.final @@ -136,11 +167,11 @@ class GetGPIOResponse(google.protobuf.message.Message): HIGH_FIELD_NUMBER: builtins.int high: builtins.bool - def __init__(self, *, high: builtins.bool=...) -> None: - ... + def __init__(self, *, high: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["high", b"high"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['high', b'high']) -> None: - ... global___GetGPIOResponse = GetGPIOResponse @typing_extensions.final @@ -156,14 +187,23 @@ class PWMRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "pin", b"pin" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'pin', b'pin']) -> None: - ... global___PWMRequest = PWMRequest @typing_extensions.final @@ -171,13 +211,13 @@ class PWMResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor DUTY_CYCLE_PCT_FIELD_NUMBER: builtins.int duty_cycle_pct: builtins.float - '0-1' + "0-1" - def __init__(self, *, duty_cycle_pct: builtins.float=...) -> None: - ... + def __init__(self, *, duty_cycle_pct: builtins.float = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["duty_cycle_pct", b"duty_cycle_pct"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['duty_cycle_pct', b'duty_cycle_pct']) -> None: - ... global___PWMResponse = PWMResponse @typing_extensions.final @@ -190,28 +230,45 @@ class SetPWMRequest(google.protobuf.message.Message): name: builtins.str pin: builtins.str duty_cycle_pct: builtins.float - '0-1' + "0-1" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., duty_cycle_pct: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + duty_cycle_pct: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "duty_cycle_pct", + b"duty_cycle_pct", + "extra", + b"extra", + "name", + b"name", + "pin", + b"pin", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['duty_cycle_pct', b'duty_cycle_pct', 'extra', b'extra', 'name', b'name', 'pin', b'pin']) -> None: - ... global___SetPWMRequest = SetPWMRequest @typing_extensions.final class SetPWMResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetPWMResponse = SetPWMResponse @typing_extensions.final @@ -227,14 +284,23 @@ class PWMFrequencyRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "pin", b"pin" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'pin', b'pin']) -> None: - ... global___PWMFrequencyRequest = PWMFrequencyRequest @typing_extensions.final @@ -243,11 +309,11 @@ class PWMFrequencyResponse(google.protobuf.message.Message): FREQUENCY_HZ_FIELD_NUMBER: builtins.int frequency_hz: builtins.int - def __init__(self, *, frequency_hz: builtins.int=...) -> None: - ... + def __init__(self, *, frequency_hz: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["frequency_hz", b"frequency_hz"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['frequency_hz', b'frequency_hz']) -> None: - ... global___PWMFrequencyResponse = PWMFrequencyResponse @typing_extensions.final @@ -265,27 +331,45 @@ class SetPWMFrequencyRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., frequency_hz: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + frequency_hz: builtins.int = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "frequency_hz", + b"frequency_hz", + "name", + b"name", + "pin", + b"pin", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'frequency_hz', b'frequency_hz', 'name', b'name', 'pin', b'pin']) -> None: - ... global___SetPWMFrequencyRequest = SetPWMFrequencyRequest @typing_extensions.final class SetPWMFrequencyResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetPWMFrequencyResponse = SetPWMFrequencyResponse @typing_extensions.final class ReadAnalogReaderRequest(google.protobuf.message.Message): """Analog Reader""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BOARD_NAME_FIELD_NUMBER: builtins.int ANALOG_READER_NAME_FIELD_NUMBER: builtins.int @@ -297,14 +381,28 @@ class ReadAnalogReaderRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, board_name: builtins.str=..., analog_reader_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + board_name: builtins.str = ..., + analog_reader_name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "analog_reader_name", + b"analog_reader_name", + "board_name", + b"board_name", + "extra", + b"extra", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['analog_reader_name', b'analog_reader_name', 'board_name', b'board_name', 'extra', b'extra']) -> None: - ... global___ReadAnalogReaderRequest = ReadAnalogReaderRequest @typing_extensions.final @@ -313,16 +411,17 @@ class ReadAnalogReaderResponse(google.protobuf.message.Message): VALUE_FIELD_NUMBER: builtins.int value: builtins.int - def __init__(self, *, value: builtins.int=...) -> None: - ... + def __init__(self, *, value: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None: - ... global___ReadAnalogReaderResponse = ReadAnalogReaderResponse @typing_extensions.final class WriteAnalogRequest(google.protobuf.message.Message): """Analog Writer""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int PIN_FIELD_NUMBER: builtins.int @@ -336,27 +435,38 @@ class WriteAnalogRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., pin: builtins.str=..., value: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + pin: builtins.str = ..., + value: builtins.int = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "pin", b"pin", "value", b"value" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'pin', b'pin', 'value', b'value']) -> None: - ... global___WriteAnalogRequest = WriteAnalogRequest @typing_extensions.final class WriteAnalogResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___WriteAnalogResponse = WriteAnalogResponse @typing_extensions.final class GetDigitalInterruptValueRequest(google.protobuf.message.Message): """Digital Interrupt""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor BOARD_NAME_FIELD_NUMBER: builtins.int DIGITAL_INTERRUPT_NAME_FIELD_NUMBER: builtins.int @@ -368,14 +478,28 @@ class GetDigitalInterruptValueRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, board_name: builtins.str=..., digital_interrupt_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + board_name: builtins.str = ..., + digital_interrupt_name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "board_name", + b"board_name", + "digital_interrupt_name", + b"digital_interrupt_name", + "extra", + b"extra", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['board_name', b'board_name', 'digital_interrupt_name', b'digital_interrupt_name', 'extra', b'extra']) -> None: - ... global___GetDigitalInterruptValueRequest = GetDigitalInterruptValueRequest @typing_extensions.final @@ -384,11 +508,11 @@ class GetDigitalInterruptValueResponse(google.protobuf.message.Message): VALUE_FIELD_NUMBER: builtins.int value: builtins.int - def __init__(self, *, value: builtins.int=...) -> None: - ... + def __init__(self, *, value: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None: - ... global___GetDigitalInterruptValueResponse = GetDigitalInterruptValueResponse @typing_extensions.final @@ -399,9 +523,9 @@ class SetPowerModeRequest(google.protobuf.message.Message): DURATION_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of board' + "name of board" power_mode: global___PowerMode.ValueType - 'Requested power mode' + "Requested power mode" @property def duration(self) -> google.protobuf.duration_pb2.Duration: @@ -411,23 +535,45 @@ class SetPowerModeRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., power_mode: global___PowerMode.ValueType=..., duration: google.protobuf.duration_pb2.Duration | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_duration', b'_duration', 'duration', b'duration', 'extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + power_mode: global___PowerMode.ValueType = ..., + duration: google.protobuf.duration_pb2.Duration | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_duration", b"_duration", "duration", b"duration", "extra", b"extra" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_duration", + b"_duration", + "duration", + b"duration", + "extra", + b"extra", + "name", + b"name", + "power_mode", + b"power_mode", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_duration", b"_duration"] + ) -> typing_extensions.Literal["duration"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_duration', b'_duration', 'duration', b'duration', 'extra', b'extra', 'name', b'name', 'power_mode', b'power_mode']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_duration', b'_duration']) -> typing_extensions.Literal['duration'] | None: - ... global___SetPowerModeRequest = SetPowerModeRequest @typing_extensions.final class SetPowerModeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___SetPowerModeResponse = SetPowerModeResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___SetPowerModeResponse = SetPowerModeResponse diff --git a/src/viam/gen/component/camera/v1/camera_grpc.py b/src/viam/gen/component/camera/v1/camera_grpc.py index 43d2817b0..bc4f4d79a 100644 --- a/src/viam/gen/component/camera/v1/camera_grpc.py +++ b/src/viam/gen/component/camera/v1/camera_grpc.py @@ -1,55 +1,156 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.api.httpbody_pb2 import google.protobuf.struct_pb2 -from .... import component -class CameraServiceBase(abc.ABC): +from .... import common, component + +class CameraServiceBase(abc.ABC): @abc.abstractmethod - async def GetImage(self, stream: 'grpclib.server.Stream[component.camera.v1.camera_pb2.GetImageRequest, component.camera.v1.camera_pb2.GetImageResponse]') -> None: + async def GetImage( + self, + stream: "grpclib.server.Stream[component.camera.v1.camera_pb2.GetImageRequest, component.camera.v1.camera_pb2.GetImageResponse]", + ) -> None: pass @abc.abstractmethod - async def GetImages(self, stream: 'grpclib.server.Stream[component.camera.v1.camera_pb2.GetImagesRequest, component.camera.v1.camera_pb2.GetImagesResponse]') -> None: + async def GetImages( + self, + stream: "grpclib.server.Stream[component.camera.v1.camera_pb2.GetImagesRequest, component.camera.v1.camera_pb2.GetImagesResponse]", + ) -> None: pass @abc.abstractmethod - async def RenderFrame(self, stream: 'grpclib.server.Stream[component.camera.v1.camera_pb2.RenderFrameRequest, google.api.httpbody_pb2.HttpBody]') -> None: + async def RenderFrame( + self, + stream: "grpclib.server.Stream[component.camera.v1.camera_pb2.RenderFrameRequest, google.api.httpbody_pb2.HttpBody]", + ) -> None: pass @abc.abstractmethod - async def GetPointCloud(self, stream: 'grpclib.server.Stream[component.camera.v1.camera_pb2.GetPointCloudRequest, component.camera.v1.camera_pb2.GetPointCloudResponse]') -> None: + async def GetPointCloud( + self, + stream: "grpclib.server.Stream[component.camera.v1.camera_pb2.GetPointCloudRequest, component.camera.v1.camera_pb2.GetPointCloudResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[component.camera.v1.camera_pb2.GetPropertiesRequest, component.camera.v1.camera_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[component.camera.v1.camera_pb2.GetPropertiesRequest, component.camera.v1.camera_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.camera.v1.CameraService/GetImage': grpclib.const.Handler(self.GetImage, grpclib.const.Cardinality.UNARY_UNARY, component.camera.v1.camera_pb2.GetImageRequest, component.camera.v1.camera_pb2.GetImageResponse), '/viam.component.camera.v1.CameraService/GetImages': grpclib.const.Handler(self.GetImages, grpclib.const.Cardinality.UNARY_UNARY, component.camera.v1.camera_pb2.GetImagesRequest, component.camera.v1.camera_pb2.GetImagesResponse), '/viam.component.camera.v1.CameraService/RenderFrame': grpclib.const.Handler(self.RenderFrame, grpclib.const.Cardinality.UNARY_UNARY, component.camera.v1.camera_pb2.RenderFrameRequest, google.api.httpbody_pb2.HttpBody), '/viam.component.camera.v1.CameraService/GetPointCloud': grpclib.const.Handler(self.GetPointCloud, grpclib.const.Cardinality.UNARY_UNARY, component.camera.v1.camera_pb2.GetPointCloudRequest, component.camera.v1.camera_pb2.GetPointCloudResponse), '/viam.component.camera.v1.CameraService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.camera.v1.camera_pb2.GetPropertiesRequest, component.camera.v1.camera_pb2.GetPropertiesResponse), '/viam.component.camera.v1.CameraService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.camera.v1.CameraService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.camera.v1.CameraService/GetImage": grpclib.const.Handler( + self.GetImage, + grpclib.const.Cardinality.UNARY_UNARY, + component.camera.v1.camera_pb2.GetImageRequest, + component.camera.v1.camera_pb2.GetImageResponse, + ), + "/viam.component.camera.v1.CameraService/GetImages": grpclib.const.Handler( + self.GetImages, + grpclib.const.Cardinality.UNARY_UNARY, + component.camera.v1.camera_pb2.GetImagesRequest, + component.camera.v1.camera_pb2.GetImagesResponse, + ), + "/viam.component.camera.v1.CameraService/RenderFrame": grpclib.const.Handler( + self.RenderFrame, + grpclib.const.Cardinality.UNARY_UNARY, + component.camera.v1.camera_pb2.RenderFrameRequest, + google.api.httpbody_pb2.HttpBody, + ), + "/viam.component.camera.v1.CameraService/GetPointCloud": grpclib.const.Handler( + self.GetPointCloud, + grpclib.const.Cardinality.UNARY_UNARY, + component.camera.v1.camera_pb2.GetPointCloudRequest, + component.camera.v1.camera_pb2.GetPointCloudResponse, + ), + "/viam.component.camera.v1.CameraService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + component.camera.v1.camera_pb2.GetPropertiesRequest, + component.camera.v1.camera_pb2.GetPropertiesResponse, + ), + "/viam.component.camera.v1.CameraService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.camera.v1.CameraService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class CameraServiceStub: +class CameraServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetImage = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/GetImage', component.camera.v1.camera_pb2.GetImageRequest, component.camera.v1.camera_pb2.GetImageResponse) - self.GetImages = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/GetImages', component.camera.v1.camera_pb2.GetImagesRequest, component.camera.v1.camera_pb2.GetImagesResponse) - self.RenderFrame = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/RenderFrame', component.camera.v1.camera_pb2.RenderFrameRequest, google.api.httpbody_pb2.HttpBody) - self.GetPointCloud = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/GetPointCloud', component.camera.v1.camera_pb2.GetPointCloudRequest, component.camera.v1.camera_pb2.GetPointCloudResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/GetProperties', component.camera.v1.camera_pb2.GetPropertiesRequest, component.camera.v1.camera_pb2.GetPropertiesResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.camera.v1.CameraService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetImage = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/GetImage", + component.camera.v1.camera_pb2.GetImageRequest, + component.camera.v1.camera_pb2.GetImageResponse, + ) + self.GetImages = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/GetImages", + component.camera.v1.camera_pb2.GetImagesRequest, + component.camera.v1.camera_pb2.GetImagesResponse, + ) + self.RenderFrame = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/RenderFrame", + component.camera.v1.camera_pb2.RenderFrameRequest, + google.api.httpbody_pb2.HttpBody, + ) + self.GetPointCloud = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/GetPointCloud", + component.camera.v1.camera_pb2.GetPointCloudRequest, + component.camera.v1.camera_pb2.GetPointCloudResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/GetProperties", + component.camera.v1.camera_pb2.GetPropertiesRequest, + component.camera.v1.camera_pb2.GetPropertiesResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.camera.v1.CameraService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/camera/v1/camera_pb2.py b/src/viam/gen/component/camera/v1/camera_pb2.py index 5ef3a078f..28b5aea5d 100644 --- a/src/viam/gen/component/camera/v1/camera_pb2.py +++ b/src/viam/gen/component/camera/v1/camera_pb2.py @@ -1,33 +1,70 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.api import httpbody_pb2 as google_dot_api_dot_httpbody__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n component/camera/v1/camera.proto\x12\x18viam.component.camera.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1cgoogle/protobuf/struct.proto"q\n\x0fGetImageRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x10GetImageResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image"&\n\x10GetImagesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9d\x01\n\x11GetImagesResponse\x127\n\x06images\x18\x01 \x03(\x0b2\x1f.viam.component.camera.v1.ImageR\x06images\x12O\n\x11response_metadata\x18\xa4\x92\x05 \x01(\x0b2 .viam.common.v1.ResponseMetadataR\x10responseMetadata"x\n\x05Image\x12\x1f\n\x0bsource_name\x18\x01 \x01(\tR\nsourceName\x128\n\x06format\x18\x02 \x01(\x0e2 .viam.component.camera.v1.FormatR\x06format\x12\x14\n\x05image\x18\x03 \x01(\x0cR\x05image"t\n\x12RenderFrameRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"v\n\x14GetPointCloudRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"U\n\x15GetPointCloudResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12\x1f\n\x0bpoint_cloud\x18\x02 \x01(\x0cR\npointCloud"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\xa0\x02\n\x15GetPropertiesResponse\x12!\n\x0csupports_pcd\x18\x01 \x01(\x08R\x0bsupportsPcd\x12`\n\x14intrinsic_parameters\x18\x02 \x01(\x0b2-.viam.component.camera.v1.IntrinsicParametersR\x13intrinsicParameters\x12c\n\x15distortion_parameters\x18\x03 \x01(\x0b2..viam.component.camera.v1.DistortionParametersR\x14distortionParameters\x12\x1d\n\nmime_types\x18\x04 \x03(\tR\tmimeTypes"E\n\x07Webcams\x12:\n\x07webcams\x18\x01 \x03(\x0b2 .viam.component.camera.v1.WebcamR\x07webcams"\x9e\x01\n\x06Webcam\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12B\n\nproperties\x18\x03 \x03(\x0b2".viam.component.camera.v1.PropertyR\nproperties\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\x84\x01\n\x08Property\x12\x19\n\x08width_px\x18\x01 \x01(\x05R\x07widthPx\x12\x1b\n\theight_px\x18\x02 \x01(\x05R\x08heightPx\x12!\n\x0cframe_format\x18\x03 \x01(\tR\x0bframeFormat\x12\x1d\n\nframe_rate\x18\x04 \x01(\x02R\tframeRate"\xc9\x01\n\x13IntrinsicParameters\x12\x19\n\x08width_px\x18\x01 \x01(\rR\x07widthPx\x12\x1b\n\theight_px\x18\x02 \x01(\rR\x08heightPx\x12\x1c\n\nfocal_x_px\x18\x03 \x01(\x01R\x08focalXPx\x12\x1c\n\nfocal_y_px\x18\x04 \x01(\x01R\x08focalYPx\x12\x1e\n\x0bcenter_x_px\x18\x05 \x01(\x01R\tcenterXPx\x12\x1e\n\x0bcenter_y_px\x18\x06 \x01(\x01R\tcenterYPx"L\n\x14DistortionParameters\x12\x14\n\x05model\x18\x01 \x01(\tR\x05model\x12\x1e\n\nparameters\x18\x02 \x03(\x01R\nparameters*l\n\x06Format\x12\x16\n\x12FORMAT_UNSPECIFIED\x10\x00\x12\x13\n\x0fFORMAT_RAW_RGBA\x10\x01\x12\x14\n\x10FORMAT_RAW_DEPTH\x10\x02\x12\x0f\n\x0bFORMAT_JPEG\x10\x03\x12\x0e\n\nFORMAT_PNG\x10\x042\xcf\x08\n\rCameraService\x12\x95\x01\n\x08GetImage\x12).viam.component.camera.v1.GetImageRequest\x1a*.viam.component.camera.v1.GetImageResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/camera/{name}/image\x12\x99\x01\n\tGetImages\x12*.viam.component.camera.v1.GetImagesRequest\x1a+.viam.component.camera.v1.GetImagesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/camera/{name}/images\x12\x8c\x01\n\x0bRenderFrame\x12,.viam.component.camera.v1.RenderFrameRequest\x1a\x14.google.api.HttpBody"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/camera/{name}/render_frame\x12\xaa\x01\n\rGetPointCloud\x12..viam.component.camera.v1.GetPointCloudRequest\x1a/.viam.component.camera.v1.GetPointCloudResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/camera/{name}/point_cloud\x12\xa9\x01\n\rGetProperties\x12..viam.component.camera.v1.GetPropertiesRequest\x1a/.viam.component.camera.v1.GetPropertiesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/properties\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/camera/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/geometriesBC\n\x1ccom.viam.component.camera.v1Z#go.viam.com/api/component/camera/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n component/camera/v1/camera.proto\x12\x18viam.component.camera.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x19google/api/httpbody.proto\x1a\x1cgoogle/protobuf/struct.proto"q\n\x0fGetImageRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x10GetImageResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image"&\n\x10GetImagesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9d\x01\n\x11GetImagesResponse\x127\n\x06images\x18\x01 \x03(\x0b2\x1f.viam.component.camera.v1.ImageR\x06images\x12O\n\x11response_metadata\x18\xa4\x92\x05 \x01(\x0b2 .viam.common.v1.ResponseMetadataR\x10responseMetadata"x\n\x05Image\x12\x1f\n\x0bsource_name\x18\x01 \x01(\tR\nsourceName\x128\n\x06format\x18\x02 \x01(\x0e2 .viam.component.camera.v1.FormatR\x06format\x12\x14\n\x05image\x18\x03 \x01(\x0cR\x05image"t\n\x12RenderFrameRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"v\n\x14GetPointCloudRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tmime_type\x18\x02 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"U\n\x15GetPointCloudResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12\x1f\n\x0bpoint_cloud\x18\x02 \x01(\x0cR\npointCloud"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\xa0\x02\n\x15GetPropertiesResponse\x12!\n\x0csupports_pcd\x18\x01 \x01(\x08R\x0bsupportsPcd\x12`\n\x14intrinsic_parameters\x18\x02 \x01(\x0b2-.viam.component.camera.v1.IntrinsicParametersR\x13intrinsicParameters\x12c\n\x15distortion_parameters\x18\x03 \x01(\x0b2..viam.component.camera.v1.DistortionParametersR\x14distortionParameters\x12\x1d\n\nmime_types\x18\x04 \x03(\tR\tmimeTypes"E\n\x07Webcams\x12:\n\x07webcams\x18\x01 \x03(\x0b2 .viam.component.camera.v1.WebcamR\x07webcams"\x9e\x01\n\x06Webcam\x12\x14\n\x05label\x18\x01 \x01(\tR\x05label\x12\x16\n\x06status\x18\x02 \x01(\tR\x06status\x12B\n\nproperties\x18\x03 \x03(\x0b2".viam.component.camera.v1.PropertyR\nproperties\x12\x12\n\x04name\x18\x04 \x01(\tR\x04name\x12\x0e\n\x02id\x18\x05 \x01(\tR\x02id"\x84\x01\n\x08Property\x12\x19\n\x08width_px\x18\x01 \x01(\x05R\x07widthPx\x12\x1b\n\theight_px\x18\x02 \x01(\x05R\x08heightPx\x12!\n\x0cframe_format\x18\x03 \x01(\tR\x0bframeFormat\x12\x1d\n\nframe_rate\x18\x04 \x01(\x02R\tframeRate"\xc9\x01\n\x13IntrinsicParameters\x12\x19\n\x08width_px\x18\x01 \x01(\rR\x07widthPx\x12\x1b\n\theight_px\x18\x02 \x01(\rR\x08heightPx\x12\x1c\n\nfocal_x_px\x18\x03 \x01(\x01R\x08focalXPx\x12\x1c\n\nfocal_y_px\x18\x04 \x01(\x01R\x08focalYPx\x12\x1e\n\x0bcenter_x_px\x18\x05 \x01(\x01R\tcenterXPx\x12\x1e\n\x0bcenter_y_px\x18\x06 \x01(\x01R\tcenterYPx"L\n\x14DistortionParameters\x12\x14\n\x05model\x18\x01 \x01(\tR\x05model\x12\x1e\n\nparameters\x18\x02 \x03(\x01R\nparameters*l\n\x06Format\x12\x16\n\x12FORMAT_UNSPECIFIED\x10\x00\x12\x13\n\x0fFORMAT_RAW_RGBA\x10\x01\x12\x14\n\x10FORMAT_RAW_DEPTH\x10\x02\x12\x0f\n\x0bFORMAT_JPEG\x10\x03\x12\x0e\n\nFORMAT_PNG\x10\x042\xcf\x08\n\rCameraService\x12\x95\x01\n\x08GetImage\x12).viam.component.camera.v1.GetImageRequest\x1a*.viam.component.camera.v1.GetImageResponse"2\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/camera/{name}/image\x12\x99\x01\n\tGetImages\x12*.viam.component.camera.v1.GetImagesRequest\x1a+.viam.component.camera.v1.GetImagesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/camera/{name}/images\x12\x8c\x01\n\x0bRenderFrame\x12,.viam.component.camera.v1.RenderFrameRequest\x1a\x14.google.api.HttpBody"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/camera/{name}/render_frame\x12\xaa\x01\n\rGetPointCloud\x12..viam.component.camera.v1.GetPointCloudRequest\x1a/.viam.component.camera.v1.GetPointCloudResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/camera/{name}/point_cloud\x12\xa9\x01\n\rGetProperties\x12..viam.component.camera.v1.GetPropertiesRequest\x1a/.viam.component.camera.v1.GetPropertiesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/properties\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/camera/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/geometriesBC\n\x1ccom.viam.component.camera.v1Z#go.viam.com/api/component/camera/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.camera.v1.camera_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.camera.v1.camera_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1ccom.viam.component.camera.v1Z#go.viam.com/api/component/camera/v1' - _CAMERASERVICE.methods_by_name['GetImage']._options = None - _CAMERASERVICE.methods_by_name['GetImage']._serialized_options = b'\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/camera/{name}/image' - _CAMERASERVICE.methods_by_name['GetImages']._options = None - _CAMERASERVICE.methods_by_name['GetImages']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/camera/{name}/images' - _CAMERASERVICE.methods_by_name['RenderFrame']._options = None - _CAMERASERVICE.methods_by_name['RenderFrame']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/camera/{name}/render_frame' - _CAMERASERVICE.methods_by_name['GetPointCloud']._options = None - _CAMERASERVICE.methods_by_name['GetPointCloud']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/camera/{name}/point_cloud' - _CAMERASERVICE.methods_by_name['GetProperties']._options = None - _CAMERASERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/properties' - _CAMERASERVICE.methods_by_name['DoCommand']._options = None - _CAMERASERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/camera/{name}/do_command' - _CAMERASERVICE.methods_by_name['GetGeometries']._options = None - _CAMERASERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1ccom.viam.component.camera.v1Z#go.viam.com/api/component/camera/v1" + ) + _CAMERASERVICE.methods_by_name["GetImage"]._options = None + _CAMERASERVICE.methods_by_name[ + "GetImage" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02,\x12*/viam/api/v1/component/camera/{name}/image" + ) + _CAMERASERVICE.methods_by_name["GetImages"]._options = None + _CAMERASERVICE.methods_by_name[ + "GetImages" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/camera/{name}/images" + ) + _CAMERASERVICE.methods_by_name["RenderFrame"]._options = None + _CAMERASERVICE.methods_by_name[ + "RenderFrame" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x023\x121/viam/api/v1/component/camera/{name}/render_frame" + ) + _CAMERASERVICE.methods_by_name["GetPointCloud"]._options = None + _CAMERASERVICE.methods_by_name[ + "GetPointCloud" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/camera/{name}/point_cloud" + ) + _CAMERASERVICE.methods_by_name["GetProperties"]._options = None + _CAMERASERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/properties" + ) + _CAMERASERVICE.methods_by_name["DoCommand"]._options = None + _CAMERASERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/camera/{name}/do_command' + ) + _CAMERASERVICE.methods_by_name["GetGeometries"]._options = None + _CAMERASERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/camera/{name}/geometries" + ) _FORMAT._serialized_start = 1990 _FORMAT._serialized_end = 2098 _GETIMAGEREQUEST._serialized_start = 173 @@ -61,4 +98,4 @@ _DISTORTIONPARAMETERS._serialized_start = 1912 _DISTORTIONPARAMETERS._serialized_end = 1988 _CAMERASERVICE._serialized_start = 2101 - _CAMERASERVICE._serialized_end = 3204 \ No newline at end of file + _CAMERASERVICE._serialized_end = 3204 diff --git a/src/viam/gen/component/camera/v1/camera_pb2.pyi b/src/viam/gen/component/camera/v1/camera_pb2.pyi index 2e103a613..a95769680 100644 --- a/src/viam/gen/component/camera/v1/camera_pb2.pyi +++ b/src/viam/gen/component/camera/v1/camera_pb2.pyi @@ -4,14 +4,17 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -19,10 +22,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _Format: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _FormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Format.ValueType], builtins.type): +class _FormatEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Format.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor FORMAT_UNSPECIFIED: _Format.ValueType FORMAT_RAW_RGBA: _Format.ValueType @@ -30,8 +36,8 @@ class _FormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTyp FORMAT_JPEG: _Format.ValueType FORMAT_PNG: _Format.ValueType -class Format(_Format, metaclass=_FormatEnumTypeWrapper): - ... +class Format(_Format, metaclass=_FormatEnumTypeWrapper): ... + FORMAT_UNSPECIFIED: Format.ValueType FORMAT_RAW_RGBA: Format.ValueType FORMAT_RAW_DEPTH: Format.ValueType @@ -46,22 +52,31 @@ class GetImageRequest(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a camera' + "Name of a camera" mime_type: builtins.str - 'Requested MIME type of response' + "Requested MIME type of response" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + mime_type: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "mime_type", b"mime_type", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'mime_type', b'mime_type', 'name', b'name']) -> None: - ... global___GetImageRequest = GetImageRequest @typing_extensions.final @@ -70,15 +85,20 @@ class GetImageResponse(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int IMAGE_FIELD_NUMBER: builtins.int mime_type: builtins.str - 'Actual MIME type of response' + "Actual MIME type of response" image: builtins.bytes - 'Frame in bytes' - - def __init__(self, *, mime_type: builtins.str=..., image: builtins.bytes=...) -> None: - ... + "Frame in bytes" + + def __init__( + self, *, mime_type: builtins.str = ..., image: builtins.bytes = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "image", b"image", "mime_type", b"mime_type" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['image', b'image', 'mime_type', b'mime_type']) -> None: - ... global___GetImageResponse = GetImageResponse @typing_extensions.final @@ -86,13 +106,13 @@ class GetImagesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a camera' + "Name of a camera" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetImagesRequest = GetImagesRequest @typing_extensions.final @@ -102,21 +122,36 @@ class GetImagesResponse(google.protobuf.message.Message): RESPONSE_METADATA_FIELD_NUMBER: builtins.int @property - def images(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Image]: + def images( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Image + ]: """list of images returned from the camera system""" @property def response_metadata(self) -> common.v1.common_pb2.ResponseMetadata: """contains timestamp data""" - def __init__(self, *, images: collections.abc.Iterable[global___Image] | None=..., response_metadata: common.v1.common_pb2.ResponseMetadata | None=...) -> None: - ... + def __init__( + self, + *, + images: collections.abc.Iterable[global___Image] | None = ..., + response_metadata: common.v1.common_pb2.ResponseMetadata | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "response_metadata", b"response_metadata" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "images", b"images", "response_metadata", b"response_metadata" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['response_metadata', b'response_metadata']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['images', b'images', 'response_metadata', b'response_metadata']) -> None: - ... global___GetImagesResponse = GetImagesResponse @typing_extensions.final @@ -126,17 +161,26 @@ class Image(google.protobuf.message.Message): FORMAT_FIELD_NUMBER: builtins.int IMAGE_FIELD_NUMBER: builtins.int source_name: builtins.str - 'the name of the sensor where the image came from' + "the name of the sensor where the image came from" format: global___Format.ValueType - 'format of the response image bytes' + "format of the response image bytes" image: builtins.bytes - 'image in bytes' - - def __init__(self, *, source_name: builtins.str=..., format: global___Format.ValueType=..., image: builtins.bytes=...) -> None: - ... + "image in bytes" + + def __init__( + self, + *, + source_name: builtins.str = ..., + format: global___Format.ValueType = ..., + image: builtins.bytes = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "format", b"format", "image", b"image", "source_name", b"source_name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['format', b'format', 'image', b'image', 'source_name', b'source_name']) -> None: - ... global___Image = Image @typing_extensions.final @@ -146,22 +190,31 @@ class RenderFrameRequest(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a camera' + "Name of a camera" mime_type: builtins.str - 'Requested MIME type of response' + "Requested MIME type of response" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + mime_type: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "mime_type", b"mime_type", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'mime_type', b'mime_type', 'name', b'name']) -> None: - ... global___RenderFrameRequest = RenderFrameRequest @typing_extensions.final @@ -171,22 +224,31 @@ class GetPointCloudRequest(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a camera' + "Name of a camera" mime_type: builtins.str - 'Requested MIME type of response' + "Requested MIME type of response" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + mime_type: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "mime_type", b"mime_type", "name", b"name" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'mime_type', b'mime_type', 'name', b'name']) -> None: - ... global___GetPointCloudRequest = GetPointCloudRequest @typing_extensions.final @@ -195,15 +257,20 @@ class GetPointCloudResponse(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int POINT_CLOUD_FIELD_NUMBER: builtins.int mime_type: builtins.str - 'Actual MIME type of response' + "Actual MIME type of response" point_cloud: builtins.bytes - 'Frame in bytes' - - def __init__(self, *, mime_type: builtins.str=..., point_cloud: builtins.bytes=...) -> None: - ... + "Frame in bytes" + + def __init__( + self, *, mime_type: builtins.str = ..., point_cloud: builtins.bytes = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "mime_type", b"mime_type", "point_cloud", b"point_cloud" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['mime_type', b'mime_type', 'point_cloud', b'point_cloud']) -> None: - ... global___GetPointCloudResponse = GetPointCloudResponse @typing_extensions.final @@ -211,13 +278,13 @@ class GetPropertiesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a camera' + "Name of a camera" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final @@ -228,7 +295,7 @@ class GetPropertiesResponse(google.protobuf.message.Message): DISTORTION_PARAMETERS_FIELD_NUMBER: builtins.int MIME_TYPES_FIELD_NUMBER: builtins.int supports_pcd: builtins.bool - 'A boolean property determining whether the camera supports the return of pointcloud data' + "A boolean property determining whether the camera supports the return of pointcloud data" @property def intrinsic_parameters(self) -> global___IntrinsicParameters: @@ -245,17 +312,42 @@ class GetPropertiesResponse(google.protobuf.message.Message): """ @property - def mime_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def mime_types( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """Supported MIME types by the camera""" - def __init__(self, *, supports_pcd: builtins.bool=..., intrinsic_parameters: global___IntrinsicParameters | None=..., distortion_parameters: global___DistortionParameters | None=..., mime_types: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['distortion_parameters', b'distortion_parameters', 'intrinsic_parameters', b'intrinsic_parameters']) -> builtins.bool: - ... + def __init__( + self, + *, + supports_pcd: builtins.bool = ..., + intrinsic_parameters: global___IntrinsicParameters | None = ..., + distortion_parameters: global___DistortionParameters | None = ..., + mime_types: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "distortion_parameters", + b"distortion_parameters", + "intrinsic_parameters", + b"intrinsic_parameters", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "distortion_parameters", + b"distortion_parameters", + "intrinsic_parameters", + b"intrinsic_parameters", + "mime_types", + b"mime_types", + "supports_pcd", + b"supports_pcd", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['distortion_parameters', b'distortion_parameters', 'intrinsic_parameters', b'intrinsic_parameters', 'mime_types', b'mime_types', 'supports_pcd', b'supports_pcd']) -> None: - ... global___GetPropertiesResponse = GetPropertiesResponse @typing_extensions.final @@ -264,14 +356,18 @@ class Webcams(google.protobuf.message.Message): WEBCAMS_FIELD_NUMBER: builtins.int @property - def webcams(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Webcam]: - ... + def webcams( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Webcam + ]: ... + def __init__( + self, *, webcams: collections.abc.Iterable[global___Webcam] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["webcams", b"webcams"] + ) -> None: ... - def __init__(self, *, webcams: collections.abc.Iterable[global___Webcam] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['webcams', b'webcams']) -> None: - ... global___Webcams = Webcams @typing_extensions.final @@ -283,23 +379,47 @@ class Webcam(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int ID_FIELD_NUMBER: builtins.int label: builtins.str - 'Camera driver label (for internal use only)' + "Camera driver label (for internal use only)" status: builtins.str - 'Camera driver status' + "Camera driver status" @property - def properties(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Property]: + def properties( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Property + ]: """Camera properties""" name: builtins.str - 'Camera human-readable driver name' + "Camera human-readable driver name" id: builtins.str - 'Camera unique identifier' - - def __init__(self, *, label: builtins.str=..., status: builtins.str=..., properties: collections.abc.Iterable[global___Property] | None=..., name: builtins.str=..., id: builtins.str=...) -> None: - ... + "Camera unique identifier" + + def __init__( + self, + *, + label: builtins.str = ..., + status: builtins.str = ..., + properties: collections.abc.Iterable[global___Property] | None = ..., + name: builtins.str = ..., + id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "id", + b"id", + "label", + b"label", + "name", + b"name", + "properties", + b"properties", + "status", + b"status", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'label', b'label', 'name', b'name', 'properties', b'properties', 'status', b'status']) -> None: - ... global___Webcam = Webcam @typing_extensions.final @@ -310,19 +430,36 @@ class Property(google.protobuf.message.Message): FRAME_FORMAT_FIELD_NUMBER: builtins.int FRAME_RATE_FIELD_NUMBER: builtins.int width_px: builtins.int - 'Video resolution width in px' + "Video resolution width in px" height_px: builtins.int - 'Video resolution height in px' + "Video resolution height in px" frame_format: builtins.str - 'Video frame format' + "Video frame format" frame_rate: builtins.float - 'Video frame rate in fps' - - def __init__(self, *, width_px: builtins.int=..., height_px: builtins.int=..., frame_format: builtins.str=..., frame_rate: builtins.float=...) -> None: - ... + "Video frame rate in fps" + + def __init__( + self, + *, + width_px: builtins.int = ..., + height_px: builtins.int = ..., + frame_format: builtins.str = ..., + frame_rate: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "frame_format", + b"frame_format", + "frame_rate", + b"frame_rate", + "height_px", + b"height_px", + "width_px", + b"width_px", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['frame_format', b'frame_format', 'frame_rate', b'frame_rate', 'height_px', b'height_px', 'width_px', b'width_px']) -> None: - ... global___Property = Property @typing_extensions.final @@ -341,11 +478,34 @@ class IntrinsicParameters(google.protobuf.message.Message): center_x_px: builtins.float center_y_px: builtins.float - def __init__(self, *, width_px: builtins.int=..., height_px: builtins.int=..., focal_x_px: builtins.float=..., focal_y_px: builtins.float=..., center_x_px: builtins.float=..., center_y_px: builtins.float=...) -> None: - ... + def __init__( + self, + *, + width_px: builtins.int = ..., + height_px: builtins.int = ..., + focal_x_px: builtins.float = ..., + focal_y_px: builtins.float = ..., + center_x_px: builtins.float = ..., + center_y_px: builtins.float = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "center_x_px", + b"center_x_px", + "center_y_px", + b"center_y_px", + "focal_x_px", + b"focal_x_px", + "focal_y_px", + b"focal_y_px", + "height_px", + b"height_px", + "width_px", + b"width_px", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['center_x_px', b'center_x_px', 'center_y_px', b'center_y_px', 'focal_x_px', b'focal_x_px', 'focal_y_px', b'focal_y_px', 'height_px', b'height_px', 'width_px', b'width_px']) -> None: - ... global___IntrinsicParameters = IntrinsicParameters @typing_extensions.final @@ -356,12 +516,22 @@ class DistortionParameters(google.protobuf.message.Message): model: builtins.str @property - def parameters(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... - - def __init__(self, *, model: builtins.str=..., parameters: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['model', b'model', 'parameters', b'parameters']) -> None: - ... -global___DistortionParameters = DistortionParameters \ No newline at end of file + def parameters( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... + def __init__( + self, + *, + model: builtins.str = ..., + parameters: collections.abc.Iterable[builtins.float] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "model", b"model", "parameters", b"parameters" + ], + ) -> None: ... + +global___DistortionParameters = DistortionParameters diff --git a/src/viam/gen/component/encoder/v1/encoder_grpc.py b/src/viam/gen/component/encoder/v1/encoder_grpc.py index f424916bd..c10dbcd27 100644 --- a/src/viam/gen/component/encoder/v1/encoder_grpc.py +++ b/src/viam/gen/component/encoder/v1/encoder_grpc.py @@ -1,44 +1,117 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class EncoderServiceBase(abc.ABC): +from .... import common, component + +class EncoderServiceBase(abc.ABC): @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[component.encoder.v1.encoder_pb2.GetPositionRequest, component.encoder.v1.encoder_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[component.encoder.v1.encoder_pb2.GetPositionRequest, component.encoder.v1.encoder_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def ResetPosition(self, stream: 'grpclib.server.Stream[component.encoder.v1.encoder_pb2.ResetPositionRequest, component.encoder.v1.encoder_pb2.ResetPositionResponse]') -> None: + async def ResetPosition( + self, + stream: "grpclib.server.Stream[component.encoder.v1.encoder_pb2.ResetPositionRequest, component.encoder.v1.encoder_pb2.ResetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[component.encoder.v1.encoder_pb2.GetPropertiesRequest, component.encoder.v1.encoder_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[component.encoder.v1.encoder_pb2.GetPropertiesRequest, component.encoder.v1.encoder_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.encoder.v1.EncoderService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.encoder.v1.encoder_pb2.GetPositionRequest, component.encoder.v1.encoder_pb2.GetPositionResponse), '/viam.component.encoder.v1.EncoderService/ResetPosition': grpclib.const.Handler(self.ResetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.encoder.v1.encoder_pb2.ResetPositionRequest, component.encoder.v1.encoder_pb2.ResetPositionResponse), '/viam.component.encoder.v1.EncoderService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.encoder.v1.encoder_pb2.GetPropertiesRequest, component.encoder.v1.encoder_pb2.GetPropertiesResponse), '/viam.component.encoder.v1.EncoderService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.encoder.v1.EncoderService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.encoder.v1.EncoderService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.encoder.v1.encoder_pb2.GetPositionRequest, + component.encoder.v1.encoder_pb2.GetPositionResponse, + ), + "/viam.component.encoder.v1.EncoderService/ResetPosition": grpclib.const.Handler( + self.ResetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.encoder.v1.encoder_pb2.ResetPositionRequest, + component.encoder.v1.encoder_pb2.ResetPositionResponse, + ), + "/viam.component.encoder.v1.EncoderService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + component.encoder.v1.encoder_pb2.GetPropertiesRequest, + component.encoder.v1.encoder_pb2.GetPropertiesResponse, + ), + "/viam.component.encoder.v1.EncoderService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.encoder.v1.EncoderService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class EncoderServiceStub: +class EncoderServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.encoder.v1.EncoderService/GetPosition', component.encoder.v1.encoder_pb2.GetPositionRequest, component.encoder.v1.encoder_pb2.GetPositionResponse) - self.ResetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.encoder.v1.EncoderService/ResetPosition', component.encoder.v1.encoder_pb2.ResetPositionRequest, component.encoder.v1.encoder_pb2.ResetPositionResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.encoder.v1.EncoderService/GetProperties', component.encoder.v1.encoder_pb2.GetPropertiesRequest, component.encoder.v1.encoder_pb2.GetPropertiesResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.encoder.v1.EncoderService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.encoder.v1.EncoderService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.encoder.v1.EncoderService/GetPosition", + component.encoder.v1.encoder_pb2.GetPositionRequest, + component.encoder.v1.encoder_pb2.GetPositionResponse, + ) + self.ResetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.encoder.v1.EncoderService/ResetPosition", + component.encoder.v1.encoder_pb2.ResetPositionRequest, + component.encoder.v1.encoder_pb2.ResetPositionResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.encoder.v1.EncoderService/GetProperties", + component.encoder.v1.encoder_pb2.GetPropertiesRequest, + component.encoder.v1.encoder_pb2.GetPropertiesResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.encoder.v1.EncoderService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.encoder.v1.EncoderService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/encoder/v1/encoder_pb2.py b/src/viam/gen/component/encoder/v1/encoder_pb2.py index 69c026d97..709f378be 100644 --- a/src/viam/gen/component/encoder/v1/encoder_pb2.py +++ b/src/viam/gen/component/encoder/v1/encoder_pb2.py @@ -1,28 +1,55 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/encoder/v1/encoder.proto\x12\x19viam.component.encoder.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xbc\x01\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12Q\n\rposition_type\x18\x02 \x01(\x0e2\'.viam.component.encoder.v1.PositionTypeH\x00R\x0cpositionType\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x10\n\x0e_position_type"y\n\x13GetPositionResponse\x12\x14\n\x05value\x18\x01 \x01(\x02R\x05value\x12L\n\rposition_type\x18\x02 \x01(\x0e2\'.viam.component.encoder.v1.PositionTypeR\x0cpositionType"Y\n\x14ResetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x17\n\x15ResetPositionResponse"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x83\x01\n\x15GetPropertiesResponse\x122\n\x15ticks_count_supported\x18\x01 \x01(\x08R\x13ticksCountSupported\x126\n\x17angle_degrees_supported\x18\x02 \x01(\x08R\x15angleDegreesSupported*m\n\x0cPositionType\x12\x1d\n\x19POSITION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19POSITION_TYPE_TICKS_COUNT\x10\x01\x12\x1f\n\x1bPOSITION_TYPE_ANGLE_DEGREES\x10\x022\xc7\x06\n\x0eEncoderService\x12\xa8\x01\n\x0bGetPosition\x12-.viam.component.encoder.v1.GetPositionRequest\x1a..viam.component.encoder.v1.GetPositionResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/encoder/{name}/get_position\x12\xb0\x01\n\rResetPosition\x12/.viam.component.encoder.v1.ResetPositionRequest\x1a0.viam.component.encoder.v1.ResetPositionResponse"<\x82\xd3\xe4\x93\x026\x124/viam/api/v1/component/encoder/{name}/reset_position\x12\xb0\x01\n\rGetProperties\x12/.viam.component.encoder.v1.GetPropertiesRequest\x1a0.viam.component.encoder.v1.GetPropertiesResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/component/encoder/{name}/get_properties\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/encoder/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/encoder/{name}/geometriesBE\n\x1dcom.viam.component.encoder.v1Z$go.viam.com/api/component/encoder/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n"component/encoder/v1/encoder.proto\x12\x19viam.component.encoder.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xbc\x01\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12Q\n\rposition_type\x18\x02 \x01(\x0e2\'.viam.component.encoder.v1.PositionTypeH\x00R\x0cpositionType\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x10\n\x0e_position_type"y\n\x13GetPositionResponse\x12\x14\n\x05value\x18\x01 \x01(\x02R\x05value\x12L\n\rposition_type\x18\x02 \x01(\x0e2\'.viam.component.encoder.v1.PositionTypeR\x0cpositionType"Y\n\x14ResetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x17\n\x15ResetPositionResponse"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x83\x01\n\x15GetPropertiesResponse\x122\n\x15ticks_count_supported\x18\x01 \x01(\x08R\x13ticksCountSupported\x126\n\x17angle_degrees_supported\x18\x02 \x01(\x08R\x15angleDegreesSupported*m\n\x0cPositionType\x12\x1d\n\x19POSITION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19POSITION_TYPE_TICKS_COUNT\x10\x01\x12\x1f\n\x1bPOSITION_TYPE_ANGLE_DEGREES\x10\x022\xc7\x06\n\x0eEncoderService\x12\xa8\x01\n\x0bGetPosition\x12-.viam.component.encoder.v1.GetPositionRequest\x1a..viam.component.encoder.v1.GetPositionResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/encoder/{name}/get_position\x12\xb0\x01\n\rResetPosition\x12/.viam.component.encoder.v1.ResetPositionRequest\x1a0.viam.component.encoder.v1.ResetPositionResponse"<\x82\xd3\xe4\x93\x026\x124/viam/api/v1/component/encoder/{name}/reset_position\x12\xb0\x01\n\rGetProperties\x12/.viam.component.encoder.v1.GetPropertiesRequest\x1a0.viam.component.encoder.v1.GetPropertiesResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/component/encoder/{name}/get_properties\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/encoder/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/encoder/{name}/geometriesBE\n\x1dcom.viam.component.encoder.v1Z$go.viam.com/api/component/encoder/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.encoder.v1.encoder_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.encoder.v1.encoder_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1dcom.viam.component.encoder.v1Z$go.viam.com/api/component/encoder/v1' - _ENCODERSERVICE.methods_by_name['GetPosition']._options = None - _ENCODERSERVICE.methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/encoder/{name}/get_position' - _ENCODERSERVICE.methods_by_name['ResetPosition']._options = None - _ENCODERSERVICE.methods_by_name['ResetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x026\x124/viam/api/v1/component/encoder/{name}/reset_position' - _ENCODERSERVICE.methods_by_name['GetProperties']._options = None - _ENCODERSERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/component/encoder/{name}/get_properties' - _ENCODERSERVICE.methods_by_name['DoCommand']._options = None - _ENCODERSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/encoder/{name}/do_command' - _ENCODERSERVICE.methods_by_name['GetGeometries']._options = None - _ENCODERSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/encoder/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1dcom.viam.component.encoder.v1Z$go.viam.com/api/component/encoder/v1" + ) + _ENCODERSERVICE.methods_by_name["GetPosition"]._options = None + _ENCODERSERVICE.methods_by_name[ + "GetPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/encoder/{name}/get_position" + ) + _ENCODERSERVICE.methods_by_name["ResetPosition"]._options = None + _ENCODERSERVICE.methods_by_name[ + "ResetPosition" + ]._serialized_options = b"\x82\xd3\xe4\x93\x026\x124/viam/api/v1/component/encoder/{name}/reset_position" + _ENCODERSERVICE.methods_by_name["GetProperties"]._options = None + _ENCODERSERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/component/encoder/{name}/get_properties' + ) + _ENCODERSERVICE.methods_by_name["DoCommand"]._options = None + _ENCODERSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/encoder/{name}/do_command' + ) + _ENCODERSERVICE.methods_by_name["GetGeometries"]._options = None + _ENCODERSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/encoder/{name}/geometries" + ) _POSITIONTYPE._serialized_start = 804 _POSITIONTYPE._serialized_end = 913 _GETPOSITIONREQUEST._serialized_start = 150 @@ -38,4 +65,4 @@ _GETPROPERTIESRESPONSE._serialized_start = 671 _GETPROPERTIESRESPONSE._serialized_end = 802 _ENCODERSERVICE._serialized_start = 916 - _ENCODERSERVICE._serialized_end = 1755 \ No newline at end of file + _ENCODERSERVICE._serialized_end = 1755 diff --git a/src/viam/gen/component/encoder/v1/encoder_pb2.pyi b/src/viam/gen/component/encoder/v1/encoder_pb2.pyi index fb36ed0f2..4dccf3246 100644 --- a/src/viam/gen/component/encoder/v1/encoder_pb2.pyi +++ b/src/viam/gen/component/encoder/v1/encoder_pb2.pyi @@ -3,12 +3,14 @@ isort:skip_file """ import builtins +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -16,24 +18,29 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PositionType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PositionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PositionType.ValueType], builtins.type): +class _PositionTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _PositionType.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor POSITION_TYPE_UNSPECIFIED: _PositionType.ValueType POSITION_TYPE_TICKS_COUNT: _PositionType.ValueType "Return type for relative encoders that report\n how far they've gone from a start position\n " POSITION_TYPE_ANGLE_DEGREES: _PositionType.ValueType - 'Return type for absolute encoders that report\n their position in degrees along the radial axis\n ' + "Return type for absolute encoders that report\n their position in degrees along the radial axis\n " + +class PositionType(_PositionType, metaclass=_PositionTypeEnumTypeWrapper): ... -class PositionType(_PositionType, metaclass=_PositionTypeEnumTypeWrapper): - ... POSITION_TYPE_UNSPECIFIED: PositionType.ValueType POSITION_TYPE_TICKS_COUNT: PositionType.ValueType "Return type for relative encoders that report\nhow far they've gone from a start position\n" POSITION_TYPE_ANGLE_DEGREES: PositionType.ValueType -'Return type for absolute encoders that report\ntheir position in degrees along the radial axis\n' +"Return type for absolute encoders that report\ntheir position in degrees along the radial axis\n" global___PositionType = PositionType @typing_extensions.final @@ -43,25 +50,50 @@ class GetPositionRequest(google.protobuf.message.Message): POSITION_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of encoder' + "Name of encoder" position_type: global___PositionType.ValueType - 'If supplied, the response will return the specified\n position type. If the driver does not implement\n the requested type, this call will return an error.\n If position type is not specified, the response\n will return a default according to the driver.\n ' + "If supplied, the response will return the specified\n position type. If the driver does not implement\n the requested type, this call will return an error.\n If position type is not specified, the response\n will return a default according to the driver.\n " @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., position_type: global___PositionType.ValueType | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + position_type: global___PositionType.ValueType | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_position_type", + b"_position_type", + "extra", + b"extra", + "position_type", + b"position_type", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_position_type", + b"_position_type", + "extra", + b"extra", + "name", + b"name", + "position_type", + b"position_type", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_position_type", b"_position_type"], + ) -> typing_extensions.Literal["position_type"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['_position_type', b'_position_type', 'extra', b'extra', 'position_type', b'position_type']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_position_type', b'_position_type', 'extra', b'extra', 'name', b'name', 'position_type', b'position_type']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_position_type', b'_position_type']) -> typing_extensions.Literal['position_type'] | None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -72,11 +104,19 @@ class GetPositionResponse(google.protobuf.message.Message): value: builtins.float position_type: global___PositionType.ValueType - def __init__(self, *, value: builtins.float=..., position_type: global___PositionType.ValueType=...) -> None: - ... + def __init__( + self, + *, + value: builtins.float = ..., + position_type: global___PositionType.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "position_type", b"position_type", "value", b"value" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['position_type', b'position_type', 'value', b'value']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -85,28 +125,33 @@ class ResetPositionRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of an encoder' + "Name of an encoder" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___ResetPositionRequest = ResetPositionRequest @typing_extensions.final class ResetPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ResetPositionResponse = ResetPositionResponse @typing_extensions.final @@ -115,20 +160,25 @@ class GetPropertiesRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the encoder' + "Name of the encoder" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final @@ -139,9 +189,20 @@ class GetPropertiesResponse(google.protobuf.message.Message): ticks_count_supported: builtins.bool angle_degrees_supported: builtins.bool - def __init__(self, *, ticks_count_supported: builtins.bool=..., angle_degrees_supported: builtins.bool=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['angle_degrees_supported', b'angle_degrees_supported', 'ticks_count_supported', b'ticks_count_supported']) -> None: - ... -global___GetPropertiesResponse = GetPropertiesResponse \ No newline at end of file + def __init__( + self, + *, + ticks_count_supported: builtins.bool = ..., + angle_degrees_supported: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angle_degrees_supported", + b"angle_degrees_supported", + "ticks_count_supported", + b"ticks_count_supported", + ], + ) -> None: ... + +global___GetPropertiesResponse = GetPropertiesResponse diff --git a/src/viam/gen/component/gantry/v1/gantry_grpc.py b/src/viam/gen/component/gantry/v1/gantry_grpc.py index 88822366d..f7e25d969 100644 --- a/src/viam/gen/component/gantry/v1/gantry_grpc.py +++ b/src/viam/gen/component/gantry/v1/gantry_grpc.py @@ -1,59 +1,174 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class GantryServiceBase(abc.ABC): +from .... import common, component + +class GantryServiceBase(abc.ABC): @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.GetPositionRequest, component.gantry.v1.gantry_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.GetPositionRequest, component.gantry.v1.gantry_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def MoveToPosition(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.MoveToPositionRequest, component.gantry.v1.gantry_pb2.MoveToPositionResponse]') -> None: + async def MoveToPosition( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.MoveToPositionRequest, component.gantry.v1.gantry_pb2.MoveToPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def Home(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.HomeRequest, component.gantry.v1.gantry_pb2.HomeResponse]') -> None: + async def Home( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.HomeRequest, component.gantry.v1.gantry_pb2.HomeResponse]", + ) -> None: pass @abc.abstractmethod - async def GetLengths(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.GetLengthsRequest, component.gantry.v1.gantry_pb2.GetLengthsResponse]') -> None: + async def GetLengths( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.GetLengthsRequest, component.gantry.v1.gantry_pb2.GetLengthsResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.StopRequest, component.gantry.v1.gantry_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.StopRequest, component.gantry.v1.gantry_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.gantry.v1.gantry_pb2.IsMovingRequest, component.gantry.v1.gantry_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.gantry.v1.gantry_pb2.IsMovingRequest, component.gantry.v1.gantry_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.gantry.v1.GantryService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.GetPositionRequest, component.gantry.v1.gantry_pb2.GetPositionResponse), '/viam.component.gantry.v1.GantryService/MoveToPosition': grpclib.const.Handler(self.MoveToPosition, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.MoveToPositionRequest, component.gantry.v1.gantry_pb2.MoveToPositionResponse), '/viam.component.gantry.v1.GantryService/Home': grpclib.const.Handler(self.Home, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.HomeRequest, component.gantry.v1.gantry_pb2.HomeResponse), '/viam.component.gantry.v1.GantryService/GetLengths': grpclib.const.Handler(self.GetLengths, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.GetLengthsRequest, component.gantry.v1.gantry_pb2.GetLengthsResponse), '/viam.component.gantry.v1.GantryService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.StopRequest, component.gantry.v1.gantry_pb2.StopResponse), '/viam.component.gantry.v1.GantryService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.gantry.v1.gantry_pb2.IsMovingRequest, component.gantry.v1.gantry_pb2.IsMovingResponse), '/viam.component.gantry.v1.GantryService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.gantry.v1.GantryService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.gantry.v1.GantryService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.GetPositionRequest, + component.gantry.v1.gantry_pb2.GetPositionResponse, + ), + "/viam.component.gantry.v1.GantryService/MoveToPosition": grpclib.const.Handler( + self.MoveToPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.MoveToPositionRequest, + component.gantry.v1.gantry_pb2.MoveToPositionResponse, + ), + "/viam.component.gantry.v1.GantryService/Home": grpclib.const.Handler( + self.Home, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.HomeRequest, + component.gantry.v1.gantry_pb2.HomeResponse, + ), + "/viam.component.gantry.v1.GantryService/GetLengths": grpclib.const.Handler( + self.GetLengths, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.GetLengthsRequest, + component.gantry.v1.gantry_pb2.GetLengthsResponse, + ), + "/viam.component.gantry.v1.GantryService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.StopRequest, + component.gantry.v1.gantry_pb2.StopResponse, + ), + "/viam.component.gantry.v1.GantryService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.gantry.v1.gantry_pb2.IsMovingRequest, + component.gantry.v1.gantry_pb2.IsMovingResponse, + ), + "/viam.component.gantry.v1.GantryService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.gantry.v1.GantryService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class GantryServiceStub: +class GantryServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/GetPosition', component.gantry.v1.gantry_pb2.GetPositionRequest, component.gantry.v1.gantry_pb2.GetPositionResponse) - self.MoveToPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/MoveToPosition', component.gantry.v1.gantry_pb2.MoveToPositionRequest, component.gantry.v1.gantry_pb2.MoveToPositionResponse) - self.Home = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/Home', component.gantry.v1.gantry_pb2.HomeRequest, component.gantry.v1.gantry_pb2.HomeResponse) - self.GetLengths = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/GetLengths', component.gantry.v1.gantry_pb2.GetLengthsRequest, component.gantry.v1.gantry_pb2.GetLengthsResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/Stop', component.gantry.v1.gantry_pb2.StopRequest, component.gantry.v1.gantry_pb2.StopResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/IsMoving', component.gantry.v1.gantry_pb2.IsMovingRequest, component.gantry.v1.gantry_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gantry.v1.GantryService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/GetPosition", + component.gantry.v1.gantry_pb2.GetPositionRequest, + component.gantry.v1.gantry_pb2.GetPositionResponse, + ) + self.MoveToPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/MoveToPosition", + component.gantry.v1.gantry_pb2.MoveToPositionRequest, + component.gantry.v1.gantry_pb2.MoveToPositionResponse, + ) + self.Home = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/Home", + component.gantry.v1.gantry_pb2.HomeRequest, + component.gantry.v1.gantry_pb2.HomeResponse, + ) + self.GetLengths = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/GetLengths", + component.gantry.v1.gantry_pb2.GetLengthsRequest, + component.gantry.v1.gantry_pb2.GetLengthsResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/Stop", + component.gantry.v1.gantry_pb2.StopRequest, + component.gantry.v1.gantry_pb2.StopResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/IsMoving", + component.gantry.v1.gantry_pb2.IsMovingRequest, + component.gantry.v1.gantry_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gantry.v1.GantryService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/gantry/v1/gantry_pb2.py b/src/viam/gen/component/gantry/v1/gantry_pb2.py index 3b44bf320..41a6828fc 100644 --- a/src/viam/gen/component/gantry/v1/gantry_pb2.py +++ b/src/viam/gen/component/gantry/v1/gantry_pb2.py @@ -1,34 +1,73 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n component/gantry/v1/gantry.proto\x12\x18viam.component.gantry.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n\x13GetPositionResponse\x12!\n\x0cpositions_mm\x18\x01 \x03(\x01R\x0bpositionsMm"\xa8\x01\n\x15MoveToPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12!\n\x0cpositions_mm\x18\x02 \x03(\x01R\x0bpositionsMm\x12)\n\x11speeds_mm_per_sec\x18\x03 \x03(\x01R\x0espeedsMmPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16MoveToPositionResponse"P\n\x0bHomeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"$\n\x0cHomeResponse\x12\x14\n\x05homed\x18\x01 \x01(\x08R\x05homed"V\n\x11GetLengthsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x12GetLengthsResponse\x12\x1d\n\nlengths_mm\x18\x01 \x03(\x01R\tlengthsMm"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"g\n\x06Status\x12!\n\x0cpositions_mm\x18\x01 \x03(\x01R\x0bpositionsMm\x12\x1d\n\nlengths_mm\x18\x02 \x03(\x01R\tlengthsMm\x12\x1b\n\tis_moving\x18\x03 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\xda\t\n\rGantryService\x12\xa1\x01\n\x0bGetPosition\x12,.viam.component.gantry.v1.GetPositionRequest\x1a-.viam.component.gantry.v1.GetPositionResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/gantry/{name}/position\x12\xae\x01\n\x0eMoveToPosition\x12/.viam.component.gantry.v1.MoveToPositionRequest\x1a0.viam.component.gantry.v1.MoveToPositionResponse"9\xa0\x92)\x01\x82\xd3\xe4\x93\x02/\x1a-/viam/api/v1/component/gantry/{name}/position\x12\x88\x01\n\x04Home\x12%.viam.component.gantry.v1.HomeRequest\x1a&.viam.component.gantry.v1.HomeResponse"1\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/gantry/{name}/home\x12\x9d\x01\n\nGetLengths\x12+.viam.component.gantry.v1.GetLengthsRequest\x1a,.viam.component.gantry.v1.GetLengthsResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/gantry/{name}/lengths\x12\x88\x01\n\x04Stop\x12%.viam.component.gantry.v1.StopRequest\x1a&.viam.component.gantry.v1.StopResponse"1\x82\xd3\xe4\x93\x02+")/viam/api/v1/component/gantry/{name}/stop\x12\x99\x01\n\x08IsMoving\x12).viam.component.gantry.v1.IsMovingRequest\x1a*.viam.component.gantry.v1.IsMovingResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/gantry/{name}/is_moving\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/gantry/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gantry/{name}/geometriesBC\n\x1ccom.viam.component.gantry.v1Z#go.viam.com/api/component/gantry/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n component/gantry/v1/gantry.proto\x12\x18viam.component.gantry.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n\x13GetPositionResponse\x12!\n\x0cpositions_mm\x18\x01 \x03(\x01R\x0bpositionsMm"\xa8\x01\n\x15MoveToPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12!\n\x0cpositions_mm\x18\x02 \x03(\x01R\x0bpositionsMm\x12)\n\x11speeds_mm_per_sec\x18\x03 \x03(\x01R\x0espeedsMmPerSec\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16MoveToPositionResponse"P\n\x0bHomeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"$\n\x0cHomeResponse\x12\x14\n\x05homed\x18\x01 \x01(\x08R\x05homed"V\n\x11GetLengthsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"3\n\x12GetLengthsResponse\x12\x1d\n\nlengths_mm\x18\x01 \x03(\x01R\tlengthsMm"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"g\n\x06Status\x12!\n\x0cpositions_mm\x18\x01 \x03(\x01R\x0bpositionsMm\x12\x1d\n\nlengths_mm\x18\x02 \x03(\x01R\tlengthsMm\x12\x1b\n\tis_moving\x18\x03 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\xda\t\n\rGantryService\x12\xa1\x01\n\x0bGetPosition\x12,.viam.component.gantry.v1.GetPositionRequest\x1a-.viam.component.gantry.v1.GetPositionResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/gantry/{name}/position\x12\xae\x01\n\x0eMoveToPosition\x12/.viam.component.gantry.v1.MoveToPositionRequest\x1a0.viam.component.gantry.v1.MoveToPositionResponse"9\xa0\x92)\x01\x82\xd3\xe4\x93\x02/\x1a-/viam/api/v1/component/gantry/{name}/position\x12\x88\x01\n\x04Home\x12%.viam.component.gantry.v1.HomeRequest\x1a&.viam.component.gantry.v1.HomeResponse"1\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/gantry/{name}/home\x12\x9d\x01\n\nGetLengths\x12+.viam.component.gantry.v1.GetLengthsRequest\x1a,.viam.component.gantry.v1.GetLengthsResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/gantry/{name}/lengths\x12\x88\x01\n\x04Stop\x12%.viam.component.gantry.v1.StopRequest\x1a&.viam.component.gantry.v1.StopResponse"1\x82\xd3\xe4\x93\x02+")/viam/api/v1/component/gantry/{name}/stop\x12\x99\x01\n\x08IsMoving\x12).viam.component.gantry.v1.IsMovingRequest\x1a*.viam.component.gantry.v1.IsMovingResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/gantry/{name}/is_moving\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/gantry/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gantry/{name}/geometriesBC\n\x1ccom.viam.component.gantry.v1Z#go.viam.com/api/component/gantry/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.gantry.v1.gantry_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.gantry.v1.gantry_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1ccom.viam.component.gantry.v1Z#go.viam.com/api/component/gantry/v1' - _GANTRYSERVICE.methods_by_name['GetPosition']._options = None - _GANTRYSERVICE.methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/gantry/{name}/position' - _GANTRYSERVICE.methods_by_name['MoveToPosition']._options = None - _GANTRYSERVICE.methods_by_name['MoveToPosition']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02/\x1a-/viam/api/v1/component/gantry/{name}/position' - _GANTRYSERVICE.methods_by_name['Home']._options = None - _GANTRYSERVICE.methods_by_name['Home']._serialized_options = b'\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/gantry/{name}/home' - _GANTRYSERVICE.methods_by_name['GetLengths']._options = None - _GANTRYSERVICE.methods_by_name['GetLengths']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/gantry/{name}/lengths' - _GANTRYSERVICE.methods_by_name['Stop']._options = None - _GANTRYSERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02+")/viam/api/v1/component/gantry/{name}/stop' - _GANTRYSERVICE.methods_by_name['IsMoving']._options = None - _GANTRYSERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/gantry/{name}/is_moving' - _GANTRYSERVICE.methods_by_name['DoCommand']._options = None - _GANTRYSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/gantry/{name}/do_command' - _GANTRYSERVICE.methods_by_name['GetGeometries']._options = None - _GANTRYSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gantry/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1ccom.viam.component.gantry.v1Z#go.viam.com/api/component/gantry/v1" + ) + _GANTRYSERVICE.methods_by_name["GetPosition"]._options = None + _GANTRYSERVICE.methods_by_name[ + "GetPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/gantry/{name}/position" + ) + _GANTRYSERVICE.methods_by_name["MoveToPosition"]._options = None + _GANTRYSERVICE.methods_by_name[ + "MoveToPosition" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02/\x1a-/viam/api/v1/component/gantry/{name}/position" + _GANTRYSERVICE.methods_by_name["Home"]._options = None + _GANTRYSERVICE.methods_by_name[ + "Home" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/gantry/{name}/home" + ) + _GANTRYSERVICE.methods_by_name["GetLengths"]._options = None + _GANTRYSERVICE.methods_by_name[ + "GetLengths" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/gantry/{name}/lengths" + ) + _GANTRYSERVICE.methods_by_name["Stop"]._options = None + _GANTRYSERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02+")/viam/api/v1/component/gantry/{name}/stop' + ) + _GANTRYSERVICE.methods_by_name["IsMoving"]._options = None + _GANTRYSERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/gantry/{name}/is_moving" + ) + _GANTRYSERVICE.methods_by_name["DoCommand"]._options = None + _GANTRYSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/gantry/{name}/do_command' + ) + _GANTRYSERVICE.methods_by_name["GetGeometries"]._options = None + _GANTRYSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gantry/{name}/geometries" + ) _GETPOSITIONREQUEST._serialized_start = 146 _GETPOSITIONREQUEST._serialized_end = 233 _GETPOSITIONRESPONSE._serialized_start = 235 @@ -56,4 +95,4 @@ _ISMOVINGRESPONSE._serialized_start = 993 _ISMOVINGRESPONSE._serialized_end = 1040 _GANTRYSERVICE._serialized_start = 1043 - _GANTRYSERVICE._serialized_end = 2285 \ No newline at end of file + _GANTRYSERVICE._serialized_end = 2285 diff --git a/src/viam/gen/component/gantry/v1/gantry_pb2.pyi b/src/viam/gen/component/gantry/v1/gantry_pb2.pyi index d5c35047e..f58d6db9d 100644 --- a/src/viam/gen/component/gantry/v1/gantry_pb2.pyi +++ b/src/viam/gen/component/gantry/v1/gantry_pb2.pyi @@ -4,11 +4,13 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -26,14 +28,19 @@ class GetPositionRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -42,14 +49,18 @@ class GetPositionResponse(google.protobuf.message.Message): POSITIONS_MM_FIELD_NUMBER: builtins.int @property - def positions_mm(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... - - def __init__(self, *, positions_mm: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... + def positions_mm( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... + def __init__( + self, *, positions_mm: collections.abc.Iterable[builtins.float] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["positions_mm", b"positions_mm"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['positions_mm', b'positions_mm']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -62,33 +73,58 @@ class MoveToPositionRequest(google.protobuf.message.Message): name: builtins.str @property - def positions_mm(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: + def positions_mm( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: """Number of millimeters to move the gantry by respective to each axis.""" @property - def speeds_mm_per_sec(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: + def speeds_mm_per_sec( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: """Speeds to move each gantry axis must match length and order of positions_mm.""" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., positions_mm: collections.abc.Iterable[builtins.float] | None=..., speeds_mm_per_sec: collections.abc.Iterable[builtins.float] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + positions_mm: collections.abc.Iterable[builtins.float] | None = ..., + speeds_mm_per_sec: collections.abc.Iterable[builtins.float] | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "name", + b"name", + "positions_mm", + b"positions_mm", + "speeds_mm_per_sec", + b"speeds_mm_per_sec", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'positions_mm', b'positions_mm', 'speeds_mm_per_sec', b'speeds_mm_per_sec']) -> None: - ... global___MoveToPositionRequest = MoveToPositionRequest @typing_extensions.final class MoveToPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MoveToPositionResponse = MoveToPositionResponse @typing_extensions.final @@ -102,14 +138,19 @@ class HomeRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___HomeRequest = HomeRequest @typing_extensions.final @@ -117,13 +158,13 @@ class HomeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor HOMED_FIELD_NUMBER: builtins.int homed: builtins.bool - 'A bool describing whether the gantry has completed homing' + "A bool describing whether the gantry has completed homing" - def __init__(self, *, homed: builtins.bool=...) -> None: - ... + def __init__(self, *, homed: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["homed", b"homed"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['homed', b'homed']) -> None: - ... global___HomeResponse = HomeResponse @typing_extensions.final @@ -137,14 +178,19 @@ class GetLengthsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetLengthsRequest = GetLengthsRequest @typing_extensions.final @@ -153,14 +199,18 @@ class GetLengthsResponse(google.protobuf.message.Message): LENGTHS_MM_FIELD_NUMBER: builtins.int @property - def lengths_mm(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... - - def __init__(self, *, lengths_mm: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... + def lengths_mm( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... + def __init__( + self, *, lengths_mm: collections.abc.Iterable[builtins.float] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["lengths_mm", b"lengths_mm"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['lengths_mm', b'lengths_mm']) -> None: - ... global___GetLengthsResponse = GetLengthsResponse @typing_extensions.final @@ -169,28 +219,33 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a gantry' + "Name of a gantry" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -201,19 +256,38 @@ class Status(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int @property - def positions_mm(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... - + def positions_mm( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... @property - def lengths_mm(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... + def lengths_mm( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... is_moving: builtins.bool - def __init__(self, *, positions_mm: collections.abc.Iterable[builtins.float] | None=..., lengths_mm: collections.abc.Iterable[builtins.float] | None=..., is_moving: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + positions_mm: collections.abc.Iterable[builtins.float] | None = ..., + lengths_mm: collections.abc.Iterable[builtins.float] | None = ..., + is_moving: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "is_moving", + b"is_moving", + "lengths_mm", + b"lengths_mm", + "positions_mm", + b"positions_mm", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving', 'lengths_mm', b'lengths_mm', 'positions_mm', b'positions_mm']) -> None: - ... global___Status = Status @typing_extensions.final @@ -222,11 +296,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -235,9 +309,9 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... -global___IsMovingResponse = IsMovingResponse \ No newline at end of file +global___IsMovingResponse = IsMovingResponse diff --git a/src/viam/gen/component/generic/v1/generic_grpc.py b/src/viam/gen/component/generic/v1/generic_grpc.py index ecfb775df..3fc06401d 100644 --- a/src/viam/gen/component/generic/v1/generic_grpc.py +++ b/src/viam/gen/component/generic/v1/generic_grpc.py @@ -1,28 +1,59 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 -from .... import component -class GenericServiceBase(abc.ABC): +from .... import common, component + +class GenericServiceBase(abc.ABC): @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.generic.v1.GenericService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.generic.v1.GenericService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.generic.v1.GenericService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.generic.v1.GenericService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class GenericServiceStub: +class GenericServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.generic.v1.GenericService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.generic.v1.GenericService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.generic.v1.GenericService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.generic.v1.GenericService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/generic/v1/generic_pb2.py b/src/viam/gen/component/generic/v1/generic_pb2.py index 0d9f2f6bd..f569b202d 100644 --- a/src/viam/gen/component/generic/v1/generic_pb2.py +++ b/src/viam/gen/component/generic/v1/generic_pb2.py @@ -1,20 +1,37 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/generic/v1/generic.proto\x12\x19viam.component.generic.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\xb6\x02\n\x0eGenericService\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/generic/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/generic/{name}/geometriesBE\n\x1dcom.viam.component.generic.v1Z$go.viam.com/api/component/generic/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n"component/generic/v1/generic.proto\x12\x19viam.component.generic.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\xb6\x02\n\x0eGenericService\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/generic/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/generic/{name}/geometriesBE\n\x1dcom.viam.component.generic.v1Z$go.viam.com/api/component/generic/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.generic.v1.generic_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.generic.v1.generic_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1dcom.viam.component.generic.v1Z$go.viam.com/api/component/generic/v1' - _GENERICSERVICE.methods_by_name['DoCommand']._options = None - _GENERICSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/generic/{name}/do_command' - _GENERICSERVICE.methods_by_name['GetGeometries']._options = None - _GENERICSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/generic/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1dcom.viam.component.generic.v1Z$go.viam.com/api/component/generic/v1" + ) + _GENERICSERVICE.methods_by_name["DoCommand"]._options = None + _GENERICSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/generic/{name}/do_command' + ) + _GENERICSERVICE.methods_by_name["GetGeometries"]._options = None + _GENERICSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/generic/{name}/geometries" + ) _GENERICSERVICE._serialized_start = 120 - _GENERICSERVICE._serialized_end = 430 \ No newline at end of file + _GENERICSERVICE._serialized_end = 430 diff --git a/src/viam/gen/component/generic/v1/generic_pb2.pyi b/src/viam/gen/component/generic/v1/generic_pb2.pyi index ab0716881..e08fa11c2 100644 --- a/src/viam/gen/component/generic/v1/generic_pb2.pyi +++ b/src/viam/gen/component/generic/v1/generic_pb2.pyi @@ -3,4 +3,5 @@ isort:skip_file """ import google.protobuf.descriptor -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor \ No newline at end of file + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor diff --git a/src/viam/gen/component/gripper/v1/gripper_grpc.py b/src/viam/gen/component/gripper/v1/gripper_grpc.py index b89661c25..f10a6fb0c 100644 --- a/src/viam/gen/component/gripper/v1/gripper_grpc.py +++ b/src/viam/gen/component/gripper/v1/gripper_grpc.py @@ -1,49 +1,136 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class GripperServiceBase(abc.ABC): +from .... import common, component + +class GripperServiceBase(abc.ABC): @abc.abstractmethod - async def Open(self, stream: 'grpclib.server.Stream[component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse]') -> None: + async def Open( + self, + stream: "grpclib.server.Stream[component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse]", + ) -> None: pass @abc.abstractmethod - async def Grab(self, stream: 'grpclib.server.Stream[component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse]') -> None: + async def Grab( + self, + stream: "grpclib.server.Stream[component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.gripper.v1.GripperService/Open': grpclib.const.Handler(self.Open, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse), '/viam.component.gripper.v1.GripperService/Grab': grpclib.const.Handler(self.Grab, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse), '/viam.component.gripper.v1.GripperService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse), '/viam.component.gripper.v1.GripperService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse), '/viam.component.gripper.v1.GripperService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.gripper.v1.GripperService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.gripper.v1.GripperService/Open": grpclib.const.Handler( + self.Open, + grpclib.const.Cardinality.UNARY_UNARY, + component.gripper.v1.gripper_pb2.OpenRequest, + component.gripper.v1.gripper_pb2.OpenResponse, + ), + "/viam.component.gripper.v1.GripperService/Grab": grpclib.const.Handler( + self.Grab, + grpclib.const.Cardinality.UNARY_UNARY, + component.gripper.v1.gripper_pb2.GrabRequest, + component.gripper.v1.gripper_pb2.GrabResponse, + ), + "/viam.component.gripper.v1.GripperService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.gripper.v1.gripper_pb2.StopRequest, + component.gripper.v1.gripper_pb2.StopResponse, + ), + "/viam.component.gripper.v1.GripperService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.gripper.v1.gripper_pb2.IsMovingRequest, + component.gripper.v1.gripper_pb2.IsMovingResponse, + ), + "/viam.component.gripper.v1.GripperService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.gripper.v1.GripperService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class GripperServiceStub: +class GripperServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Open = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/Open', component.gripper.v1.gripper_pb2.OpenRequest, component.gripper.v1.gripper_pb2.OpenResponse) - self.Grab = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/Grab', component.gripper.v1.gripper_pb2.GrabRequest, component.gripper.v1.gripper_pb2.GrabResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/Stop', component.gripper.v1.gripper_pb2.StopRequest, component.gripper.v1.gripper_pb2.StopResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/IsMoving', component.gripper.v1.gripper_pb2.IsMovingRequest, component.gripper.v1.gripper_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.gripper.v1.GripperService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.Open = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/Open", + component.gripper.v1.gripper_pb2.OpenRequest, + component.gripper.v1.gripper_pb2.OpenResponse, + ) + self.Grab = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/Grab", + component.gripper.v1.gripper_pb2.GrabRequest, + component.gripper.v1.gripper_pb2.GrabResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/Stop", + component.gripper.v1.gripper_pb2.StopRequest, + component.gripper.v1.gripper_pb2.StopResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/IsMoving", + component.gripper.v1.gripper_pb2.IsMovingRequest, + component.gripper.v1.gripper_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.gripper.v1.GripperService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/gripper/v1/gripper_pb2.py b/src/viam/gen/component/gripper/v1/gripper_pb2.py index 2e445dcbb..78f564513 100644 --- a/src/viam/gen/component/gripper/v1/gripper_pb2.py +++ b/src/viam/gen/component/gripper/v1/gripper_pb2.py @@ -1,30 +1,59 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"component/gripper/v1/gripper.proto\x12\x19viam.component.gripper.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bOpenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cOpenResponse"P\n\x0bGrabRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x0cGrabResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x87\x07\n\x0eGripperService\x12\x8f\x01\n\x04Open\x12&.viam.component.gripper.v1.OpenRequest\x1a\'.viam.component.gripper.v1.OpenResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open\x12\x8f\x01\n\x04Grab\x12&.viam.component.gripper.v1.GrabRequest\x1a\'.viam.component.gripper.v1.GrabResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab\x12\x8b\x01\n\x04Stop\x12&.viam.component.gripper.v1.StopRequest\x1a\'.viam.component.gripper.v1.StopResponse"2\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop\x12\x9c\x01\n\x08IsMoving\x12*.viam.component.gripper.v1.IsMovingRequest\x1a+.viam.component.gripper.v1.IsMovingResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometriesBE\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n"component/gripper/v1/gripper.proto\x12\x19viam.component.gripper.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bOpenRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cOpenResponse"P\n\x0bGrabRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x0cGrabResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x87\x07\n\x0eGripperService\x12\x8f\x01\n\x04Open\x12&.viam.component.gripper.v1.OpenRequest\x1a\'.viam.component.gripper.v1.OpenResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open\x12\x8f\x01\n\x04Grab\x12&.viam.component.gripper.v1.GrabRequest\x1a\'.viam.component.gripper.v1.GrabResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab\x12\x8b\x01\n\x04Stop\x12&.viam.component.gripper.v1.StopRequest\x1a\'.viam.component.gripper.v1.StopResponse"2\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop\x12\x9c\x01\n\x08IsMoving\x12*.viam.component.gripper.v1.IsMovingRequest\x1a+.viam.component.gripper.v1.IsMovingResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving\x12\x8a\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command\x12\x96\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometriesBE\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.gripper.v1.gripper_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.gripper.v1.gripper_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1' - _GRIPPERSERVICE.methods_by_name['Open']._options = None - _GRIPPERSERVICE.methods_by_name['Open']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open' - _GRIPPERSERVICE.methods_by_name['Grab']._options = None - _GRIPPERSERVICE.methods_by_name['Grab']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab' - _GRIPPERSERVICE.methods_by_name['Stop']._options = None - _GRIPPERSERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop' - _GRIPPERSERVICE.methods_by_name['IsMoving']._options = None - _GRIPPERSERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving' - _GRIPPERSERVICE.methods_by_name['DoCommand']._options = None - _GRIPPERSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command' - _GRIPPERSERVICE.methods_by_name['GetGeometries']._options = None - _GRIPPERSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1dcom.viam.component.gripper.v1Z$go.viam.com/api/component/gripper/v1" + ) + _GRIPPERSERVICE.methods_by_name["Open"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "Open" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/open" + _GRIPPERSERVICE.methods_by_name["Grab"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "Grab" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/gripper/{name}/grab" + _GRIPPERSERVICE.methods_by_name["Stop"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02,"*/viam/api/v1/component/gripper/{name}/stop' + ) + _GRIPPERSERVICE.methods_by_name["IsMoving"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/gripper/{name}/is_moving" + ) + _GRIPPERSERVICE.methods_by_name["DoCommand"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/component/gripper/{name}/do_command' + ) + _GRIPPERSERVICE.methods_by_name["GetGeometries"]._options = None + _GRIPPERSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/gripper/{name}/geometries" + ) _OPENREQUEST._serialized_start = 149 _OPENREQUEST._serialized_end = 229 _OPENRESPONSE._serialized_start = 231 @@ -42,4 +71,4 @@ _ISMOVINGRESPONSE._serialized_start = 555 _ISMOVINGRESPONSE._serialized_end = 602 _GRIPPERSERVICE._serialized_start = 605 - _GRIPPERSERVICE._serialized_end = 1508 \ No newline at end of file + _GRIPPERSERVICE._serialized_end = 1508 diff --git a/src/viam/gen/component/gripper/v1/gripper_pb2.pyi b/src/viam/gen/component/gripper/v1/gripper_pb2.pyi index 091604ccb..e6c75950b 100644 --- a/src/viam/gen/component/gripper/v1/gripper_pb2.pyi +++ b/src/viam/gen/component/gripper/v1/gripper_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -21,25 +23,28 @@ class OpenRequest(google.protobuf.message.Message): name: builtins.str @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___OpenRequest = OpenRequest @typing_extensions.final class OpenResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___OpenResponse = OpenResponse @typing_extensions.final @@ -50,17 +55,20 @@ class GrabRequest(google.protobuf.message.Message): name: builtins.str @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GrabRequest = GrabRequest @typing_extensions.final @@ -71,17 +79,21 @@ class GrabResponse(google.protobuf.message.Message): success: builtins.bool @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, success: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + success: builtins.bool = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["extra", b"extra", "success", b"success"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'success', b'success']) -> None: - ... global___GrabResponse = GrabResponse @typing_extensions.final @@ -90,28 +102,31 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a gripper' + "Name of a gripper" @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -120,11 +135,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -133,9 +148,9 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... -global___IsMovingResponse = IsMovingResponse \ No newline at end of file +global___IsMovingResponse = IsMovingResponse diff --git a/src/viam/gen/component/inputcontroller/v1/input_controller_grpc.py b/src/viam/gen/component/inputcontroller/v1/input_controller_grpc.py index 14e329e06..6cfb63fc3 100644 --- a/src/viam/gen/component/inputcontroller/v1/input_controller_grpc.py +++ b/src/viam/gen/component/inputcontroller/v1/input_controller_grpc.py @@ -1,50 +1,137 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -from .... import component -class InputControllerServiceBase(abc.ABC): +from .... import common, component + +class InputControllerServiceBase(abc.ABC): @abc.abstractmethod - async def GetControls(self, stream: 'grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse]') -> None: + async def GetControls( + self, + stream: "grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetEvents(self, stream: 'grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse]') -> None: + async def GetEvents( + self, + stream: "grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse]", + ) -> None: pass @abc.abstractmethod - async def StreamEvents(self, stream: 'grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse]') -> None: + async def StreamEvents( + self, + stream: "grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse]", + ) -> None: pass @abc.abstractmethod - async def TriggerEvent(self, stream: 'grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse]') -> None: + async def TriggerEvent( + self, + stream: "grpclib.server.Stream[component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.inputcontroller.v1.InputControllerService/GetControls': grpclib.const.Handler(self.GetControls, grpclib.const.Cardinality.UNARY_UNARY, component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse), '/viam.component.inputcontroller.v1.InputControllerService/GetEvents': grpclib.const.Handler(self.GetEvents, grpclib.const.Cardinality.UNARY_UNARY, component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse), '/viam.component.inputcontroller.v1.InputControllerService/StreamEvents': grpclib.const.Handler(self.StreamEvents, grpclib.const.Cardinality.UNARY_STREAM, component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse), '/viam.component.inputcontroller.v1.InputControllerService/TriggerEvent': grpclib.const.Handler(self.TriggerEvent, grpclib.const.Cardinality.UNARY_UNARY, component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse), '/viam.component.inputcontroller.v1.InputControllerService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.inputcontroller.v1.InputControllerService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.inputcontroller.v1.InputControllerService/GetControls": grpclib.const.Handler( + self.GetControls, + grpclib.const.Cardinality.UNARY_UNARY, + component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, + component.inputcontroller.v1.input_controller_pb2.GetControlsResponse, + ), + "/viam.component.inputcontroller.v1.InputControllerService/GetEvents": grpclib.const.Handler( + self.GetEvents, + grpclib.const.Cardinality.UNARY_UNARY, + component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, + component.inputcontroller.v1.input_controller_pb2.GetEventsResponse, + ), + "/viam.component.inputcontroller.v1.InputControllerService/StreamEvents": grpclib.const.Handler( + self.StreamEvents, + grpclib.const.Cardinality.UNARY_STREAM, + component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, + component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse, + ), + "/viam.component.inputcontroller.v1.InputControllerService/TriggerEvent": grpclib.const.Handler( + self.TriggerEvent, + grpclib.const.Cardinality.UNARY_UNARY, + component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, + component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse, + ), + "/viam.component.inputcontroller.v1.InputControllerService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.inputcontroller.v1.InputControllerService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class InputControllerServiceStub: +class InputControllerServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetControls = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/GetControls', component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, component.inputcontroller.v1.input_controller_pb2.GetControlsResponse) - self.GetEvents = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/GetEvents', component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, component.inputcontroller.v1.input_controller_pb2.GetEventsResponse) - self.StreamEvents = grpclib.client.UnaryStreamMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/StreamEvents', component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse) - self.TriggerEvent = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/TriggerEvent', component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.inputcontroller.v1.InputControllerService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetControls = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/GetControls", + component.inputcontroller.v1.input_controller_pb2.GetControlsRequest, + component.inputcontroller.v1.input_controller_pb2.GetControlsResponse, + ) + self.GetEvents = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/GetEvents", + component.inputcontroller.v1.input_controller_pb2.GetEventsRequest, + component.inputcontroller.v1.input_controller_pb2.GetEventsResponse, + ) + self.StreamEvents = grpclib.client.UnaryStreamMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/StreamEvents", + component.inputcontroller.v1.input_controller_pb2.StreamEventsRequest, + component.inputcontroller.v1.input_controller_pb2.StreamEventsResponse, + ) + self.TriggerEvent = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/TriggerEvent", + component.inputcontroller.v1.input_controller_pb2.TriggerEventRequest, + component.inputcontroller.v1.input_controller_pb2.TriggerEventResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.inputcontroller.v1.InputControllerService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.py b/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.py index 16950b77e..203e3999c 100644 --- a/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.py +++ b/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.py @@ -1,31 +1,60 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3component/inputcontroller/v1/input_controller.proto\x12!viam.component.inputcontroller.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"c\n\x12GetControlsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x13GetControlsResponse\x12\x1a\n\x08controls\x18\x01 \x03(\tR\x08controls"a\n\x10GetEventsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"U\n\x11GetEventsResponse\x12@\n\x06events\x18\x01 \x03(\x0b2(.viam.component.inputcontroller.v1.EventR\x06events"\xa4\x01\n\x13TriggerEventRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12>\n\x05event\x18\x02 \x01(\x0b2(.viam.component.inputcontroller.v1.EventR\x05event\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x16\n\x14TriggerEventResponse"}\n\x05Event\x12.\n\x04time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x14\n\x05event\x18\x02 \x01(\tR\x05event\x12\x18\n\x07control\x18\x03 \x01(\tR\x07control\x12\x14\n\x05value\x18\x04 \x01(\x01R\x05value"\xa2\x02\n\x13StreamEventsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12U\n\x06events\x18\x02 \x03(\x0b2=.viam.component.inputcontroller.v1.StreamEventsRequest.EventsR\x06events\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra\x1ae\n\x06Events\x12\x18\n\x07control\x18\x01 \x01(\tR\x07control\x12\x16\n\x06events\x18\x02 \x03(\tR\x06events\x12)\n\x10cancelled_events\x18\x03 \x03(\tR\x0fcancelledEvents"V\n\x14StreamEventsResponse\x12>\n\x05event\x18\x01 \x01(\x0b2(.viam.component.inputcontroller.v1.EventR\x05event"J\n\x06Status\x12@\n\x06events\x18\x01 \x03(\x0b2(.viam.component.inputcontroller.v1.EventR\x06events2\xa7\x08\n\x16InputControllerService\x12\xb8\x01\n\x0bGetControls\x125.viam.component.inputcontroller.v1.GetControlsRequest\x1a6.viam.component.inputcontroller.v1.GetControlsResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/input/{controller}/controls\x12\xb0\x01\n\tGetEvents\x123.viam.component.inputcontroller.v1.GetEventsRequest\x1a4.viam.component.inputcontroller.v1.GetEventsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/input/{controller}/events\x12\xc1\x01\n\x0cStreamEvents\x126.viam.component.inputcontroller.v1.StreamEventsRequest\x1a7.viam.component.inputcontroller.v1.StreamEventsResponse">\x82\xd3\xe4\x93\x028\x126/viam/api/v1/component/input/{controller}/event_stream0\x01\x12\xb8\x01\n\x0cTriggerEvent\x126.viam.component.inputcontroller.v1.TriggerEventRequest\x1a7.viam.component.inputcontroller.v1.TriggerEventResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/input/{controller}/event\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/input/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/input/{name}/geometriesBU\n%com.viam.component.inputcontroller.v1Z,go.viam.com/api/component/inputcontroller/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n3component/inputcontroller/v1/input_controller.proto\x12!viam.component.inputcontroller.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"c\n\x12GetControlsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x13GetControlsResponse\x12\x1a\n\x08controls\x18\x01 \x03(\tR\x08controls"a\n\x10GetEventsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"U\n\x11GetEventsResponse\x12@\n\x06events\x18\x01 \x03(\x0b2(.viam.component.inputcontroller.v1.EventR\x06events"\xa4\x01\n\x13TriggerEventRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12>\n\x05event\x18\x02 \x01(\x0b2(.viam.component.inputcontroller.v1.EventR\x05event\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x16\n\x14TriggerEventResponse"}\n\x05Event\x12.\n\x04time\x18\x01 \x01(\x0b2\x1a.google.protobuf.TimestampR\x04time\x12\x14\n\x05event\x18\x02 \x01(\tR\x05event\x12\x18\n\x07control\x18\x03 \x01(\tR\x07control\x12\x14\n\x05value\x18\x04 \x01(\x01R\x05value"\xa2\x02\n\x13StreamEventsRequest\x12\x1e\n\ncontroller\x18\x01 \x01(\tR\ncontroller\x12U\n\x06events\x18\x02 \x03(\x0b2=.viam.component.inputcontroller.v1.StreamEventsRequest.EventsR\x06events\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra\x1ae\n\x06Events\x12\x18\n\x07control\x18\x01 \x01(\tR\x07control\x12\x16\n\x06events\x18\x02 \x03(\tR\x06events\x12)\n\x10cancelled_events\x18\x03 \x03(\tR\x0fcancelledEvents"V\n\x14StreamEventsResponse\x12>\n\x05event\x18\x01 \x01(\x0b2(.viam.component.inputcontroller.v1.EventR\x05event"J\n\x06Status\x12@\n\x06events\x18\x01 \x03(\x0b2(.viam.component.inputcontroller.v1.EventR\x06events2\xa7\x08\n\x16InputControllerService\x12\xb8\x01\n\x0bGetControls\x125.viam.component.inputcontroller.v1.GetControlsRequest\x1a6.viam.component.inputcontroller.v1.GetControlsResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/input/{controller}/controls\x12\xb0\x01\n\tGetEvents\x123.viam.component.inputcontroller.v1.GetEventsRequest\x1a4.viam.component.inputcontroller.v1.GetEventsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/input/{controller}/events\x12\xc1\x01\n\x0cStreamEvents\x126.viam.component.inputcontroller.v1.StreamEventsRequest\x1a7.viam.component.inputcontroller.v1.StreamEventsResponse">\x82\xd3\xe4\x93\x028\x126/viam/api/v1/component/input/{controller}/event_stream0\x01\x12\xb8\x01\n\x0cTriggerEvent\x126.viam.component.inputcontroller.v1.TriggerEventRequest\x1a7.viam.component.inputcontroller.v1.TriggerEventResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/input/{controller}/event\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/input/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/input/{name}/geometriesBU\n%com.viam.component.inputcontroller.v1Z,go.viam.com/api/component/inputcontroller/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.inputcontroller.v1.input_controller_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.inputcontroller.v1.input_controller_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n%com.viam.component.inputcontroller.v1Z,go.viam.com/api/component/inputcontroller/v1' - _INPUTCONTROLLERSERVICE.methods_by_name['GetControls']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['GetControls']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/input/{controller}/controls' - _INPUTCONTROLLERSERVICE.methods_by_name['GetEvents']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['GetEvents']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/input/{controller}/events' - _INPUTCONTROLLERSERVICE.methods_by_name['StreamEvents']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['StreamEvents']._serialized_options = b'\x82\xd3\xe4\x93\x028\x126/viam/api/v1/component/input/{controller}/event_stream' - _INPUTCONTROLLERSERVICE.methods_by_name['TriggerEvent']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['TriggerEvent']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/input/{controller}/event' - _INPUTCONTROLLERSERVICE.methods_by_name['DoCommand']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/input/{name}/do_command' - _INPUTCONTROLLERSERVICE.methods_by_name['GetGeometries']._options = None - _INPUTCONTROLLERSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/input/{name}/geometries' + DESCRIPTOR._serialized_options = b"\n%com.viam.component.inputcontroller.v1Z,go.viam.com/api/component/inputcontroller/v1" + _INPUTCONTROLLERSERVICE.methods_by_name["GetControls"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "GetControls" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/input/{controller}/controls" + ) + _INPUTCONTROLLERSERVICE.methods_by_name["GetEvents"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "GetEvents" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/input/{controller}/events" + ) + _INPUTCONTROLLERSERVICE.methods_by_name["StreamEvents"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "StreamEvents" + ]._serialized_options = b"\x82\xd3\xe4\x93\x028\x126/viam/api/v1/component/input/{controller}/event_stream" + _INPUTCONTROLLERSERVICE.methods_by_name["TriggerEvent"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "TriggerEvent" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/input/{controller}/event' + ) + _INPUTCONTROLLERSERVICE.methods_by_name["DoCommand"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/input/{name}/do_command' + ) + _INPUTCONTROLLERSERVICE.methods_by_name["GetGeometries"]._options = None + _INPUTCONTROLLERSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/input/{name}/geometries" + ) _GETCONTROLSREQUEST._serialized_start = 207 _GETCONTROLSREQUEST._serialized_end = 306 _GETCONTROLSRESPONSE._serialized_start = 308 @@ -49,4 +78,4 @@ _STATUS._serialized_start = 1244 _STATUS._serialized_end = 1318 _INPUTCONTROLLERSERVICE._serialized_start = 1321 - _INPUTCONTROLLERSERVICE._serialized_end = 2384 \ No newline at end of file + _INPUTCONTROLLERSERVICE._serialized_end = 2384 diff --git a/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi b/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi index a1490b001..f74002975 100644 --- a/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi +++ b/src/viam/gen/component/inputcontroller/v1/input_controller_pb2.pyi @@ -4,12 +4,14 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -22,20 +24,28 @@ class GetControlsRequest(google.protobuf.message.Message): CONTROLLER_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int controller: builtins.str - 'Name of an input controller' + "Name of an input controller" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, controller: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + controller: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "controller", b"controller", "extra", b"extra" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['controller', b'controller', 'extra', b'extra']) -> None: - ... global___GetControlsRequest = GetControlsRequest @typing_extensions.final @@ -44,16 +54,20 @@ class GetControlsResponse(google.protobuf.message.Message): CONTROLS_FIELD_NUMBER: builtins.int @property - def controls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def controls( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """Returns a list of all the controls (buttons and axes) that are available to a given Input Controller """ - def __init__(self, *, controls: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... + def __init__( + self, *, controls: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["controls", b"controls"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['controls', b'controls']) -> None: - ... global___GetControlsResponse = GetControlsResponse @typing_extensions.final @@ -62,20 +76,28 @@ class GetEventsRequest(google.protobuf.message.Message): CONTROLLER_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int controller: builtins.str - 'Name of an input controller' + "Name of an input controller" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, controller: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + controller: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "controller", b"controller", "extra", b"extra" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['controller', b'controller', 'extra', b'extra']) -> None: - ... global___GetEventsRequest = GetEventsRequest @typing_extensions.final @@ -84,16 +106,22 @@ class GetEventsResponse(google.protobuf.message.Message): EVENTS_FIELD_NUMBER: builtins.int @property - def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event]: + def events( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Event + ]: """Returns a list of the most recent event for each control on a given InputController. Effectively provides the current "state" of all buttons/axes on a given input controller """ - def __init__(self, *, events: collections.abc.Iterable[global___Event] | None=...) -> None: - ... + def __init__( + self, *, events: collections.abc.Iterable[global___Event] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["events", b"events"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['events', b'events']) -> None: - ... global___GetEventsResponse = GetEventsResponse @typing_extensions.final @@ -103,7 +131,7 @@ class TriggerEventRequest(google.protobuf.message.Message): EVENT_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int controller: builtins.str - 'Name of an input controller' + "Name of an input controller" @property def event(self) -> global___Event: @@ -113,22 +141,32 @@ class TriggerEventRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, controller: builtins.str=..., event: global___Event | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + controller: builtins.str = ..., + event: global___Event | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["event", b"event", "extra", b"extra"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "controller", b"controller", "event", b"event", "extra", b"extra" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['event', b'event', 'extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['controller', b'controller', 'event', b'event', 'extra', b'extra']) -> None: - ... global___TriggerEventRequest = TriggerEventRequest @typing_extensions.final class TriggerEventResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___TriggerEventResponse = TriggerEventResponse @typing_extensions.final @@ -143,20 +181,30 @@ class Event(google.protobuf.message.Message): def time(self) -> google.protobuf.timestamp_pb2.Timestamp: """Timestamp of event""" event: builtins.str - 'An event type (eg: ButtonPress, ButtonRelease)' + "An event type (eg: ButtonPress, ButtonRelease)" control: builtins.str - 'A control, can be a button (eg: ButtonSouth) or an axis (eg: AbsoluteX)' + "A control, can be a button (eg: ButtonSouth) or an axis (eg: AbsoluteX)" value: builtins.float - '0 or 1 for buttons, -1.0 to +1.0 for axes' + "0 or 1 for buttons, -1.0 to +1.0 for axes" + + def __init__( + self, + *, + time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + event: builtins.str = ..., + control: builtins.str = ..., + value: builtins.float = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["time", b"time"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "control", b"control", "event", b"event", "time", b"time", "value", b"value" + ], + ) -> None: ... - def __init__(self, *, time: google.protobuf.timestamp_pb2.Timestamp | None=..., event: builtins.str=..., control: builtins.str=..., value: builtins.float=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['time', b'time']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['control', b'control', 'event', b'event', 'time', b'time', 'value', b'value']) -> None: - ... global___Event = Event @typing_extensions.final @@ -170,45 +218,80 @@ class StreamEventsRequest(google.protobuf.message.Message): EVENTS_FIELD_NUMBER: builtins.int CANCELLED_EVENTS_FIELD_NUMBER: builtins.int control: builtins.str - 'Name of a control (button or axis)' + "Name of a control (button or axis)" @property - def events(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def events( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: """Specify which event types to recieve events for""" @property - def cancelled_events(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def cancelled_events( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: """Specify which event types to stop recieving events for This can be an empty list """ - def __init__(self, *, control: builtins.str=..., events: collections.abc.Iterable[builtins.str] | None=..., cancelled_events: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cancelled_events', b'cancelled_events', 'control', b'control', 'events', b'events']) -> None: - ... + def __init__( + self, + *, + control: builtins.str = ..., + events: collections.abc.Iterable[builtins.str] | None = ..., + cancelled_events: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "cancelled_events", + b"cancelled_events", + "control", + b"control", + "events", + b"events", + ], + ) -> None: ... CONTROLLER_FIELD_NUMBER: builtins.int EVENTS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int controller: builtins.str - 'Name of an input controller' + "Name of an input controller" @property - def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StreamEventsRequest.Events]: + def events( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___StreamEventsRequest.Events + ]: """A list of Events""" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, controller: builtins.str=..., events: collections.abc.Iterable[global___StreamEventsRequest.Events] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + controller: builtins.str = ..., + events: collections.abc.Iterable[global___StreamEventsRequest.Events] + | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "controller", b"controller", "events", b"events", "extra", b"extra" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['controller', b'controller', 'events', b'events', 'extra', b'extra']) -> None: - ... global___StreamEventsRequest = StreamEventsRequest @typing_extensions.final @@ -220,14 +303,14 @@ class StreamEventsResponse(google.protobuf.message.Message): def event(self) -> global___Event: """Event for a controller""" - def __init__(self, *, event: global___Event | None=...) -> None: - ... + def __init__(self, *, event: global___Event | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["event", b"event"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["event", b"event"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['event', b'event']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['event', b'event']) -> None: - ... global___StreamEventsResponse = StreamEventsResponse @typing_extensions.final @@ -236,12 +319,16 @@ class Status(google.protobuf.message.Message): EVENTS_FIELD_NUMBER: builtins.int @property - def events(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Event]: - ... - - def __init__(self, *, events: collections.abc.Iterable[global___Event] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['events', b'events']) -> None: - ... -global___Status = Status \ No newline at end of file + def events( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Event + ]: ... + def __init__( + self, *, events: collections.abc.Iterable[global___Event] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["events", b"events"] + ) -> None: ... + +global___Status = Status diff --git a/src/viam/gen/component/motor/v1/motor_grpc.py b/src/viam/gen/component/motor/v1/motor_grpc.py index 83f009cdf..eaf1407c3 100644 --- a/src/viam/gen/component/motor/v1/motor_grpc.py +++ b/src/viam/gen/component/motor/v1/motor_grpc.py @@ -1,74 +1,231 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class MotorServiceBase(abc.ABC): +from .... import common, component + +class MotorServiceBase(abc.ABC): @abc.abstractmethod - async def SetPower(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.SetPowerRequest, component.motor.v1.motor_pb2.SetPowerResponse]') -> None: + async def SetPower( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.SetPowerRequest, component.motor.v1.motor_pb2.SetPowerResponse]", + ) -> None: pass @abc.abstractmethod - async def GoFor(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.GoForRequest, component.motor.v1.motor_pb2.GoForResponse]') -> None: + async def GoFor( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.GoForRequest, component.motor.v1.motor_pb2.GoForResponse]", + ) -> None: pass @abc.abstractmethod - async def GoTo(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.GoToRequest, component.motor.v1.motor_pb2.GoToResponse]') -> None: + async def GoTo( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.GoToRequest, component.motor.v1.motor_pb2.GoToResponse]", + ) -> None: pass @abc.abstractmethod - async def ResetZeroPosition(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.ResetZeroPositionRequest, component.motor.v1.motor_pb2.ResetZeroPositionResponse]') -> None: + async def ResetZeroPosition( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.ResetZeroPositionRequest, component.motor.v1.motor_pb2.ResetZeroPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.GetPositionRequest, component.motor.v1.motor_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.GetPositionRequest, component.motor.v1.motor_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.GetPropertiesRequest, component.motor.v1.motor_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.GetPropertiesRequest, component.motor.v1.motor_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.StopRequest, component.motor.v1.motor_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.StopRequest, component.motor.v1.motor_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsPowered(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.IsPoweredRequest, component.motor.v1.motor_pb2.IsPoweredResponse]') -> None: + async def IsPowered( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.IsPoweredRequest, component.motor.v1.motor_pb2.IsPoweredResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.motor.v1.motor_pb2.IsMovingRequest, component.motor.v1.motor_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.motor.v1.motor_pb2.IsMovingRequest, component.motor.v1.motor_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.motor.v1.MotorService/SetPower': grpclib.const.Handler(self.SetPower, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.SetPowerRequest, component.motor.v1.motor_pb2.SetPowerResponse), '/viam.component.motor.v1.MotorService/GoFor': grpclib.const.Handler(self.GoFor, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.GoForRequest, component.motor.v1.motor_pb2.GoForResponse), '/viam.component.motor.v1.MotorService/GoTo': grpclib.const.Handler(self.GoTo, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.GoToRequest, component.motor.v1.motor_pb2.GoToResponse), '/viam.component.motor.v1.MotorService/ResetZeroPosition': grpclib.const.Handler(self.ResetZeroPosition, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.ResetZeroPositionRequest, component.motor.v1.motor_pb2.ResetZeroPositionResponse), '/viam.component.motor.v1.MotorService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.GetPositionRequest, component.motor.v1.motor_pb2.GetPositionResponse), '/viam.component.motor.v1.MotorService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.GetPropertiesRequest, component.motor.v1.motor_pb2.GetPropertiesResponse), '/viam.component.motor.v1.MotorService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.StopRequest, component.motor.v1.motor_pb2.StopResponse), '/viam.component.motor.v1.MotorService/IsPowered': grpclib.const.Handler(self.IsPowered, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.IsPoweredRequest, component.motor.v1.motor_pb2.IsPoweredResponse), '/viam.component.motor.v1.MotorService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.motor.v1.motor_pb2.IsMovingRequest, component.motor.v1.motor_pb2.IsMovingResponse), '/viam.component.motor.v1.MotorService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.motor.v1.MotorService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.motor.v1.MotorService/SetPower": grpclib.const.Handler( + self.SetPower, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.SetPowerRequest, + component.motor.v1.motor_pb2.SetPowerResponse, + ), + "/viam.component.motor.v1.MotorService/GoFor": grpclib.const.Handler( + self.GoFor, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.GoForRequest, + component.motor.v1.motor_pb2.GoForResponse, + ), + "/viam.component.motor.v1.MotorService/GoTo": grpclib.const.Handler( + self.GoTo, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.GoToRequest, + component.motor.v1.motor_pb2.GoToResponse, + ), + "/viam.component.motor.v1.MotorService/ResetZeroPosition": grpclib.const.Handler( + self.ResetZeroPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.ResetZeroPositionRequest, + component.motor.v1.motor_pb2.ResetZeroPositionResponse, + ), + "/viam.component.motor.v1.MotorService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.GetPositionRequest, + component.motor.v1.motor_pb2.GetPositionResponse, + ), + "/viam.component.motor.v1.MotorService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.GetPropertiesRequest, + component.motor.v1.motor_pb2.GetPropertiesResponse, + ), + "/viam.component.motor.v1.MotorService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.StopRequest, + component.motor.v1.motor_pb2.StopResponse, + ), + "/viam.component.motor.v1.MotorService/IsPowered": grpclib.const.Handler( + self.IsPowered, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.IsPoweredRequest, + component.motor.v1.motor_pb2.IsPoweredResponse, + ), + "/viam.component.motor.v1.MotorService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.motor.v1.motor_pb2.IsMovingRequest, + component.motor.v1.motor_pb2.IsMovingResponse, + ), + "/viam.component.motor.v1.MotorService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.motor.v1.MotorService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class MotorServiceStub: +class MotorServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.SetPower = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/SetPower', component.motor.v1.motor_pb2.SetPowerRequest, component.motor.v1.motor_pb2.SetPowerResponse) - self.GoFor = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/GoFor', component.motor.v1.motor_pb2.GoForRequest, component.motor.v1.motor_pb2.GoForResponse) - self.GoTo = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/GoTo', component.motor.v1.motor_pb2.GoToRequest, component.motor.v1.motor_pb2.GoToResponse) - self.ResetZeroPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/ResetZeroPosition', component.motor.v1.motor_pb2.ResetZeroPositionRequest, component.motor.v1.motor_pb2.ResetZeroPositionResponse) - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/GetPosition', component.motor.v1.motor_pb2.GetPositionRequest, component.motor.v1.motor_pb2.GetPositionResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/GetProperties', component.motor.v1.motor_pb2.GetPropertiesRequest, component.motor.v1.motor_pb2.GetPropertiesResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/Stop', component.motor.v1.motor_pb2.StopRequest, component.motor.v1.motor_pb2.StopResponse) - self.IsPowered = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/IsPowered', component.motor.v1.motor_pb2.IsPoweredRequest, component.motor.v1.motor_pb2.IsPoweredResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/IsMoving', component.motor.v1.motor_pb2.IsMovingRequest, component.motor.v1.motor_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.motor.v1.MotorService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.SetPower = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/SetPower", + component.motor.v1.motor_pb2.SetPowerRequest, + component.motor.v1.motor_pb2.SetPowerResponse, + ) + self.GoFor = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/GoFor", + component.motor.v1.motor_pb2.GoForRequest, + component.motor.v1.motor_pb2.GoForResponse, + ) + self.GoTo = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/GoTo", + component.motor.v1.motor_pb2.GoToRequest, + component.motor.v1.motor_pb2.GoToResponse, + ) + self.ResetZeroPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/ResetZeroPosition", + component.motor.v1.motor_pb2.ResetZeroPositionRequest, + component.motor.v1.motor_pb2.ResetZeroPositionResponse, + ) + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/GetPosition", + component.motor.v1.motor_pb2.GetPositionRequest, + component.motor.v1.motor_pb2.GetPositionResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/GetProperties", + component.motor.v1.motor_pb2.GetPropertiesRequest, + component.motor.v1.motor_pb2.GetPropertiesResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/Stop", + component.motor.v1.motor_pb2.StopRequest, + component.motor.v1.motor_pb2.StopResponse, + ) + self.IsPowered = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/IsPowered", + component.motor.v1.motor_pb2.IsPoweredRequest, + component.motor.v1.motor_pb2.IsPoweredResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/IsMoving", + component.motor.v1.motor_pb2.IsMovingRequest, + component.motor.v1.motor_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.motor.v1.MotorService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/motor/v1/motor_pb2.py b/src/viam/gen/component/motor/v1/motor_pb2.py index 11a8cf1a7..a9877d108 100644 --- a/src/viam/gen/component/motor/v1/motor_pb2.py +++ b/src/viam/gen/component/motor/v1/motor_pb2.py @@ -1,40 +1,87 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ecomponent/motor/v1/motor.proto\x12\x17viam.component.motor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"q\n\x0fSetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tpower_pct\x18\x02 \x01(\x01R\x08powerPct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10SetPowerResponse"\x85\x01\n\x0cGoForRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03rpm\x18\x02 \x01(\x01R\x03rpm\x12 \n\x0brevolutions\x18\x03 \x01(\x01R\x0brevolutions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0f\n\rGoForResponse"\x95\x01\n\x0bGoToRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03rpm\x18\x02 \x01(\x01R\x03rpm\x121\n\x14position_revolutions\x18\x03 \x01(\x01R\x13positionRevolutions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cGoToResponse"u\n\x18ResetZeroPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06offset\x18\x02 \x01(\x01R\x06offset\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x1b\n\x19ResetZeroPositionResponse"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x13GetPositionResponse\x12\x1a\n\x08position\x18\x01 \x01(\x01R\x08position"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"U\n\x10IsPoweredRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x11IsPoweredResponse\x12\x13\n\x05is_on\x18\x01 \x01(\x08R\x04isOn\x12\x1b\n\tpower_pct\x18\x02 \x01(\x01R\x08powerPct"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"F\n\x15GetPropertiesResponse\x12-\n\x12position_reporting\x18\x01 \x01(\x08R\x11positionReporting"`\n\x06Status\x12\x1d\n\nis_powered\x18\x01 \x01(\x08R\tisPowered\x12\x1a\n\x08position\x18\x03 \x01(\x01R\x08position\x12\x1b\n\tis_moving\x18\x04 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x99\r\n\x0cMotorService\x12\x96\x01\n\x08SetPower\x12(.viam.component.motor.v1.SetPowerRequest\x1a).viam.component.motor.v1.SetPowerResponse"5\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/power\x12\x8e\x01\n\x05GoFor\x12%.viam.component.motor.v1.GoForRequest\x1a&.viam.component.motor.v1.GoForResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/motor/{name}/go_for\x12\x8a\x01\n\x04GoTo\x12$.viam.component.motor.v1.GoToRequest\x1a%.viam.component.motor.v1.GoToResponse"5\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/go_to\x12\xac\x01\n\x11ResetZeroPosition\x121.viam.component.motor.v1.ResetZeroPositionRequest\x1a2.viam.component.motor.v1.ResetZeroPositionResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/zero\x12\x9e\x01\n\x0bGetPosition\x12+.viam.component.motor.v1.GetPositionRequest\x1a,.viam.component.motor.v1.GetPositionResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/position\x12\xa4\x01\n\rGetProperties\x12-.viam.component.motor.v1.GetPropertiesRequest\x1a..viam.component.motor.v1.GetPropertiesResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/features\x12\x85\x01\n\x04Stop\x12$.viam.component.motor.v1.StopRequest\x1a%.viam.component.motor.v1.StopResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/stop\x12\x97\x01\n\tIsPowered\x12).viam.component.motor.v1.IsPoweredRequest\x1a*.viam.component.motor.v1.IsPoweredResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/motor/{name}/powered\x12\x96\x01\n\x08IsMoving\x12(.viam.component.motor.v1.IsMovingRequest\x1a).viam.component.motor.v1.IsMovingResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/motor/{name}/is_moving\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/motor/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/motor/{name}/geometriesBA\n\x1bcom.viam.component.motor.v1Z"go.viam.com/api/component/motor/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1ecomponent/motor/v1/motor.proto\x12\x17viam.component.motor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"q\n\x0fSetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tpower_pct\x18\x02 \x01(\x01R\x08powerPct\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10SetPowerResponse"\x85\x01\n\x0cGoForRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03rpm\x18\x02 \x01(\x01R\x03rpm\x12 \n\x0brevolutions\x18\x03 \x01(\x01R\x0brevolutions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0f\n\rGoForResponse"\x95\x01\n\x0bGoToRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x10\n\x03rpm\x18\x02 \x01(\x01R\x03rpm\x121\n\x14position_revolutions\x18\x03 \x01(\x01R\x13positionRevolutions\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cGoToResponse"u\n\x18ResetZeroPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x16\n\x06offset\x18\x02 \x01(\x01R\x06offset\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x1b\n\x19ResetZeroPositionResponse"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x13GetPositionResponse\x12\x1a\n\x08position\x18\x01 \x01(\x01R\x08position"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"U\n\x10IsPoweredRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"E\n\x11IsPoweredResponse\x12\x13\n\x05is_on\x18\x01 \x01(\x08R\x04isOn\x12\x1b\n\tpower_pct\x18\x02 \x01(\x01R\x08powerPct"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"F\n\x15GetPropertiesResponse\x12-\n\x12position_reporting\x18\x01 \x01(\x08R\x11positionReporting"`\n\x06Status\x12\x1d\n\nis_powered\x18\x01 \x01(\x08R\tisPowered\x12\x1a\n\x08position\x18\x03 \x01(\x01R\x08position\x12\x1b\n\tis_moving\x18\x04 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\x99\r\n\x0cMotorService\x12\x96\x01\n\x08SetPower\x12(.viam.component.motor.v1.SetPowerRequest\x1a).viam.component.motor.v1.SetPowerResponse"5\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/power\x12\x8e\x01\n\x05GoFor\x12%.viam.component.motor.v1.GoForRequest\x1a&.viam.component.motor.v1.GoForResponse"6\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/motor/{name}/go_for\x12\x8a\x01\n\x04GoTo\x12$.viam.component.motor.v1.GoToRequest\x1a%.viam.component.motor.v1.GoToResponse"5\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/go_to\x12\xac\x01\n\x11ResetZeroPosition\x121.viam.component.motor.v1.ResetZeroPositionRequest\x1a2.viam.component.motor.v1.ResetZeroPositionResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/zero\x12\x9e\x01\n\x0bGetPosition\x12+.viam.component.motor.v1.GetPositionRequest\x1a,.viam.component.motor.v1.GetPositionResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/position\x12\xa4\x01\n\rGetProperties\x12-.viam.component.motor.v1.GetPropertiesRequest\x1a..viam.component.motor.v1.GetPropertiesResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/features\x12\x85\x01\n\x04Stop\x12$.viam.component.motor.v1.StopRequest\x1a%.viam.component.motor.v1.StopResponse"0\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/stop\x12\x97\x01\n\tIsPowered\x12).viam.component.motor.v1.IsPoweredRequest\x1a*.viam.component.motor.v1.IsPoweredResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/motor/{name}/powered\x12\x96\x01\n\x08IsMoving\x12(.viam.component.motor.v1.IsMovingRequest\x1a).viam.component.motor.v1.IsMovingResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/motor/{name}/is_moving\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/motor/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/motor/{name}/geometriesBA\n\x1bcom.viam.component.motor.v1Z"go.viam.com/api/component/motor/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.motor.v1.motor_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.motor.v1.motor_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.component.motor.v1Z"go.viam.com/api/component/motor/v1' - _MOTORSERVICE.methods_by_name['SetPower']._options = None - _MOTORSERVICE.methods_by_name['SetPower']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/power' - _MOTORSERVICE.methods_by_name['GoFor']._options = None - _MOTORSERVICE.methods_by_name['GoFor']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/motor/{name}/go_for' - _MOTORSERVICE.methods_by_name['GoTo']._options = None - _MOTORSERVICE.methods_by_name['GoTo']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/go_to' - _MOTORSERVICE.methods_by_name['ResetZeroPosition']._options = None - _MOTORSERVICE.methods_by_name['ResetZeroPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/zero' - _MOTORSERVICE.methods_by_name['GetPosition']._options = None - _MOTORSERVICE.methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/position' - _MOTORSERVICE.methods_by_name['GetProperties']._options = None - _MOTORSERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/features' - _MOTORSERVICE.methods_by_name['Stop']._options = None - _MOTORSERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/stop' - _MOTORSERVICE.methods_by_name['IsPowered']._options = None - _MOTORSERVICE.methods_by_name['IsPowered']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/motor/{name}/powered' - _MOTORSERVICE.methods_by_name['IsMoving']._options = None - _MOTORSERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/motor/{name}/is_moving' - _MOTORSERVICE.methods_by_name['DoCommand']._options = None - _MOTORSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/motor/{name}/do_command' - _MOTORSERVICE.methods_by_name['GetGeometries']._options = None - _MOTORSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/motor/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b'\n\x1bcom.viam.component.motor.v1Z"go.viam.com/api/component/motor/v1' + ) + _MOTORSERVICE.methods_by_name["SetPower"]._options = None + _MOTORSERVICE.methods_by_name[ + "SetPower" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/power" + _MOTORSERVICE.methods_by_name["GoFor"]._options = None + _MOTORSERVICE.methods_by_name[ + "GoFor" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02,\x1a*/viam/api/v1/component/motor/{name}/go_for" + _MOTORSERVICE.methods_by_name["GoTo"]._options = None + _MOTORSERVICE.methods_by_name[ + "GoTo" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02+\x1a)/viam/api/v1/component/motor/{name}/go_to" + _MOTORSERVICE.methods_by_name["ResetZeroPosition"]._options = None + _MOTORSERVICE.methods_by_name[ + "ResetZeroPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/zero" + ) + _MOTORSERVICE.methods_by_name["GetPosition"]._options = None + _MOTORSERVICE.methods_by_name[ + "GetPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/position" + ) + _MOTORSERVICE.methods_by_name["GetProperties"]._options = None + _MOTORSERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/motor/{name}/features" + ) + _MOTORSERVICE.methods_by_name["Stop"]._options = None + _MOTORSERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/motor/{name}/stop" + ) + _MOTORSERVICE.methods_by_name["IsPowered"]._options = None + _MOTORSERVICE.methods_by_name[ + "IsPowered" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/component/motor/{name}/powered" + ) + _MOTORSERVICE.methods_by_name["IsMoving"]._options = None + _MOTORSERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/motor/{name}/is_moving" + ) + _MOTORSERVICE.methods_by_name["DoCommand"]._options = None + _MOTORSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/motor/{name}/do_command' + ) + _MOTORSERVICE.methods_by_name["GetGeometries"]._options = None + _MOTORSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/motor/{name}/geometries" + ) _SETPOWERREQUEST._serialized_start = 143 _SETPOWERREQUEST._serialized_end = 256 _SETPOWERRESPONSE._serialized_start = 258 @@ -74,4 +121,4 @@ _ISMOVINGRESPONSE._serialized_start = 1443 _ISMOVINGRESPONSE._serialized_end = 1490 _MOTORSERVICE._serialized_start = 1493 - _MOTORSERVICE._serialized_end = 3182 \ No newline at end of file + _MOTORSERVICE._serialized_end = 3182 diff --git a/src/viam/gen/component/motor/v1/motor_pb2.pyi b/src/viam/gen/component/motor/v1/motor_pb2.pyi index eec638b05..0fc8b6582 100644 --- a/src/viam/gen/component/motor/v1/motor_pb2.pyi +++ b/src/viam/gen/component/motor/v1/motor_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -20,7 +22,7 @@ class SetPowerRequest(google.protobuf.message.Message): POWER_PCT_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" power_pct: builtins.float "Percentage of motor's power, between -1 and 1" @@ -28,22 +30,31 @@ class SetPowerRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., power_pct: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + power_pct: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "power_pct", b"power_pct" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'power_pct', b'power_pct']) -> None: - ... global___SetPowerRequest = SetPowerRequest @typing_extensions.final class SetPowerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetPowerResponse = SetPowerResponse @typing_extensions.final @@ -54,9 +65,9 @@ class GoForRequest(google.protobuf.message.Message): REVOLUTIONS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" rpm: builtins.float - 'Speed of motor travel in rotations per minute' + "Speed of motor travel in rotations per minute" revolutions: builtins.float "Number of revolutions relative to motor's start position" @@ -64,22 +75,39 @@ class GoForRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., rpm: builtins.float=..., revolutions: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + rpm: builtins.float = ..., + revolutions: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "name", + b"name", + "revolutions", + b"revolutions", + "rpm", + b"rpm", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'revolutions', b'revolutions', 'rpm', b'rpm']) -> None: - ... global___GoForRequest = GoForRequest @typing_extensions.final class GoForResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GoForResponse = GoForResponse @typing_extensions.final @@ -90,9 +118,9 @@ class GoToRequest(google.protobuf.message.Message): POSITION_REVOLUTIONS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" rpm: builtins.float - 'Speed of motor travel in rotations per minute' + "Speed of motor travel in rotations per minute" position_revolutions: builtins.float "Number of revolutions relative to motor's home home/zero" @@ -100,22 +128,39 @@ class GoToRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., rpm: builtins.float=..., position_revolutions: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + rpm: builtins.float = ..., + position_revolutions: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "name", + b"name", + "position_revolutions", + b"position_revolutions", + "rpm", + b"rpm", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'position_revolutions', b'position_revolutions', 'rpm', b'rpm']) -> None: - ... global___GoToRequest = GoToRequest @typing_extensions.final class GoToResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GoToResponse = GoToResponse @typing_extensions.final @@ -125,30 +170,39 @@ class ResetZeroPositionRequest(google.protobuf.message.Message): OFFSET_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" offset: builtins.float - 'Motor position' + "Motor position" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., offset: builtins.float=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + offset: builtins.float = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "offset", b"offset" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'offset', b'offset']) -> None: - ... global___ResetZeroPositionRequest = ResetZeroPositionRequest @typing_extensions.final class ResetZeroPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ResetZeroPositionResponse = ResetZeroPositionResponse @typing_extensions.final @@ -157,20 +211,25 @@ class GetPositionRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -178,13 +237,13 @@ class GetPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor POSITION_FIELD_NUMBER: builtins.int position: builtins.float - 'Current position of the motor relative to its home' + "Current position of the motor relative to its home" - def __init__(self, *, position: builtins.float=...) -> None: - ... + def __init__(self, *, position: builtins.float = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["position", b"position"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['position', b'position']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -193,28 +252,33 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -223,20 +287,25 @@ class IsPoweredRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___IsPoweredRequest = IsPoweredRequest @typing_extensions.final @@ -245,15 +314,20 @@ class IsPoweredResponse(google.protobuf.message.Message): IS_ON_FIELD_NUMBER: builtins.int POWER_PCT_FIELD_NUMBER: builtins.int is_on: builtins.bool - 'Returns true if the motor is on' + "Returns true if the motor is on" power_pct: builtins.float - 'Returns power percent (from 0 to 1, or from -1 to 1 for motors that support negative power),\n based on the last command sent to motor. If the last command was a stop command, this value\n will be 0.\n ' - - def __init__(self, *, is_on: builtins.bool=..., power_pct: builtins.float=...) -> None: - ... + "Returns power percent (from 0 to 1, or from -1 to 1 for motors that support negative power),\n based on the last command sent to motor. If the last command was a stop command, this value\n will be 0.\n " + + def __init__( + self, *, is_on: builtins.bool = ..., power_pct: builtins.float = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "is_on", b"is_on", "power_pct", b"power_pct" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_on', b'is_on', 'power_pct', b'power_pct']) -> None: - ... global___IsPoweredResponse = IsPoweredResponse @typing_extensions.final @@ -262,20 +336,25 @@ class GetPropertiesRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a motor' + "Name of a motor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final @@ -283,13 +362,16 @@ class GetPropertiesResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor POSITION_REPORTING_FIELD_NUMBER: builtins.int position_reporting: builtins.bool - 'Returns true if the motor supports reporting its position' + "Returns true if the motor supports reporting its position" - def __init__(self, *, position_reporting: builtins.bool=...) -> None: - ... + def __init__(self, *, position_reporting: builtins.bool = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "position_reporting", b"position_reporting" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['position_reporting', b'position_reporting']) -> None: - ... global___GetPropertiesResponse = GetPropertiesResponse @typing_extensions.final @@ -299,17 +381,31 @@ class Status(google.protobuf.message.Message): POSITION_FIELD_NUMBER: builtins.int IS_MOVING_FIELD_NUMBER: builtins.int is_powered: builtins.bool - 'Returns true if the motor is powered' + "Returns true if the motor is powered" position: builtins.float - 'Returns current position of the motor relative to its home' + "Returns current position of the motor relative to its home" is_moving: builtins.bool - 'Returns true if the motor is moving' - - def __init__(self, *, is_powered: builtins.bool=..., position: builtins.float=..., is_moving: builtins.bool=...) -> None: - ... + "Returns true if the motor is moving" + + def __init__( + self, + *, + is_powered: builtins.bool = ..., + position: builtins.float = ..., + is_moving: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "is_moving", + b"is_moving", + "is_powered", + b"is_powered", + "position", + b"position", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving', 'is_powered', b'is_powered', 'position', b'position']) -> None: - ... global___Status = Status @typing_extensions.final @@ -318,11 +414,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -331,9 +427,9 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... -global___IsMovingResponse = IsMovingResponse \ No newline at end of file +global___IsMovingResponse = IsMovingResponse diff --git a/src/viam/gen/component/movementsensor/v1/movementsensor_grpc.py b/src/viam/gen/component/movementsensor/v1/movementsensor_grpc.py index 0f0bf2da3..d1910ab44 100644 --- a/src/viam/gen/component/movementsensor/v1/movementsensor_grpc.py +++ b/src/viam/gen/component/movementsensor/v1/movementsensor_grpc.py @@ -1,74 +1,231 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class MovementSensorServiceBase(abc.ABC): +from .... import common, component + +class MovementSensorServiceBase(abc.ABC): @abc.abstractmethod - async def GetLinearVelocity(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse]') -> None: + async def GetLinearVelocity( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse]", + ) -> None: pass @abc.abstractmethod - async def GetAngularVelocity(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse]') -> None: + async def GetAngularVelocity( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse]", + ) -> None: pass @abc.abstractmethod - async def GetCompassHeading(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse]') -> None: + async def GetCompassHeading( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse]", + ) -> None: pass @abc.abstractmethod - async def GetOrientation(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse]') -> None: + async def GetOrientation( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, component.movementsensor.v1.movementsensor_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, component.movementsensor.v1.movementsensor_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def GetAccuracy(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse]') -> None: + async def GetAccuracy( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse]", + ) -> None: pass @abc.abstractmethod - async def GetLinearAcceleration(self, stream: 'grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse]') -> None: + async def GetLinearAcceleration( + self, + stream: "grpclib.server.Stream[component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass @abc.abstractmethod - async def GetReadings(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]') -> None: + async def GetReadings( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.movementsensor.v1.MovementSensorService/GetLinearVelocity': grpclib.const.Handler(self.GetLinearVelocity, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetAngularVelocity': grpclib.const.Handler(self.GetAngularVelocity, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetCompassHeading': grpclib.const.Handler(self.GetCompassHeading, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetOrientation': grpclib.const.Handler(self.GetOrientation, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, component.movementsensor.v1.movementsensor_pb2.GetPositionResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetAccuracy': grpclib.const.Handler(self.GetAccuracy, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetLinearAcceleration': grpclib.const.Handler(self.GetLinearAcceleration, grpclib.const.Cardinality.UNARY_UNARY, component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse), '/viam.component.movementsensor.v1.MovementSensorService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse), '/viam.component.movementsensor.v1.MovementSensorService/GetReadings': grpclib.const.Handler(self.GetReadings, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse)} + return { + "/viam.component.movementsensor.v1.MovementSensorService/GetLinearVelocity": grpclib.const.Handler( + self.GetLinearVelocity, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, + component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetAngularVelocity": grpclib.const.Handler( + self.GetAngularVelocity, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, + component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetCompassHeading": grpclib.const.Handler( + self.GetCompassHeading, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, + component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetOrientation": grpclib.const.Handler( + self.GetOrientation, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, + component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, + component.movementsensor.v1.movementsensor_pb2.GetPositionResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, + component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetAccuracy": grpclib.const.Handler( + self.GetAccuracy, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, + component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetLinearAcceleration": grpclib.const.Handler( + self.GetLinearAcceleration, + grpclib.const.Cardinality.UNARY_UNARY, + component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, + component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + "/viam.component.movementsensor.v1.MovementSensorService/GetReadings": grpclib.const.Handler( + self.GetReadings, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ), + } -class MovementSensorServiceStub: +class MovementSensorServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetLinearVelocity = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetLinearVelocity', component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse) - self.GetAngularVelocity = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetAngularVelocity', component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse) - self.GetCompassHeading = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetCompassHeading', component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse) - self.GetOrientation = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetOrientation', component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse) - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetPosition', component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, component.movementsensor.v1.movementsensor_pb2.GetPositionResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetProperties', component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse) - self.GetAccuracy = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetAccuracy', component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse) - self.GetLinearAcceleration = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetLinearAcceleration', component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) - self.GetReadings = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.movementsensor.v1.MovementSensorService/GetReadings', common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse) \ No newline at end of file + self.GetLinearVelocity = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetLinearVelocity", + component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityRequest, + component.movementsensor.v1.movementsensor_pb2.GetLinearVelocityResponse, + ) + self.GetAngularVelocity = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetAngularVelocity", + component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityRequest, + component.movementsensor.v1.movementsensor_pb2.GetAngularVelocityResponse, + ) + self.GetCompassHeading = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetCompassHeading", + component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingRequest, + component.movementsensor.v1.movementsensor_pb2.GetCompassHeadingResponse, + ) + self.GetOrientation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetOrientation", + component.movementsensor.v1.movementsensor_pb2.GetOrientationRequest, + component.movementsensor.v1.movementsensor_pb2.GetOrientationResponse, + ) + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetPosition", + component.movementsensor.v1.movementsensor_pb2.GetPositionRequest, + component.movementsensor.v1.movementsensor_pb2.GetPositionResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetProperties", + component.movementsensor.v1.movementsensor_pb2.GetPropertiesRequest, + component.movementsensor.v1.movementsensor_pb2.GetPropertiesResponse, + ) + self.GetAccuracy = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetAccuracy", + component.movementsensor.v1.movementsensor_pb2.GetAccuracyRequest, + component.movementsensor.v1.movementsensor_pb2.GetAccuracyResponse, + ) + self.GetLinearAcceleration = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetLinearAcceleration", + component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationRequest, + component.movementsensor.v1.movementsensor_pb2.GetLinearAccelerationResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) + self.GetReadings = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.movementsensor.v1.MovementSensorService/GetReadings", + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ) diff --git a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py index 4cb0875bd..42d86da41 100644 --- a/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py +++ b/src/viam/gen/component/movementsensor/v1/movementsensor_pb2.py @@ -1,42 +1,71 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n0component/movementsensor/v1/movementsensor.proto\x12 viam.component.movementsensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"]\n\x18GetLinearVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"]\n\x19GetLinearVelocityResponse\x12@\n\x0flinear_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0elinearVelocity"^\n\x19GetAngularVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x1aGetAngularVelocityResponse\x12B\n\x10angular_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0fangularVelocity"]\n\x18GetCompassHeadingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x19GetCompassHeadingResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value"Z\n\x15GetOrientationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x16GetOrientationResponse\x12=\n\x0borientation\x18\x01 \x01(\x0b2\x1b.viam.common.v1.OrientationR\x0borientation"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x13GetPositionResponse\x128\n\ncoordinate\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\ncoordinate\x12\x1d\n\naltitude_m\x18\x02 \x01(\x02R\taltitudeM"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xf5\x02\n\x15GetPropertiesResponse\x12:\n\x19linear_velocity_supported\x18\x01 \x01(\x08R\x17linearVelocitySupported\x12<\n\x1aangular_velocity_supported\x18\x02 \x01(\x08R\x18angularVelocitySupported\x123\n\x15orientation_supported\x18\x03 \x01(\x08R\x14orientationSupported\x12-\n\x12position_supported\x18\x04 \x01(\x08R\x11positionSupported\x12:\n\x19compass_heading_supported\x18\x05 \x01(\x08R\x17compassHeadingSupported\x12B\n\x1dlinear_acceleration_supported\x18\x06 \x01(\x08R\x1blinearAccelerationSupported"W\n\x12GetAccuracyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xd0\x03\n\x13GetAccuracyResponse\x12_\n\x08accuracy\x18\x01 \x03(\x0b2C.viam.component.movementsensor.v1.GetAccuracyResponse.AccuracyEntryR\x08accuracy\x12(\n\rposition_hdop\x18\x02 \x01(\x02H\x00R\x0cpositionHdop\x88\x01\x01\x12(\n\rposition_vdop\x18\x03 \x01(\x02H\x01R\x0cpositionVdop\x88\x01\x01\x126\n\x15position_nmea_gga_fix\x18\x04 \x01(\x05H\x02R\x12positionNmeaGgaFix\x88\x01\x01\x127\n\x15compass_degrees_error\x18\x05 \x01(\x02H\x03R\x13compassDegreesError\x88\x01\x01\x1a;\n\rAccuracyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01B\x10\n\x0e_position_hdopB\x10\n\x0e_position_vdopB\x18\n\x16_position_nmea_gga_fixB\x18\n\x16_compass_degrees_error"a\n\x1cGetLinearAccelerationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"i\n\x1dGetLinearAccelerationResponse\x12H\n\x13linear_acceleration\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x12linearAcceleration2\xcf\x10\n\x15MovementSensorService\x12\xd2\x01\n\x11GetLinearVelocity\x12:.viam.component.movementsensor.v1.GetLinearVelocityRequest\x1a;.viam.component.movementsensor.v1.GetLinearVelocityResponse"D\x82\xd3\xe4\x93\x02>\x12\x12.viam.component.movementsensor.v1.GetLinearAccelerationRequest\x1a?.viam.component.movementsensor.v1.GetLinearAccelerationResponse"H\x82\xd3\xe4\x93\x02B\x12@/viam/api/v1/component/movementsensor/{name}/linear_acceleration\x12\x91\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"?\x82\xd3\xe4\x93\x029"7/viam/api/v1/component/movementsensor/{name}/do_command\x12\x9d\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"?\x82\xd3\xe4\x93\x029\x127/viam/api/v1/component/movementsensor/{name}/geometries\x12\x95\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/movementsensor/{name}/readingsBS\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n0component/movementsensor/v1/movementsensor.proto\x12 viam.component.movementsensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"]\n\x18GetLinearVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"]\n\x19GetLinearVelocityResponse\x12@\n\x0flinear_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0elinearVelocity"^\n\x19GetAngularVelocityRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"`\n\x1aGetAngularVelocityResponse\x12B\n\x10angular_velocity\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x0fangularVelocity"]\n\x18GetCompassHeadingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"1\n\x19GetCompassHeadingResponse\x12\x14\n\x05value\x18\x01 \x01(\x01R\x05value"Z\n\x15GetOrientationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\x16GetOrientationResponse\x12=\n\x0borientation\x18\x01 \x01(\x0b2\x1b.viam.common.v1.OrientationR\x0borientation"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x13GetPositionResponse\x128\n\ncoordinate\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\ncoordinate\x12\x1d\n\naltitude_m\x18\x02 \x01(\x02R\taltitudeM"Y\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xf5\x02\n\x15GetPropertiesResponse\x12:\n\x19linear_velocity_supported\x18\x01 \x01(\x08R\x17linearVelocitySupported\x12<\n\x1aangular_velocity_supported\x18\x02 \x01(\x08R\x18angularVelocitySupported\x123\n\x15orientation_supported\x18\x03 \x01(\x08R\x14orientationSupported\x12-\n\x12position_supported\x18\x04 \x01(\x08R\x11positionSupported\x12:\n\x19compass_heading_supported\x18\x05 \x01(\x08R\x17compassHeadingSupported\x12B\n\x1dlinear_acceleration_supported\x18\x06 \x01(\x08R\x1blinearAccelerationSupported"W\n\x12GetAccuracyRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xd0\x03\n\x13GetAccuracyResponse\x12_\n\x08accuracy\x18\x01 \x03(\x0b2C.viam.component.movementsensor.v1.GetAccuracyResponse.AccuracyEntryR\x08accuracy\x12(\n\rposition_hdop\x18\x02 \x01(\x02H\x00R\x0cpositionHdop\x88\x01\x01\x12(\n\rposition_vdop\x18\x03 \x01(\x02H\x01R\x0cpositionVdop\x88\x01\x01\x126\n\x15position_nmea_gga_fix\x18\x04 \x01(\x05H\x02R\x12positionNmeaGgaFix\x88\x01\x01\x127\n\x15compass_degrees_error\x18\x05 \x01(\x02H\x03R\x13compassDegreesError\x88\x01\x01\x1a;\n\rAccuracyEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01B\x10\n\x0e_position_hdopB\x10\n\x0e_position_vdopB\x18\n\x16_position_nmea_gga_fixB\x18\n\x16_compass_degrees_error"a\n\x1cGetLinearAccelerationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"i\n\x1dGetLinearAccelerationResponse\x12H\n\x13linear_acceleration\x18\x01 \x01(\x0b2\x17.viam.common.v1.Vector3R\x12linearAcceleration2\xcf\x10\n\x15MovementSensorService\x12\xd2\x01\n\x11GetLinearVelocity\x12:.viam.component.movementsensor.v1.GetLinearVelocityRequest\x1a;.viam.component.movementsensor.v1.GetLinearVelocityResponse"D\x82\xd3\xe4\x93\x02>\x12\x12.viam.component.movementsensor.v1.GetLinearAccelerationRequest\x1a?.viam.component.movementsensor.v1.GetLinearAccelerationResponse"H\x82\xd3\xe4\x93\x02B\x12@/viam/api/v1/component/movementsensor/{name}/linear_acceleration\x12\x91\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"?\x82\xd3\xe4\x93\x029"7/viam/api/v1/component/movementsensor/{name}/do_command\x12\x9d\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"?\x82\xd3\xe4\x93\x029\x127/viam/api/v1/component/movementsensor/{name}/geometries\x12\x95\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/movementsensor/{name}/readingsBS\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.movementsensor.v1.movementsensor_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.movementsensor.v1.movementsensor_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1' + DESCRIPTOR._serialized_options = b"\n$com.viam.component.movementsensor.v1Z+go.viam.com/api/component/movementsensor/v1" _GETACCURACYRESPONSE_ACCURACYENTRY._options = None - _GETACCURACYRESPONSE_ACCURACYENTRY._serialized_options = b'8\x01' - _MOVEMENTSENSORSERVICE.methods_by_name['GetLinearVelocity']._options = None - _MOVEMENTSENSORSERVICE.methods_by_name['GetLinearVelocity']._serialized_options = b'\x82\xd3\xe4\x93\x02>\x12\x12\x12\x12= (3, 8): import typing as typing_extensions else: @@ -23,20 +26,25 @@ class GetLinearVelocityRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetLinearVelocityRequest = GetLinearVelocityRequest @typing_extensions.final @@ -48,14 +56,18 @@ class GetLinearVelocityResponse(google.protobuf.message.Message): def linear_velocity(self) -> common.v1.common_pb2.Vector3: """Linear velocity in m/s across x/y/z axes""" - def __init__(self, *, linear_velocity: common.v1.common_pb2.Vector3 | None=...) -> None: - ... + def __init__( + self, *, linear_velocity: common.v1.common_pb2.Vector3 | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["linear_velocity", b"linear_velocity"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["linear_velocity", b"linear_velocity"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['linear_velocity', b'linear_velocity']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['linear_velocity', b'linear_velocity']) -> None: - ... global___GetLinearVelocityResponse = GetLinearVelocityResponse @typing_extensions.final @@ -64,20 +76,25 @@ class GetAngularVelocityRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetAngularVelocityRequest = GetAngularVelocityRequest @typing_extensions.final @@ -89,14 +106,18 @@ class GetAngularVelocityResponse(google.protobuf.message.Message): def angular_velocity(self) -> common.v1.common_pb2.Vector3: """Angular velocity in degrees/s across x/y/z axes""" - def __init__(self, *, angular_velocity: common.v1.common_pb2.Vector3 | None=...) -> None: - ... + def __init__( + self, *, angular_velocity: common.v1.common_pb2.Vector3 | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["angular_velocity", b"angular_velocity"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["angular_velocity", b"angular_velocity"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['angular_velocity', b'angular_velocity']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['angular_velocity', b'angular_velocity']) -> None: - ... global___GetAngularVelocityResponse = GetAngularVelocityResponse @typing_extensions.final @@ -105,20 +126,25 @@ class GetCompassHeadingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetCompassHeadingRequest = GetCompassHeadingRequest @typing_extensions.final @@ -126,13 +152,13 @@ class GetCompassHeadingResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor VALUE_FIELD_NUMBER: builtins.int value: builtins.float - 'A number from 0-359 in degrees where\n 0 is North, 90 is East, 180 is South, and 270 is West\n ' + "A number from 0-359 in degrees where\n 0 is North, 90 is East, 180 is South, and 270 is West\n " - def __init__(self, *, value: builtins.float=...) -> None: - ... + def __init__(self, *, value: builtins.float = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['value', b'value']) -> None: - ... global___GetCompassHeadingResponse = GetCompassHeadingResponse @typing_extensions.final @@ -141,20 +167,25 @@ class GetOrientationRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetOrientationRequest = GetOrientationRequest @typing_extensions.final @@ -168,14 +199,16 @@ class GetOrientationResponse(google.protobuf.message.Message): OX OY OZ as unit-normalized components of the axis of the vector, and Theta in degrees """ - def __init__(self, *, orientation: common.v1.common_pb2.Orientation | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['orientation', b'orientation']) -> builtins.bool: - ... + def __init__( + self, *, orientation: common.v1.common_pb2.Orientation | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["orientation", b"orientation"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["orientation", b"orientation"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['orientation', b'orientation']) -> None: - ... global___GetOrientationResponse = GetOrientationResponse @typing_extensions.final @@ -184,20 +217,25 @@ class GetPositionRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -213,14 +251,22 @@ class GetPositionResponse(google.protobuf.message.Message): """ altitude_m: builtins.float - def __init__(self, *, coordinate: common.v1.common_pb2.GeoPoint | None=..., altitude_m: builtins.float=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['coordinate', b'coordinate']) -> builtins.bool: - ... + def __init__( + self, + *, + coordinate: common.v1.common_pb2.GeoPoint | None = ..., + altitude_m: builtins.float = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["coordinate", b"coordinate"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "altitude_m", b"altitude_m", "coordinate", b"coordinate" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['altitude_m', b'altitude_m', 'coordinate', b'coordinate']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -229,20 +275,25 @@ class GetPropertiesRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final @@ -261,11 +312,34 @@ class GetPropertiesResponse(google.protobuf.message.Message): compass_heading_supported: builtins.bool linear_acceleration_supported: builtins.bool - def __init__(self, *, linear_velocity_supported: builtins.bool=..., angular_velocity_supported: builtins.bool=..., orientation_supported: builtins.bool=..., position_supported: builtins.bool=..., compass_heading_supported: builtins.bool=..., linear_acceleration_supported: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + linear_velocity_supported: builtins.bool = ..., + angular_velocity_supported: builtins.bool = ..., + orientation_supported: builtins.bool = ..., + position_supported: builtins.bool = ..., + compass_heading_supported: builtins.bool = ..., + linear_acceleration_supported: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angular_velocity_supported", + b"angular_velocity_supported", + "compass_heading_supported", + b"compass_heading_supported", + "linear_acceleration_supported", + b"linear_acceleration_supported", + "linear_velocity_supported", + b"linear_velocity_supported", + "orientation_supported", + b"orientation_supported", + "position_supported", + b"position_supported", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['angular_velocity_supported', b'angular_velocity_supported', 'compass_heading_supported', b'compass_heading_supported', 'linear_acceleration_supported', b'linear_acceleration_supported', 'linear_velocity_supported', b'linear_velocity_supported', 'orientation_supported', b'orientation_supported', 'position_supported', b'position_supported']) -> None: - ... global___GetPropertiesResponse = GetPropertiesResponse @typing_extensions.final @@ -274,20 +348,25 @@ class GetAccuracyRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetAccuracyRequest = GetAccuracyRequest @typing_extensions.final @@ -302,11 +381,13 @@ class GetAccuracyResponse(google.protobuf.message.Message): key: builtins.str value: builtins.float - def __init__(self, *, key: builtins.str=..., value: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def __init__( + self, *, key: builtins.str = ..., value: builtins.float = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... ACCURACY_FIELD_NUMBER: builtins.int POSITION_HDOP_FIELD_NUMBER: builtins.int POSITION_VDOP_FIELD_NUMBER: builtins.int @@ -314,37 +395,94 @@ class GetAccuracyResponse(google.protobuf.message.Message): COMPASS_DEGREES_ERROR_FIELD_NUMBER: builtins.int @property - def accuracy(self) -> google.protobuf.internal.containers.ScalarMap[builtins.str, builtins.float]: - ... + def accuracy( + self, + ) -> google.protobuf.internal.containers.ScalarMap[ + builtins.str, builtins.float + ]: ... position_hdop: builtins.float position_vdop: builtins.float position_nmea_gga_fix: builtins.int compass_degrees_error: builtins.float - def __init__(self, *, accuracy: collections.abc.Mapping[builtins.str, builtins.float] | None=..., position_hdop: builtins.float | None=..., position_vdop: builtins.float | None=..., position_nmea_gga_fix: builtins.int | None=..., compass_degrees_error: builtins.float | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_compass_degrees_error', b'_compass_degrees_error', '_position_hdop', b'_position_hdop', '_position_nmea_gga_fix', b'_position_nmea_gga_fix', '_position_vdop', b'_position_vdop', 'compass_degrees_error', b'compass_degrees_error', 'position_hdop', b'position_hdop', 'position_nmea_gga_fix', b'position_nmea_gga_fix', 'position_vdop', b'position_vdop']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_compass_degrees_error', b'_compass_degrees_error', '_position_hdop', b'_position_hdop', '_position_nmea_gga_fix', b'_position_nmea_gga_fix', '_position_vdop', b'_position_vdop', 'accuracy', b'accuracy', 'compass_degrees_error', b'compass_degrees_error', 'position_hdop', b'position_hdop', 'position_nmea_gga_fix', b'position_nmea_gga_fix', 'position_vdop', b'position_vdop']) -> None: - ... - + def __init__( + self, + *, + accuracy: collections.abc.Mapping[builtins.str, builtins.float] | None = ..., + position_hdop: builtins.float | None = ..., + position_vdop: builtins.float | None = ..., + position_nmea_gga_fix: builtins.int | None = ..., + compass_degrees_error: builtins.float | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_compass_degrees_error", + b"_compass_degrees_error", + "_position_hdop", + b"_position_hdop", + "_position_nmea_gga_fix", + b"_position_nmea_gga_fix", + "_position_vdop", + b"_position_vdop", + "compass_degrees_error", + b"compass_degrees_error", + "position_hdop", + b"position_hdop", + "position_nmea_gga_fix", + b"position_nmea_gga_fix", + "position_vdop", + b"position_vdop", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_compass_degrees_error", + b"_compass_degrees_error", + "_position_hdop", + b"_position_hdop", + "_position_nmea_gga_fix", + b"_position_nmea_gga_fix", + "_position_vdop", + b"_position_vdop", + "accuracy", + b"accuracy", + "compass_degrees_error", + b"compass_degrees_error", + "position_hdop", + b"position_hdop", + "position_nmea_gga_fix", + b"position_nmea_gga_fix", + "position_vdop", + b"position_vdop", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_compass_degrees_error', b'_compass_degrees_error']) -> typing_extensions.Literal['compass_degrees_error'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_compass_degrees_error", b"_compass_degrees_error" + ], + ) -> typing_extensions.Literal["compass_degrees_error"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_position_hdop', b'_position_hdop']) -> typing_extensions.Literal['position_hdop'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_position_hdop", b"_position_hdop"], + ) -> typing_extensions.Literal["position_hdop"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_position_nmea_gga_fix', b'_position_nmea_gga_fix']) -> typing_extensions.Literal['position_nmea_gga_fix'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_position_nmea_gga_fix", b"_position_nmea_gga_fix" + ], + ) -> typing_extensions.Literal["position_nmea_gga_fix"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_position_vdop', b'_position_vdop']) -> typing_extensions.Literal['position_vdop'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_position_vdop", b"_position_vdop"], + ) -> typing_extensions.Literal["position_vdop"] | None: ... + global___GetAccuracyResponse = GetAccuracyResponse @typing_extensions.final @@ -353,20 +491,25 @@ class GetLinearAccelerationRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a movement sensor' + "Name of a movement sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetLinearAccelerationRequest = GetLinearAccelerationRequest @typing_extensions.final @@ -378,12 +521,20 @@ class GetLinearAccelerationResponse(google.protobuf.message.Message): def linear_acceleration(self) -> common.v1.common_pb2.Vector3: """Linear acceleration in m/s across x/y/z axes""" - def __init__(self, *, linear_acceleration: common.v1.common_pb2.Vector3 | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['linear_acceleration', b'linear_acceleration']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['linear_acceleration', b'linear_acceleration']) -> None: - ... -global___GetLinearAccelerationResponse = GetLinearAccelerationResponse \ No newline at end of file + def __init__( + self, *, linear_acceleration: common.v1.common_pb2.Vector3 | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "linear_acceleration", b"linear_acceleration" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "linear_acceleration", b"linear_acceleration" + ], + ) -> None: ... + +global___GetLinearAccelerationResponse = GetLinearAccelerationResponse diff --git a/src/viam/gen/component/posetracker/v1/pose_tracker_grpc.py b/src/viam/gen/component/posetracker/v1/pose_tracker_grpc.py index febe72c4e..3d487cbd8 100644 --- a/src/viam/gen/component/posetracker/v1/pose_tracker_grpc.py +++ b/src/viam/gen/component/posetracker/v1/pose_tracker_grpc.py @@ -1,34 +1,79 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class PoseTrackerServiceBase(abc.ABC): +from .... import common, component + +class PoseTrackerServiceBase(abc.ABC): @abc.abstractmethod - async def GetPoses(self, stream: 'grpclib.server.Stream[component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, component.posetracker.v1.pose_tracker_pb2.GetPosesResponse]') -> None: + async def GetPoses( + self, + stream: "grpclib.server.Stream[component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, component.posetracker.v1.pose_tracker_pb2.GetPosesResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.posetracker.v1.PoseTrackerService/GetPoses': grpclib.const.Handler(self.GetPoses, grpclib.const.Cardinality.UNARY_UNARY, component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, component.posetracker.v1.pose_tracker_pb2.GetPosesResponse), '/viam.component.posetracker.v1.PoseTrackerService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.posetracker.v1.PoseTrackerService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.posetracker.v1.PoseTrackerService/GetPoses": grpclib.const.Handler( + self.GetPoses, + grpclib.const.Cardinality.UNARY_UNARY, + component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, + component.posetracker.v1.pose_tracker_pb2.GetPosesResponse, + ), + "/viam.component.posetracker.v1.PoseTrackerService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.posetracker.v1.PoseTrackerService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class PoseTrackerServiceStub: +class PoseTrackerServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetPoses = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.posetracker.v1.PoseTrackerService/GetPoses', component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, component.posetracker.v1.pose_tracker_pb2.GetPosesResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.posetracker.v1.PoseTrackerService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.posetracker.v1.PoseTrackerService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetPoses = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.posetracker.v1.PoseTrackerService/GetPoses", + component.posetracker.v1.pose_tracker_pb2.GetPosesRequest, + component.posetracker.v1.pose_tracker_pb2.GetPosesResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.posetracker.v1.PoseTrackerService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.posetracker.v1.PoseTrackerService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.py b/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.py index 1a0a3919d..242c474e8 100644 --- a/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.py +++ b/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.py @@ -1,26 +1,45 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+component/posetracker/v1/pose_tracker.proto\x12\x1dviam.component.posetracker.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"s\n\x0fGetPosesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\nbody_names\x18\x02 \x03(\tR\tbodyNames\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xcc\x01\n\x10GetPosesResponse\x12]\n\nbody_poses\x18\x01 \x03(\x0b2>.viam.component.posetracker.v1.GetPosesResponse.BodyPosesEntryR\tbodyPoses\x1aY\n\x0eBodyPosesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x121\n\x05value\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x05value:\x028\x012\xec\x03\n\x12PoseTrackerService\x12\xa5\x01\n\x08GetPoses\x12..viam.component.posetracker.v1.GetPosesRequest\x1a/.viam.component.posetracker.v1.GetPosesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/pose_tracker/{name}/poses\x12\x8f\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"=\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/pose_tracker/{name}/do_command\x12\x9b\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/pose_tracker/{name}/geometriesB5\n\x15com.viam.component.v1Z\x1cgo.viam.com/api/component/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n+component/posetracker/v1/pose_tracker.proto\x12\x1dviam.component.posetracker.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"s\n\x0fGetPosesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1d\n\nbody_names\x18\x02 \x03(\tR\tbodyNames\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\xcc\x01\n\x10GetPosesResponse\x12]\n\nbody_poses\x18\x01 \x03(\x0b2>.viam.component.posetracker.v1.GetPosesResponse.BodyPosesEntryR\tbodyPoses\x1aY\n\x0eBodyPosesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x121\n\x05value\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x05value:\x028\x012\xec\x03\n\x12PoseTrackerService\x12\xa5\x01\n\x08GetPoses\x12..viam.component.posetracker.v1.GetPosesRequest\x1a/.viam.component.posetracker.v1.GetPosesResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/pose_tracker/{name}/poses\x12\x8f\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"=\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/pose_tracker/{name}/do_command\x12\x9b\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/pose_tracker/{name}/geometriesB5\n\x15com.viam.component.v1Z\x1cgo.viam.com/api/component/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.posetracker.v1.pose_tracker_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.posetracker.v1.pose_tracker_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x15com.viam.component.v1Z\x1cgo.viam.com/api/component/v1' + DESCRIPTOR._serialized_options = ( + b"\n\x15com.viam.component.v1Z\x1cgo.viam.com/api/component/v1" + ) _GETPOSESRESPONSE_BODYPOSESENTRY._options = None - _GETPOSESRESPONSE_BODYPOSESENTRY._serialized_options = b'8\x01' - _POSETRACKERSERVICE.methods_by_name['GetPoses']._options = None - _POSETRACKERSERVICE.methods_by_name['GetPoses']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/pose_tracker/{name}/poses' - _POSETRACKERSERVICE.methods_by_name['DoCommand']._options = None - _POSETRACKERSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/pose_tracker/{name}/do_command' - _POSETRACKERSERVICE.methods_by_name['GetGeometries']._options = None - _POSETRACKERSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/pose_tracker/{name}/geometries' + _GETPOSESRESPONSE_BODYPOSESENTRY._serialized_options = b"8\x01" + _POSETRACKERSERVICE.methods_by_name["GetPoses"]._options = None + _POSETRACKERSERVICE.methods_by_name[ + "GetPoses" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/pose_tracker/{name}/poses" + ) + _POSETRACKERSERVICE.methods_by_name["DoCommand"]._options = None + _POSETRACKERSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/pose_tracker/{name}/do_command' + ) + _POSETRACKERSERVICE.methods_by_name["GetGeometries"]._options = None + _POSETRACKERSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = b"\x82\xd3\xe4\x93\x027\x125/viam/api/v1/component/pose_tracker/{name}/geometries" _GETPOSESREQUEST._serialized_start = 162 _GETPOSESREQUEST._serialized_end = 277 _GETPOSESRESPONSE._serialized_start = 280 @@ -28,4 +47,4 @@ _GETPOSESRESPONSE_BODYPOSESENTRY._serialized_start = 395 _GETPOSESRESPONSE_BODYPOSESENTRY._serialized_end = 484 _POSETRACKERSERVICE._serialized_start = 487 - _POSETRACKERSERVICE._serialized_end = 979 \ No newline at end of file + _POSETRACKERSERVICE._serialized_end = 979 diff --git a/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi b/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi index b25f13437..ef2af51ef 100644 --- a/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi +++ b/src/viam/gen/component/posetracker/v1/pose_tracker_pb2.pyi @@ -4,12 +4,15 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 -import sys + +from .... import common + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -23,10 +26,12 @@ class GetPosesRequest(google.protobuf.message.Message): BODY_NAMES_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the pose tracker' + "Name of the pose tracker" @property - def body_names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: + def body_names( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """Names of the bodies whose poses are being requested. In the event this parameter is not supplied or is an empty list, all available poses are returned @@ -36,14 +41,23 @@ class GetPosesRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., body_names: collections.abc.Iterable[builtins.str] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + body_names: collections.abc.Iterable[builtins.str] | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "body_names", b"body_names", "extra", b"extra", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['body_names', b'body_names', 'extra', b'extra', 'name', b'name']) -> None: - ... global___GetPosesRequest = GetPosesRequest @typing_extensions.final @@ -58,26 +72,40 @@ class GetPosesResponse(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> common.v1.common_pb2.PoseInFrame: - ... - - def __init__(self, *, key: builtins.str=..., value: common.v1.common_pb2.PoseInFrame | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> common.v1.common_pb2.PoseInFrame: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: common.v1.common_pb2.PoseInFrame | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... BODY_POSES_FIELD_NUMBER: builtins.int @property - def body_poses(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, common.v1.common_pb2.PoseInFrame]: + def body_poses( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, common.v1.common_pb2.PoseInFrame + ]: """Mapping of each body name to the pose representing the center of the body.""" - def __init__(self, *, body_poses: collections.abc.Mapping[builtins.str, common.v1.common_pb2.PoseInFrame] | None=...) -> None: - ... + def __init__( + self, + *, + body_poses: collections.abc.Mapping[ + builtins.str, common.v1.common_pb2.PoseInFrame + ] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["body_poses", b"body_poses"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['body_poses', b'body_poses']) -> None: - ... -global___GetPosesResponse = GetPosesResponse \ No newline at end of file +global___GetPosesResponse = GetPosesResponse diff --git a/src/viam/gen/component/powersensor/v1/powersensor_grpc.py b/src/viam/gen/component/powersensor/v1/powersensor_grpc.py index e35d11cd6..5015e2f8d 100644 --- a/src/viam/gen/component/powersensor/v1/powersensor_grpc.py +++ b/src/viam/gen/component/powersensor/v1/powersensor_grpc.py @@ -1,44 +1,117 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class PowerSensorServiceBase(abc.ABC): +from .... import common, component + +class PowerSensorServiceBase(abc.ABC): @abc.abstractmethod - async def GetVoltage(self, stream: 'grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetVoltageRequest, component.powersensor.v1.powersensor_pb2.GetVoltageResponse]') -> None: + async def GetVoltage( + self, + stream: "grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetVoltageRequest, component.powersensor.v1.powersensor_pb2.GetVoltageResponse]", + ) -> None: pass @abc.abstractmethod - async def GetCurrent(self, stream: 'grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetCurrentRequest, component.powersensor.v1.powersensor_pb2.GetCurrentResponse]') -> None: + async def GetCurrent( + self, + stream: "grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetCurrentRequest, component.powersensor.v1.powersensor_pb2.GetCurrentResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPower(self, stream: 'grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetPowerRequest, component.powersensor.v1.powersensor_pb2.GetPowerResponse]') -> None: + async def GetPower( + self, + stream: "grpclib.server.Stream[component.powersensor.v1.powersensor_pb2.GetPowerRequest, component.powersensor.v1.powersensor_pb2.GetPowerResponse]", + ) -> None: pass @abc.abstractmethod - async def GetReadings(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]') -> None: + async def GetReadings( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.powersensor.v1.PowerSensorService/GetVoltage': grpclib.const.Handler(self.GetVoltage, grpclib.const.Cardinality.UNARY_UNARY, component.powersensor.v1.powersensor_pb2.GetVoltageRequest, component.powersensor.v1.powersensor_pb2.GetVoltageResponse), '/viam.component.powersensor.v1.PowerSensorService/GetCurrent': grpclib.const.Handler(self.GetCurrent, grpclib.const.Cardinality.UNARY_UNARY, component.powersensor.v1.powersensor_pb2.GetCurrentRequest, component.powersensor.v1.powersensor_pb2.GetCurrentResponse), '/viam.component.powersensor.v1.PowerSensorService/GetPower': grpclib.const.Handler(self.GetPower, grpclib.const.Cardinality.UNARY_UNARY, component.powersensor.v1.powersensor_pb2.GetPowerRequest, component.powersensor.v1.powersensor_pb2.GetPowerResponse), '/viam.component.powersensor.v1.PowerSensorService/GetReadings': grpclib.const.Handler(self.GetReadings, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse), '/viam.component.powersensor.v1.PowerSensorService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.component.powersensor.v1.PowerSensorService/GetVoltage": grpclib.const.Handler( + self.GetVoltage, + grpclib.const.Cardinality.UNARY_UNARY, + component.powersensor.v1.powersensor_pb2.GetVoltageRequest, + component.powersensor.v1.powersensor_pb2.GetVoltageResponse, + ), + "/viam.component.powersensor.v1.PowerSensorService/GetCurrent": grpclib.const.Handler( + self.GetCurrent, + grpclib.const.Cardinality.UNARY_UNARY, + component.powersensor.v1.powersensor_pb2.GetCurrentRequest, + component.powersensor.v1.powersensor_pb2.GetCurrentResponse, + ), + "/viam.component.powersensor.v1.PowerSensorService/GetPower": grpclib.const.Handler( + self.GetPower, + grpclib.const.Cardinality.UNARY_UNARY, + component.powersensor.v1.powersensor_pb2.GetPowerRequest, + component.powersensor.v1.powersensor_pb2.GetPowerResponse, + ), + "/viam.component.powersensor.v1.PowerSensorService/GetReadings": grpclib.const.Handler( + self.GetReadings, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ), + "/viam.component.powersensor.v1.PowerSensorService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class PowerSensorServiceStub: +class PowerSensorServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetVoltage = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.powersensor.v1.PowerSensorService/GetVoltage', component.powersensor.v1.powersensor_pb2.GetVoltageRequest, component.powersensor.v1.powersensor_pb2.GetVoltageResponse) - self.GetCurrent = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.powersensor.v1.PowerSensorService/GetCurrent', component.powersensor.v1.powersensor_pb2.GetCurrentRequest, component.powersensor.v1.powersensor_pb2.GetCurrentResponse) - self.GetPower = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.powersensor.v1.PowerSensorService/GetPower', component.powersensor.v1.powersensor_pb2.GetPowerRequest, component.powersensor.v1.powersensor_pb2.GetPowerResponse) - self.GetReadings = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.powersensor.v1.PowerSensorService/GetReadings', common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.powersensor.v1.PowerSensorService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.GetVoltage = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.powersensor.v1.PowerSensorService/GetVoltage", + component.powersensor.v1.powersensor_pb2.GetVoltageRequest, + component.powersensor.v1.powersensor_pb2.GetVoltageResponse, + ) + self.GetCurrent = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.powersensor.v1.PowerSensorService/GetCurrent", + component.powersensor.v1.powersensor_pb2.GetCurrentRequest, + component.powersensor.v1.powersensor_pb2.GetCurrentResponse, + ) + self.GetPower = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.powersensor.v1.PowerSensorService/GetPower", + component.powersensor.v1.powersensor_pb2.GetPowerRequest, + component.powersensor.v1.powersensor_pb2.GetPowerResponse, + ) + self.GetReadings = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.powersensor.v1.PowerSensorService/GetReadings", + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.powersensor.v1.PowerSensorService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/component/powersensor/v1/powersensor_pb2.py b/src/viam/gen/component/powersensor/v1/powersensor_pb2.py index 3ff07e8c6..52986f841 100644 --- a/src/viam/gen/component/powersensor/v1/powersensor_pb2.py +++ b/src/viam/gen/component/powersensor/v1/powersensor_pb2.py @@ -1,28 +1,55 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n*component/powersensor/v1/powersensor.proto\x12\x1dviam.component.powersensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"V\n\x11GetVoltageRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"?\n\x12GetVoltageResponse\x12\x14\n\x05volts\x18\x01 \x01(\x01R\x05volts\x12\x13\n\x05is_ac\x18\x02 \x01(\x08R\x04isAc"V\n\x11GetCurrentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"C\n\x12GetCurrentResponse\x12\x18\n\x07amperes\x18\x01 \x01(\x01R\x07amperes\x12\x13\n\x05is_ac\x18\x02 \x01(\x08R\x04isAc"T\n\x0fGetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"(\n\x10GetPowerResponse\x12\x14\n\x05watts\x18\x01 \x01(\x01R\x05watts2\xc4\x06\n\x12PowerSensorService\x12\xad\x01\n\nGetVoltage\x120.viam.component.powersensor.v1.GetVoltageRequest\x1a1.viam.component.powersensor.v1.GetVoltageResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/voltage\x12\xad\x01\n\nGetCurrent\x120.viam.component.powersensor.v1.GetCurrentRequest\x1a1.viam.component.powersensor.v1.GetCurrentResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/current\x12\xa5\x01\n\x08GetPower\x12..viam.component.powersensor.v1.GetPowerRequest\x1a/.viam.component.powersensor.v1.GetPowerResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/power_sensor/{name}/power\x12\x93\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/power_sensor/{name}/readings\x12\x8f\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"=\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/power_sensor/{name}/do_commandBM\n!com.viam.component.powersensor.v1Z(go.viam.com/api/component/powersensor/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n*component/powersensor/v1/powersensor.proto\x12\x1dviam.component.powersensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"V\n\x11GetVoltageRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"?\n\x12GetVoltageResponse\x12\x14\n\x05volts\x18\x01 \x01(\x01R\x05volts\x12\x13\n\x05is_ac\x18\x02 \x01(\x08R\x04isAc"V\n\x11GetCurrentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"C\n\x12GetCurrentResponse\x12\x18\n\x07amperes\x18\x01 \x01(\x01R\x07amperes\x12\x13\n\x05is_ac\x18\x02 \x01(\x08R\x04isAc"T\n\x0fGetPowerRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"(\n\x10GetPowerResponse\x12\x14\n\x05watts\x18\x01 \x01(\x01R\x05watts2\xc4\x06\n\x12PowerSensorService\x12\xad\x01\n\nGetVoltage\x120.viam.component.powersensor.v1.GetVoltageRequest\x1a1.viam.component.powersensor.v1.GetVoltageResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/voltage\x12\xad\x01\n\nGetCurrent\x120.viam.component.powersensor.v1.GetCurrentRequest\x1a1.viam.component.powersensor.v1.GetCurrentResponse":\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/current\x12\xa5\x01\n\x08GetPower\x12..viam.component.powersensor.v1.GetPowerRequest\x1a/.viam.component.powersensor.v1.GetPowerResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/power_sensor/{name}/power\x12\x93\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse";\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/power_sensor/{name}/readings\x12\x8f\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"=\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/power_sensor/{name}/do_commandBM\n!com.viam.component.powersensor.v1Z(go.viam.com/api/component/powersensor/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.powersensor.v1.powersensor_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.powersensor.v1.powersensor_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n!com.viam.component.powersensor.v1Z(go.viam.com/api/component/powersensor/v1' - _POWERSENSORSERVICE.methods_by_name['GetVoltage']._options = None - _POWERSENSORSERVICE.methods_by_name['GetVoltage']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/voltage' - _POWERSENSORSERVICE.methods_by_name['GetCurrent']._options = None - _POWERSENSORSERVICE.methods_by_name['GetCurrent']._serialized_options = b'\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/current' - _POWERSENSORSERVICE.methods_by_name['GetPower']._options = None - _POWERSENSORSERVICE.methods_by_name['GetPower']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/power_sensor/{name}/power' - _POWERSENSORSERVICE.methods_by_name['GetReadings']._options = None - _POWERSENSORSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/power_sensor/{name}/readings' - _POWERSENSORSERVICE.methods_by_name['DoCommand']._options = None - _POWERSENSORSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/power_sensor/{name}/do_command' + DESCRIPTOR._serialized_options = b"\n!com.viam.component.powersensor.v1Z(go.viam.com/api/component/powersensor/v1" + _POWERSENSORSERVICE.methods_by_name["GetVoltage"]._options = None + _POWERSENSORSERVICE.methods_by_name[ + "GetVoltage" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/voltage" + ) + _POWERSENSORSERVICE.methods_by_name["GetCurrent"]._options = None + _POWERSENSORSERVICE.methods_by_name[ + "GetCurrent" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x024\x122/viam/api/v1/component/power_sensor/{name}/current" + ) + _POWERSENSORSERVICE.methods_by_name["GetPower"]._options = None + _POWERSENSORSERVICE.methods_by_name[ + "GetPower" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/component/power_sensor/{name}/power" + ) + _POWERSENSORSERVICE.methods_by_name["GetReadings"]._options = None + _POWERSENSORSERVICE.methods_by_name[ + "GetReadings" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x025\x123/viam/api/v1/component/power_sensor/{name}/readings" + ) + _POWERSENSORSERVICE.methods_by_name["DoCommand"]._options = None + _POWERSENSORSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x027"5/viam/api/v1/component/power_sensor/{name}/do_command' + ) _GETVOLTAGEREQUEST._serialized_start = 161 _GETVOLTAGEREQUEST._serialized_end = 247 _GETVOLTAGERESPONSE._serialized_start = 249 @@ -36,4 +63,4 @@ _GETPOWERRESPONSE._serialized_start = 557 _GETPOWERRESPONSE._serialized_end = 597 _POWERSENSORSERVICE._serialized_start = 600 - _POWERSENSORSERVICE._serialized_end = 1436 \ No newline at end of file + _POWERSENSORSERVICE._serialized_end = 1436 diff --git a/src/viam/gen/component/powersensor/v1/powersensor_pb2.pyi b/src/viam/gen/component/powersensor/v1/powersensor_pb2.pyi index 9639ab87f..e20c1303e 100644 --- a/src/viam/gen/component/powersensor/v1/powersensor_pb2.pyi +++ b/src/viam/gen/component/powersensor/v1/powersensor_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -19,20 +21,25 @@ class GetVoltageRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a power sensor' + "Name of a power sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetVoltageRequest = GetVoltageRequest @typing_extensions.final @@ -41,15 +48,18 @@ class GetVoltageResponse(google.protobuf.message.Message): VOLTS_FIELD_NUMBER: builtins.int IS_AC_FIELD_NUMBER: builtins.int volts: builtins.float - 'Voltage in volts' + "Voltage in volts" is_ac: builtins.bool - 'Bool describing whether the voltage is DC or AC' + "Bool describing whether the voltage is DC or AC" - def __init__(self, *, volts: builtins.float=..., is_ac: builtins.bool=...) -> None: - ... + def __init__( + self, *, volts: builtins.float = ..., is_ac: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["is_ac", b"is_ac", "volts", b"volts"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_ac', b'is_ac', 'volts', b'volts']) -> None: - ... global___GetVoltageResponse = GetVoltageResponse @typing_extensions.final @@ -58,20 +68,25 @@ class GetCurrentRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a power sensor' + "Name of a power sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetCurrentRequest = GetCurrentRequest @typing_extensions.final @@ -80,15 +95,18 @@ class GetCurrentResponse(google.protobuf.message.Message): AMPERES_FIELD_NUMBER: builtins.int IS_AC_FIELD_NUMBER: builtins.int amperes: builtins.float - 'Current in amperes' + "Current in amperes" is_ac: builtins.bool - 'Bool descibing whether the current is DC or AC' + "Bool descibing whether the current is DC or AC" - def __init__(self, *, amperes: builtins.float=..., is_ac: builtins.bool=...) -> None: - ... + def __init__( + self, *, amperes: builtins.float = ..., is_ac: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["amperes", b"amperes", "is_ac", b"is_ac"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['amperes', b'amperes', 'is_ac', b'is_ac']) -> None: - ... global___GetCurrentResponse = GetCurrentResponse @typing_extensions.final @@ -97,20 +115,25 @@ class GetPowerRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a power sensor' + "Name of a power sensor" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPowerRequest = GetPowerRequest @typing_extensions.final @@ -118,11 +141,11 @@ class GetPowerResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor WATTS_FIELD_NUMBER: builtins.int watts: builtins.float - 'Power in watts' + "Power in watts" - def __init__(self, *, watts: builtins.float=...) -> None: - ... + def __init__(self, *, watts: builtins.float = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["watts", b"watts"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['watts', b'watts']) -> None: - ... -global___GetPowerResponse = GetPowerResponse \ No newline at end of file +global___GetPowerResponse = GetPowerResponse diff --git a/src/viam/gen/component/sensor/v1/sensor_grpc.py b/src/viam/gen/component/sensor/v1/sensor_grpc.py index 2f3baa507..cf1f345a0 100644 --- a/src/viam/gen/component/sensor/v1/sensor_grpc.py +++ b/src/viam/gen/component/sensor/v1/sensor_grpc.py @@ -1,33 +1,78 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 -from .... import component -class SensorServiceBase(abc.ABC): +from .... import common, component + +class SensorServiceBase(abc.ABC): @abc.abstractmethod - async def GetReadings(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]') -> None: + async def GetReadings( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.sensor.v1.SensorService/GetReadings': grpclib.const.Handler(self.GetReadings, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse), '/viam.component.sensor.v1.SensorService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.sensor.v1.SensorService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.sensor.v1.SensorService/GetReadings": grpclib.const.Handler( + self.GetReadings, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ), + "/viam.component.sensor.v1.SensorService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.sensor.v1.SensorService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class SensorServiceStub: +class SensorServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetReadings = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.sensor.v1.SensorService/GetReadings', common.v1.common_pb2.GetReadingsRequest, common.v1.common_pb2.GetReadingsResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.sensor.v1.SensorService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.sensor.v1.SensorService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.GetReadings = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.sensor.v1.SensorService/GetReadings", + common.v1.common_pb2.GetReadingsRequest, + common.v1.common_pb2.GetReadingsResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.sensor.v1.SensorService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.sensor.v1.SensorService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/sensor/v1/sensor_pb2.py b/src/viam/gen/component/sensor/v1/sensor_pb2.py index 4ca2ba7e3..401752861 100644 --- a/src/viam/gen/component/sensor/v1/sensor_pb2.py +++ b/src/viam/gen/component/sensor/v1/sensor_pb2.py @@ -1,22 +1,43 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n component/sensor/v1/sensor.proto\x12\x18viam.component.sensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\xc3\x03\n\rSensorService\x12\x8d\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/sensor/{name}/readings\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/sensor/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/sensor/{name}/geometriesBC\n\x1ccom.viam.component.sensor.v1Z#go.viam.com/api/component/sensor/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n component/sensor/v1/sensor.proto\x12\x18viam.component.sensor.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\xc3\x03\n\rSensorService\x12\x8d\x01\n\x0bGetReadings\x12".viam.common.v1.GetReadingsRequest\x1a#.viam.common.v1.GetReadingsResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/sensor/{name}/readings\x12\x89\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"7\x82\xd3\xe4\x93\x021"//viam/api/v1/component/sensor/{name}/do_command\x12\x95\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/sensor/{name}/geometriesBC\n\x1ccom.viam.component.sensor.v1Z#go.viam.com/api/component/sensor/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.sensor.v1.sensor_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.sensor.v1.sensor_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1ccom.viam.component.sensor.v1Z#go.viam.com/api/component/sensor/v1' - _SENSORSERVICE.methods_by_name['GetReadings']._options = None - _SENSORSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/sensor/{name}/readings' - _SENSORSERVICE.methods_by_name['DoCommand']._options = None - _SENSORSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/sensor/{name}/do_command' - _SENSORSERVICE.methods_by_name['GetGeometries']._options = None - _SENSORSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/sensor/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b"\n\x1ccom.viam.component.sensor.v1Z#go.viam.com/api/component/sensor/v1" + ) + _SENSORSERVICE.methods_by_name["GetReadings"]._options = None + _SENSORSERVICE.methods_by_name[ + "GetReadings" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/sensor/{name}/readings" + ) + _SENSORSERVICE.methods_by_name["DoCommand"]._options = None + _SENSORSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x021"//viam/api/v1/component/sensor/{name}/do_command' + ) + _SENSORSERVICE.methods_by_name["GetGeometries"]._options = None + _SENSORSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/component/sensor/{name}/geometries" + ) _SENSORSERVICE._serialized_start = 117 - _SENSORSERVICE._serialized_end = 568 \ No newline at end of file + _SENSORSERVICE._serialized_end = 568 diff --git a/src/viam/gen/component/sensor/v1/sensor_pb2.pyi b/src/viam/gen/component/sensor/v1/sensor_pb2.pyi index ab0716881..e08fa11c2 100644 --- a/src/viam/gen/component/sensor/v1/sensor_pb2.pyi +++ b/src/viam/gen/component/sensor/v1/sensor_pb2.pyi @@ -3,4 +3,5 @@ isort:skip_file """ import google.protobuf.descriptor -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor \ No newline at end of file + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor diff --git a/src/viam/gen/component/servo/v1/servo_grpc.py b/src/viam/gen/component/servo/v1/servo_grpc.py index 3464145a2..8388439a0 100644 --- a/src/viam/gen/component/servo/v1/servo_grpc.py +++ b/src/viam/gen/component/servo/v1/servo_grpc.py @@ -1,49 +1,136 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import component -class ServoServiceBase(abc.ABC): +from .... import common, component + +class ServoServiceBase(abc.ABC): @abc.abstractmethod - async def Move(self, stream: 'grpclib.server.Stream[component.servo.v1.servo_pb2.MoveRequest, component.servo.v1.servo_pb2.MoveResponse]') -> None: + async def Move( + self, + stream: "grpclib.server.Stream[component.servo.v1.servo_pb2.MoveRequest, component.servo.v1.servo_pb2.MoveResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[component.servo.v1.servo_pb2.GetPositionRequest, component.servo.v1.servo_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[component.servo.v1.servo_pb2.GetPositionRequest, component.servo.v1.servo_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.servo.v1.servo_pb2.StopRequest, component.servo.v1.servo_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.servo.v1.servo_pb2.StopRequest, component.servo.v1.servo_pb2.StopResponse]", + ) -> None: pass @abc.abstractmethod - async def IsMoving(self, stream: 'grpclib.server.Stream[component.servo.v1.servo_pb2.IsMovingRequest, component.servo.v1.servo_pb2.IsMovingResponse]') -> None: + async def IsMoving( + self, + stream: "grpclib.server.Stream[component.servo.v1.servo_pb2.IsMovingRequest, component.servo.v1.servo_pb2.IsMovingResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass @abc.abstractmethod - async def GetGeometries(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]') -> None: + async def GetGeometries( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.servo.v1.ServoService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, component.servo.v1.servo_pb2.MoveRequest, component.servo.v1.servo_pb2.MoveResponse), '/viam.component.servo.v1.ServoService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, component.servo.v1.servo_pb2.GetPositionRequest, component.servo.v1.servo_pb2.GetPositionResponse), '/viam.component.servo.v1.ServoService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.servo.v1.servo_pb2.StopRequest, component.servo.v1.servo_pb2.StopResponse), '/viam.component.servo.v1.ServoService/IsMoving': grpclib.const.Handler(self.IsMoving, grpclib.const.Cardinality.UNARY_UNARY, component.servo.v1.servo_pb2.IsMovingRequest, component.servo.v1.servo_pb2.IsMovingResponse), '/viam.component.servo.v1.ServoService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse), '/viam.component.servo.v1.ServoService/GetGeometries': grpclib.const.Handler(self.GetGeometries, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse)} + return { + "/viam.component.servo.v1.ServoService/Move": grpclib.const.Handler( + self.Move, + grpclib.const.Cardinality.UNARY_UNARY, + component.servo.v1.servo_pb2.MoveRequest, + component.servo.v1.servo_pb2.MoveResponse, + ), + "/viam.component.servo.v1.ServoService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + component.servo.v1.servo_pb2.GetPositionRequest, + component.servo.v1.servo_pb2.GetPositionResponse, + ), + "/viam.component.servo.v1.ServoService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.servo.v1.servo_pb2.StopRequest, + component.servo.v1.servo_pb2.StopResponse, + ), + "/viam.component.servo.v1.ServoService/IsMoving": grpclib.const.Handler( + self.IsMoving, + grpclib.const.Cardinality.UNARY_UNARY, + component.servo.v1.servo_pb2.IsMovingRequest, + component.servo.v1.servo_pb2.IsMovingResponse, + ), + "/viam.component.servo.v1.ServoService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + "/viam.component.servo.v1.ServoService/GetGeometries": grpclib.const.Handler( + self.GetGeometries, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ), + } -class ServoServiceStub: +class ServoServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Move = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/Move', component.servo.v1.servo_pb2.MoveRequest, component.servo.v1.servo_pb2.MoveResponse) - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/GetPosition', component.servo.v1.servo_pb2.GetPositionRequest, component.servo.v1.servo_pb2.GetPositionResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/Stop', component.servo.v1.servo_pb2.StopRequest, component.servo.v1.servo_pb2.StopResponse) - self.IsMoving = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/IsMoving', component.servo.v1.servo_pb2.IsMovingRequest, component.servo.v1.servo_pb2.IsMovingResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) - self.GetGeometries = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.servo.v1.ServoService/GetGeometries', common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse) \ No newline at end of file + self.Move = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/Move", + component.servo.v1.servo_pb2.MoveRequest, + component.servo.v1.servo_pb2.MoveResponse, + ) + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/GetPosition", + component.servo.v1.servo_pb2.GetPositionRequest, + component.servo.v1.servo_pb2.GetPositionResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/Stop", + component.servo.v1.servo_pb2.StopRequest, + component.servo.v1.servo_pb2.StopResponse, + ) + self.IsMoving = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/IsMoving", + component.servo.v1.servo_pb2.IsMovingRequest, + component.servo.v1.servo_pb2.IsMovingResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + self.GetGeometries = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.servo.v1.ServoService/GetGeometries", + common.v1.common_pb2.GetGeometriesRequest, + common.v1.common_pb2.GetGeometriesResponse, + ) diff --git a/src/viam/gen/component/servo/v1/servo_pb2.py b/src/viam/gen/component/servo/v1/servo_pb2.py index 7fa4890b8..8dfc055d4 100644 --- a/src/viam/gen/component/servo/v1/servo_pb2.py +++ b/src/viam/gen/component/servo/v1/servo_pb2.py @@ -1,30 +1,61 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1ecomponent/servo/v1/servo.proto\x12\x17viam.component.servo.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"m\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tangle_deg\x18\x02 \x01(\rR\x08angleDeg\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cMoveResponse"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n\x13GetPositionResponse\x12!\n\x0cposition_deg\x18\x01 \x01(\rR\x0bpositionDeg"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"H\n\x06Status\x12!\n\x0cposition_deg\x18\x01 \x01(\rR\x0bpositionDeg\x12\x1b\n\tis_moving\x18\x02 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\xfe\x06\n\x0cServoService\x12\x89\x01\n\x04Move\x12$.viam.component.servo.v1.MoveRequest\x1a%.viam.component.servo.v1.MoveResponse"4\xa0\x92)\x01\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/servo/{name}/move\x12\x9e\x01\n\x0bGetPosition\x12+.viam.component.servo.v1.GetPositionRequest\x1a,.viam.component.servo.v1.GetPositionResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/servo/{name}/position\x12\x85\x01\n\x04Stop\x12$.viam.component.servo.v1.StopRequest\x1a%.viam.component.servo.v1.StopResponse"0\x82\xd3\xe4\x93\x02*"(/viam/api/v1/component/servo/{name}/stop\x12\x96\x01\n\x08IsMoving\x12(.viam.component.servo.v1.IsMovingRequest\x1a).viam.component.servo.v1.IsMovingResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/servo/{name}/is_moving\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/servo/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/servo/{name}/geometriesBA\n\x1bcom.viam.component.servo.v1Z"go.viam.com/api/component/servo/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1ecomponent/servo/v1/servo.proto\x12\x17viam.component.servo.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"m\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1b\n\tangle_deg\x18\x02 \x01(\rR\x08angleDeg\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cMoveResponse"W\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"8\n\x13GetPositionResponse\x12!\n\x0cposition_deg\x18\x01 \x01(\rR\x0bpositionDeg"P\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cStopResponse"H\n\x06Status\x12!\n\x0cposition_deg\x18\x01 \x01(\rR\x0bpositionDeg\x12\x1b\n\tis_moving\x18\x02 \x01(\x08R\x08isMoving"%\n\x0fIsMovingRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"/\n\x10IsMovingResponse\x12\x1b\n\tis_moving\x18\x01 \x01(\x08R\x08isMoving2\xfe\x06\n\x0cServoService\x12\x89\x01\n\x04Move\x12$.viam.component.servo.v1.MoveRequest\x1a%.viam.component.servo.v1.MoveResponse"4\xa0\x92)\x01\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/servo/{name}/move\x12\x9e\x01\n\x0bGetPosition\x12+.viam.component.servo.v1.GetPositionRequest\x1a,.viam.component.servo.v1.GetPositionResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/servo/{name}/position\x12\x85\x01\n\x04Stop\x12$.viam.component.servo.v1.StopRequest\x1a%.viam.component.servo.v1.StopResponse"0\x82\xd3\xe4\x93\x02*"(/viam/api/v1/component/servo/{name}/stop\x12\x96\x01\n\x08IsMoving\x12(.viam.component.servo.v1.IsMovingRequest\x1a).viam.component.servo.v1.IsMovingResponse"5\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/servo/{name}/is_moving\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/component/servo/{name}/do_command\x12\x94\x01\n\rGetGeometries\x12$.viam.common.v1.GetGeometriesRequest\x1a%.viam.common.v1.GetGeometriesResponse"6\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/servo/{name}/geometriesBA\n\x1bcom.viam.component.servo.v1Z"go.viam.com/api/component/servo/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.servo.v1.servo_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.servo.v1.servo_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.component.servo.v1Z"go.viam.com/api/component/servo/v1' - _SERVOSERVICE.methods_by_name['Move']._options = None - _SERVOSERVICE.methods_by_name['Move']._serialized_options = b'\xa0\x92)\x01\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/servo/{name}/move' - _SERVOSERVICE.methods_by_name['GetPosition']._options = None - _SERVOSERVICE.methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/servo/{name}/position' - _SERVOSERVICE.methods_by_name['Stop']._options = None - _SERVOSERVICE.methods_by_name['Stop']._serialized_options = b'\x82\xd3\xe4\x93\x02*"(/viam/api/v1/component/servo/{name}/stop' - _SERVOSERVICE.methods_by_name['IsMoving']._options = None - _SERVOSERVICE.methods_by_name['IsMoving']._serialized_options = b'\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/servo/{name}/is_moving' - _SERVOSERVICE.methods_by_name['DoCommand']._options = None - _SERVOSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/servo/{name}/do_command' - _SERVOSERVICE.methods_by_name['GetGeometries']._options = None - _SERVOSERVICE.methods_by_name['GetGeometries']._serialized_options = b'\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/servo/{name}/geometries' + DESCRIPTOR._serialized_options = ( + b'\n\x1bcom.viam.component.servo.v1Z"go.viam.com/api/component/servo/v1' + ) + _SERVOSERVICE.methods_by_name["Move"]._options = None + _SERVOSERVICE.methods_by_name[ + "Move" + ]._serialized_options = b"\xa0\x92)\x01\x82\xd3\xe4\x93\x02*\x1a(/viam/api/v1/component/servo/{name}/move" + _SERVOSERVICE.methods_by_name["GetPosition"]._options = None + _SERVOSERVICE.methods_by_name[ + "GetPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/component/servo/{name}/position" + ) + _SERVOSERVICE.methods_by_name["Stop"]._options = None + _SERVOSERVICE.methods_by_name[ + "Stop" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02*"(/viam/api/v1/component/servo/{name}/stop' + ) + _SERVOSERVICE.methods_by_name["IsMoving"]._options = None + _SERVOSERVICE.methods_by_name[ + "IsMoving" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02/\x12-/viam/api/v1/component/servo/{name}/is_moving" + ) + _SERVOSERVICE.methods_by_name["DoCommand"]._options = None + _SERVOSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/component/servo/{name}/do_command' + ) + _SERVOSERVICE.methods_by_name["GetGeometries"]._options = None + _SERVOSERVICE.methods_by_name[ + "GetGeometries" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x020\x12./viam/api/v1/component/servo/{name}/geometries" + ) _MOVEREQUEST._serialized_start = 143 _MOVEREQUEST._serialized_end = 252 _MOVERESPONSE._serialized_start = 254 @@ -44,4 +75,4 @@ _ISMOVINGRESPONSE._serialized_start = 628 _ISMOVINGRESPONSE._serialized_end = 675 _SERVOSERVICE._serialized_start = 678 - _SERVOSERVICE._serialized_end = 1572 \ No newline at end of file + _SERVOSERVICE._serialized_end = 1572 diff --git a/src/viam/gen/component/servo/v1/servo_pb2.pyi b/src/viam/gen/component/servo/v1/servo_pb2.pyi index be87a483a..9d88aaaf7 100644 --- a/src/viam/gen/component/servo/v1/servo_pb2.pyi +++ b/src/viam/gen/component/servo/v1/servo_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -20,30 +22,39 @@ class MoveRequest(google.protobuf.message.Message): ANGLE_DEG_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'the name of the servo, as registered' + "the name of the servo, as registered" angle_deg: builtins.int - 'the degrees by which to rotate the servo. Accepted values are between 0 and 180' + "the degrees by which to rotate the servo. Accepted values are between 0 and 180" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., angle_deg: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + angle_deg: builtins.int = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "angle_deg", b"angle_deg", "extra", b"extra", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['angle_deg', b'angle_deg', 'extra', b'extra', 'name', b'name']) -> None: - ... global___MoveRequest = MoveRequest @typing_extensions.final class MoveResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___MoveResponse = MoveResponse @typing_extensions.final @@ -52,20 +63,25 @@ class GetPositionRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'the name of the servo, as registered' + "the name of the servo, as registered" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -73,13 +89,13 @@ class GetPositionResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor POSITION_DEG_FIELD_NUMBER: builtins.int position_deg: builtins.int - 'the degrees from neutral by which the servo is currently rotated. Values are between 0 and 180' + "the degrees from neutral by which the servo is currently rotated. Values are between 0 and 180" - def __init__(self, *, position_deg: builtins.int=...) -> None: - ... + def __init__(self, *, position_deg: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["position_deg", b"position_deg"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['position_deg', b'position_deg']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -88,28 +104,33 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of a servo' + "Name of a servo" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopResponse = StopResponse @typing_extensions.final @@ -120,11 +141,16 @@ class Status(google.protobuf.message.Message): position_deg: builtins.int is_moving: builtins.bool - def __init__(self, *, position_deg: builtins.int=..., is_moving: builtins.bool=...) -> None: - ... + def __init__( + self, *, position_deg: builtins.int = ..., is_moving: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "is_moving", b"is_moving", "position_deg", b"position_deg" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving', 'position_deg', b'position_deg']) -> None: - ... global___Status = Status @typing_extensions.final @@ -133,11 +159,11 @@ class IsMovingRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___IsMovingRequest = IsMovingRequest @typing_extensions.final @@ -146,9 +172,9 @@ class IsMovingResponse(google.protobuf.message.Message): IS_MOVING_FIELD_NUMBER: builtins.int is_moving: builtins.bool - def __init__(self, *, is_moving: builtins.bool=...) -> None: - ... + def __init__(self, *, is_moving: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["is_moving", b"is_moving"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['is_moving', b'is_moving']) -> None: - ... -global___IsMovingResponse = IsMovingResponse \ No newline at end of file +global___IsMovingResponse = IsMovingResponse diff --git a/src/viam/gen/component/testecho/v1/testecho_grpc.py b/src/viam/gen/component/testecho/v1/testecho_grpc.py index d7c936977..9d35f2788 100644 --- a/src/viam/gen/component/testecho/v1/testecho_grpc.py +++ b/src/viam/gen/component/testecho/v1/testecho_grpc.py @@ -1,37 +1,95 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common -from .... import component +from .... import common, component -class TestEchoServiceBase(abc.ABC): +class TestEchoServiceBase(abc.ABC): @abc.abstractmethod - async def Echo(self, stream: 'grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoRequest, component.testecho.v1.testecho_pb2.EchoResponse]') -> None: + async def Echo( + self, + stream: "grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoRequest, component.testecho.v1.testecho_pb2.EchoResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoMultiple(self, stream: 'grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoMultipleRequest, component.testecho.v1.testecho_pb2.EchoMultipleResponse]') -> None: + async def EchoMultiple( + self, + stream: "grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoMultipleRequest, component.testecho.v1.testecho_pb2.EchoMultipleResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoBiDi(self, stream: 'grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoBiDiRequest, component.testecho.v1.testecho_pb2.EchoBiDiResponse]') -> None: + async def EchoBiDi( + self, + stream: "grpclib.server.Stream[component.testecho.v1.testecho_pb2.EchoBiDiRequest, component.testecho.v1.testecho_pb2.EchoBiDiResponse]", + ) -> None: pass @abc.abstractmethod - async def Stop(self, stream: 'grpclib.server.Stream[component.testecho.v1.testecho_pb2.StopRequest, component.testecho.v1.testecho_pb2.StopResponse]') -> None: + async def Stop( + self, + stream: "grpclib.server.Stream[component.testecho.v1.testecho_pb2.StopRequest, component.testecho.v1.testecho_pb2.StopResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.component.testecho.v1.TestEchoService/Echo': grpclib.const.Handler(self.Echo, grpclib.const.Cardinality.UNARY_UNARY, component.testecho.v1.testecho_pb2.EchoRequest, component.testecho.v1.testecho_pb2.EchoResponse), '/viam.component.testecho.v1.TestEchoService/EchoMultiple': grpclib.const.Handler(self.EchoMultiple, grpclib.const.Cardinality.UNARY_STREAM, component.testecho.v1.testecho_pb2.EchoMultipleRequest, component.testecho.v1.testecho_pb2.EchoMultipleResponse), '/viam.component.testecho.v1.TestEchoService/EchoBiDi': grpclib.const.Handler(self.EchoBiDi, grpclib.const.Cardinality.STREAM_STREAM, component.testecho.v1.testecho_pb2.EchoBiDiRequest, component.testecho.v1.testecho_pb2.EchoBiDiResponse), '/viam.component.testecho.v1.TestEchoService/Stop': grpclib.const.Handler(self.Stop, grpclib.const.Cardinality.UNARY_UNARY, component.testecho.v1.testecho_pb2.StopRequest, component.testecho.v1.testecho_pb2.StopResponse)} + return { + "/viam.component.testecho.v1.TestEchoService/Echo": grpclib.const.Handler( + self.Echo, + grpclib.const.Cardinality.UNARY_UNARY, + component.testecho.v1.testecho_pb2.EchoRequest, + component.testecho.v1.testecho_pb2.EchoResponse, + ), + "/viam.component.testecho.v1.TestEchoService/EchoMultiple": grpclib.const.Handler( + self.EchoMultiple, + grpclib.const.Cardinality.UNARY_STREAM, + component.testecho.v1.testecho_pb2.EchoMultipleRequest, + component.testecho.v1.testecho_pb2.EchoMultipleResponse, + ), + "/viam.component.testecho.v1.TestEchoService/EchoBiDi": grpclib.const.Handler( + self.EchoBiDi, + grpclib.const.Cardinality.STREAM_STREAM, + component.testecho.v1.testecho_pb2.EchoBiDiRequest, + component.testecho.v1.testecho_pb2.EchoBiDiResponse, + ), + "/viam.component.testecho.v1.TestEchoService/Stop": grpclib.const.Handler( + self.Stop, + grpclib.const.Cardinality.UNARY_UNARY, + component.testecho.v1.testecho_pb2.StopRequest, + component.testecho.v1.testecho_pb2.StopResponse, + ), + } -class TestEchoServiceStub: +class TestEchoServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Echo = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.testecho.v1.TestEchoService/Echo', component.testecho.v1.testecho_pb2.EchoRequest, component.testecho.v1.testecho_pb2.EchoResponse) - self.EchoMultiple = grpclib.client.UnaryStreamMethod(channel, '/viam.component.testecho.v1.TestEchoService/EchoMultiple', component.testecho.v1.testecho_pb2.EchoMultipleRequest, component.testecho.v1.testecho_pb2.EchoMultipleResponse) - self.EchoBiDi = grpclib.client.StreamStreamMethod(channel, '/viam.component.testecho.v1.TestEchoService/EchoBiDi', component.testecho.v1.testecho_pb2.EchoBiDiRequest, component.testecho.v1.testecho_pb2.EchoBiDiResponse) - self.Stop = grpclib.client.UnaryUnaryMethod(channel, '/viam.component.testecho.v1.TestEchoService/Stop', component.testecho.v1.testecho_pb2.StopRequest, component.testecho.v1.testecho_pb2.StopResponse) \ No newline at end of file + self.Echo = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.testecho.v1.TestEchoService/Echo", + component.testecho.v1.testecho_pb2.EchoRequest, + component.testecho.v1.testecho_pb2.EchoResponse, + ) + self.EchoMultiple = grpclib.client.UnaryStreamMethod( + channel, + "/viam.component.testecho.v1.TestEchoService/EchoMultiple", + component.testecho.v1.testecho_pb2.EchoMultipleRequest, + component.testecho.v1.testecho_pb2.EchoMultipleResponse, + ) + self.EchoBiDi = grpclib.client.StreamStreamMethod( + channel, + "/viam.component.testecho.v1.TestEchoService/EchoBiDi", + component.testecho.v1.testecho_pb2.EchoBiDiRequest, + component.testecho.v1.testecho_pb2.EchoBiDiResponse, + ) + self.Stop = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.component.testecho.v1.TestEchoService/Stop", + component.testecho.v1.testecho_pb2.StopRequest, + component.testecho.v1.testecho_pb2.StopResponse, + ) diff --git a/src/viam/gen/component/testecho/v1/testecho_pb2.py b/src/viam/gen/component/testecho/v1/testecho_pb2.py index 6334f58a3..b8e47277e 100644 --- a/src/viam/gen/component/testecho/v1/testecho_pb2.py +++ b/src/viam/gen/component/testecho/v1/testecho_pb2.py @@ -1,18 +1,28 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$component/testecho/v1/testecho.proto\x12\x1aviam.component.testecho.v1\x1a\x16common/v1/common.proto";\n\x0bEchoRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"(\n\x0cEchoResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"C\n\x13EchoMultipleRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"0\n\x14EchoMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"?\n\x0fEchoBiDiRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message",\n\x10EchoBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"!\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x0e\n\x0cStopResponse2\xb3\x03\n\x0fTestEchoService\x12[\n\x04Echo\x12\'.viam.component.testecho.v1.EchoRequest\x1a(.viam.component.testecho.v1.EchoResponse"\x00\x12y\n\x0cEchoMultiple\x12/.viam.component.testecho.v1.EchoMultipleRequest\x1a0.viam.component.testecho.v1.EchoMultipleResponse"\x04\xa0\x92)\x010\x01\x12k\n\x08EchoBiDi\x12+.viam.component.testecho.v1.EchoBiDiRequest\x1a,.viam.component.testecho.v1.EchoBiDiResponse"\x00(\x010\x01\x12[\n\x04Stop\x12\'.viam.component.testecho.v1.StopRequest\x1a(.viam.component.testecho.v1.StopResponse"\x00BG\n\x1ecom.viam.component.testecho.v1Z%go.viam.com/api/component/testecho/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n$component/testecho/v1/testecho.proto\x12\x1aviam.component.testecho.v1\x1a\x16common/v1/common.proto";\n\x0bEchoRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"(\n\x0cEchoResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"C\n\x13EchoMultipleRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"0\n\x14EchoMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"?\n\x0fEchoBiDiRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message",\n\x10EchoBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"!\n\x0bStopRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x0e\n\x0cStopResponse2\xb3\x03\n\x0fTestEchoService\x12[\n\x04Echo\x12\'.viam.component.testecho.v1.EchoRequest\x1a(.viam.component.testecho.v1.EchoResponse"\x00\x12y\n\x0cEchoMultiple\x12/.viam.component.testecho.v1.EchoMultipleRequest\x1a0.viam.component.testecho.v1.EchoMultipleResponse"\x04\xa0\x92)\x010\x01\x12k\n\x08EchoBiDi\x12+.viam.component.testecho.v1.EchoBiDiRequest\x1a,.viam.component.testecho.v1.EchoBiDiResponse"\x00(\x010\x01\x12[\n\x04Stop\x12\'.viam.component.testecho.v1.StopRequest\x1a(.viam.component.testecho.v1.StopResponse"\x00BG\n\x1ecom.viam.component.testecho.v1Z%go.viam.com/api/component/testecho/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'component.testecho.v1.testecho_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "component.testecho.v1.testecho_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1ecom.viam.component.testecho.v1Z%go.viam.com/api/component/testecho/v1' - _TESTECHOSERVICE.methods_by_name['EchoMultiple']._options = None - _TESTECHOSERVICE.methods_by_name['EchoMultiple']._serialized_options = b'\xa0\x92)\x01' + DESCRIPTOR._serialized_options = ( + b"\n\x1ecom.viam.component.testecho.v1Z%go.viam.com/api/component/testecho/v1" + ) + _TESTECHOSERVICE.methods_by_name["EchoMultiple"]._options = None + _TESTECHOSERVICE.methods_by_name[ + "EchoMultiple" + ]._serialized_options = b"\xa0\x92)\x01" _ECHOREQUEST._serialized_start = 92 _ECHOREQUEST._serialized_end = 151 _ECHORESPONSE._serialized_start = 153 @@ -30,4 +40,4 @@ _STOPRESPONSE._serialized_start = 460 _STOPRESPONSE._serialized_end = 474 _TESTECHOSERVICE._serialized_start = 477 - _TESTECHOSERVICE._serialized_end = 912 \ No newline at end of file + _TESTECHOSERVICE._serialized_end = 912 diff --git a/src/viam/gen/component/testecho/v1/testecho_pb2.pyi b/src/viam/gen/component/testecho/v1/testecho_pb2.pyi index fa287b6ab..3f7fff54a 100644 --- a/src/viam/gen/component/testecho/v1/testecho_pb2.pyi +++ b/src/viam/gen/component/testecho/v1/testecho_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -20,11 +22,14 @@ class EchoRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoRequest = EchoRequest @typing_extensions.final @@ -33,11 +38,11 @@ class EchoResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoResponse = EchoResponse @typing_extensions.final @@ -48,11 +53,14 @@ class EchoMultipleRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoMultipleRequest = EchoMultipleRequest @typing_extensions.final @@ -61,11 +69,11 @@ class EchoMultipleResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoMultipleResponse = EchoMultipleResponse @typing_extensions.final @@ -76,11 +84,14 @@ class EchoBiDiRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoBiDiRequest = EchoBiDiRequest @typing_extensions.final @@ -89,11 +100,11 @@ class EchoBiDiResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoBiDiResponse = EchoBiDiResponse @typing_extensions.final @@ -102,17 +113,17 @@ class StopRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___StopRequest = StopRequest @typing_extensions.final class StopResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___StopResponse = StopResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___StopResponse = StopResponse diff --git a/src/viam/gen/module/v1/module_grpc.py b/src/viam/gen/module/v1/module_grpc.py index f5d0019c6..5f72875c3 100644 --- a/src/viam/gen/module/v1/module_grpc.py +++ b/src/viam/gen/module/v1/module_grpc.py @@ -1,43 +1,114 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from ... import app -from ... import robot -from ... import module +from ... import app, module, robot -class ModuleServiceBase(abc.ABC): +class ModuleServiceBase(abc.ABC): @abc.abstractmethod - async def AddResource(self, stream: 'grpclib.server.Stream[module.v1.module_pb2.AddResourceRequest, module.v1.module_pb2.AddResourceResponse]') -> None: + async def AddResource( + self, + stream: "grpclib.server.Stream[module.v1.module_pb2.AddResourceRequest, module.v1.module_pb2.AddResourceResponse]", + ) -> None: pass @abc.abstractmethod - async def ReconfigureResource(self, stream: 'grpclib.server.Stream[module.v1.module_pb2.ReconfigureResourceRequest, module.v1.module_pb2.ReconfigureResourceResponse]') -> None: + async def ReconfigureResource( + self, + stream: "grpclib.server.Stream[module.v1.module_pb2.ReconfigureResourceRequest, module.v1.module_pb2.ReconfigureResourceResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveResource(self, stream: 'grpclib.server.Stream[module.v1.module_pb2.RemoveResourceRequest, module.v1.module_pb2.RemoveResourceResponse]') -> None: + async def RemoveResource( + self, + stream: "grpclib.server.Stream[module.v1.module_pb2.RemoveResourceRequest, module.v1.module_pb2.RemoveResourceResponse]", + ) -> None: pass @abc.abstractmethod - async def Ready(self, stream: 'grpclib.server.Stream[module.v1.module_pb2.ReadyRequest, module.v1.module_pb2.ReadyResponse]') -> None: + async def Ready( + self, + stream: "grpclib.server.Stream[module.v1.module_pb2.ReadyRequest, module.v1.module_pb2.ReadyResponse]", + ) -> None: pass @abc.abstractmethod - async def ValidateConfig(self, stream: 'grpclib.server.Stream[module.v1.module_pb2.ValidateConfigRequest, module.v1.module_pb2.ValidateConfigResponse]') -> None: + async def ValidateConfig( + self, + stream: "grpclib.server.Stream[module.v1.module_pb2.ValidateConfigRequest, module.v1.module_pb2.ValidateConfigResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.module.v1.ModuleService/AddResource': grpclib.const.Handler(self.AddResource, grpclib.const.Cardinality.UNARY_UNARY, module.v1.module_pb2.AddResourceRequest, module.v1.module_pb2.AddResourceResponse), '/viam.module.v1.ModuleService/ReconfigureResource': grpclib.const.Handler(self.ReconfigureResource, grpclib.const.Cardinality.UNARY_UNARY, module.v1.module_pb2.ReconfigureResourceRequest, module.v1.module_pb2.ReconfigureResourceResponse), '/viam.module.v1.ModuleService/RemoveResource': grpclib.const.Handler(self.RemoveResource, grpclib.const.Cardinality.UNARY_UNARY, module.v1.module_pb2.RemoveResourceRequest, module.v1.module_pb2.RemoveResourceResponse), '/viam.module.v1.ModuleService/Ready': grpclib.const.Handler(self.Ready, grpclib.const.Cardinality.UNARY_UNARY, module.v1.module_pb2.ReadyRequest, module.v1.module_pb2.ReadyResponse), '/viam.module.v1.ModuleService/ValidateConfig': grpclib.const.Handler(self.ValidateConfig, grpclib.const.Cardinality.UNARY_UNARY, module.v1.module_pb2.ValidateConfigRequest, module.v1.module_pb2.ValidateConfigResponse)} + return { + "/viam.module.v1.ModuleService/AddResource": grpclib.const.Handler( + self.AddResource, + grpclib.const.Cardinality.UNARY_UNARY, + module.v1.module_pb2.AddResourceRequest, + module.v1.module_pb2.AddResourceResponse, + ), + "/viam.module.v1.ModuleService/ReconfigureResource": grpclib.const.Handler( + self.ReconfigureResource, + grpclib.const.Cardinality.UNARY_UNARY, + module.v1.module_pb2.ReconfigureResourceRequest, + module.v1.module_pb2.ReconfigureResourceResponse, + ), + "/viam.module.v1.ModuleService/RemoveResource": grpclib.const.Handler( + self.RemoveResource, + grpclib.const.Cardinality.UNARY_UNARY, + module.v1.module_pb2.RemoveResourceRequest, + module.v1.module_pb2.RemoveResourceResponse, + ), + "/viam.module.v1.ModuleService/Ready": grpclib.const.Handler( + self.Ready, + grpclib.const.Cardinality.UNARY_UNARY, + module.v1.module_pb2.ReadyRequest, + module.v1.module_pb2.ReadyResponse, + ), + "/viam.module.v1.ModuleService/ValidateConfig": grpclib.const.Handler( + self.ValidateConfig, + grpclib.const.Cardinality.UNARY_UNARY, + module.v1.module_pb2.ValidateConfigRequest, + module.v1.module_pb2.ValidateConfigResponse, + ), + } -class ModuleServiceStub: +class ModuleServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.AddResource = grpclib.client.UnaryUnaryMethod(channel, '/viam.module.v1.ModuleService/AddResource', module.v1.module_pb2.AddResourceRequest, module.v1.module_pb2.AddResourceResponse) - self.ReconfigureResource = grpclib.client.UnaryUnaryMethod(channel, '/viam.module.v1.ModuleService/ReconfigureResource', module.v1.module_pb2.ReconfigureResourceRequest, module.v1.module_pb2.ReconfigureResourceResponse) - self.RemoveResource = grpclib.client.UnaryUnaryMethod(channel, '/viam.module.v1.ModuleService/RemoveResource', module.v1.module_pb2.RemoveResourceRequest, module.v1.module_pb2.RemoveResourceResponse) - self.Ready = grpclib.client.UnaryUnaryMethod(channel, '/viam.module.v1.ModuleService/Ready', module.v1.module_pb2.ReadyRequest, module.v1.module_pb2.ReadyResponse) - self.ValidateConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.module.v1.ModuleService/ValidateConfig', module.v1.module_pb2.ValidateConfigRequest, module.v1.module_pb2.ValidateConfigResponse) \ No newline at end of file + self.AddResource = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.module.v1.ModuleService/AddResource", + module.v1.module_pb2.AddResourceRequest, + module.v1.module_pb2.AddResourceResponse, + ) + self.ReconfigureResource = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.module.v1.ModuleService/ReconfigureResource", + module.v1.module_pb2.ReconfigureResourceRequest, + module.v1.module_pb2.ReconfigureResourceResponse, + ) + self.RemoveResource = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.module.v1.ModuleService/RemoveResource", + module.v1.module_pb2.RemoveResourceRequest, + module.v1.module_pb2.RemoveResourceResponse, + ) + self.Ready = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.module.v1.ModuleService/Ready", + module.v1.module_pb2.ReadyRequest, + module.v1.module_pb2.ReadyResponse, + ) + self.ValidateConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.module.v1.ModuleService/ValidateConfig", + module.v1.module_pb2.ValidateConfigRequest, + module.v1.module_pb2.ValidateConfigResponse, + ) diff --git a/src/viam/gen/module/v1/module_pb2.py b/src/viam/gen/module/v1/module_pb2.py index 235558afa..abb6c1e49 100644 --- a/src/viam/gen/module/v1/module_pb2.py +++ b/src/viam/gen/module/v1/module_pb2.py @@ -1,17 +1,21 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from ...app.v1 import robot_pb2 as app_dot_v1_dot_robot__pb2 from ...robot.v1 import robot_pb2 as robot_dot_v1_dot_robot__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"5\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress"a\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"<\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x16module/v1/module.proto\x12\x0eviam.module.v1\x1a\x12app/v1/robot.proto\x1a\x14robot/v1/robot.proto"n\n\x12AddResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x15\n\x13AddResourceResponse"v\n\x1aReconfigureResourceRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config\x12"\n\x0cdependencies\x18\x02 \x03(\tR\x0cdependencies"\x1d\n\x1bReconfigureResourceResponse"+\n\x15RemoveResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x18\n\x16RemoveResourceResponse"h\n\x11HandlerDefinition\x12;\n\x07subtype\x18\x01 \x01(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x07subtype\x12\x16\n\x06models\x18\x02 \x03(\tR\x06models"K\n\nHandlerMap\x12=\n\x08handlers\x18\x01 \x03(\x0b2!.viam.module.v1.HandlerDefinitionR\x08handlers"5\n\x0cReadyRequest\x12%\n\x0eparent_address\x18\x01 \x01(\tR\rparentAddress"a\n\rReadyResponse\x12\x14\n\x05ready\x18\x01 \x01(\x08R\x05ready\x12:\n\nhandlermap\x18\x02 \x01(\x0b2\x1a.viam.module.v1.HandlerMapR\nhandlermap"M\n\x15ValidateConfigRequest\x124\n\x06config\x18\x01 \x01(\x0b2\x1c.viam.app.v1.ComponentConfigR\x06config"<\n\x16ValidateConfigResponse\x12"\n\x0cdependencies\x18\x01 \x03(\tR\x0cdependencies2\xdf\x03\n\rModuleService\x12V\n\x0bAddResource\x12".viam.module.v1.AddResourceRequest\x1a#.viam.module.v1.AddResourceResponse\x12n\n\x13ReconfigureResource\x12*.viam.module.v1.ReconfigureResourceRequest\x1a+.viam.module.v1.ReconfigureResourceResponse\x12_\n\x0eRemoveResource\x12%.viam.module.v1.RemoveResourceRequest\x1a&.viam.module.v1.RemoveResourceResponse\x12D\n\x05Ready\x12\x1c.viam.module.v1.ReadyRequest\x1a\x1d.viam.module.v1.ReadyResponse\x12_\n\x0eValidateConfig\x12%.viam.module.v1.ValidateConfigRequest\x1a&.viam.module.v1.ValidateConfigResponseB\x1bZ\x19go.viam.com/api/module/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'module.v1.module_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "module.v1.module_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x19go.viam.com/api/module/v1' + DESCRIPTOR._serialized_options = b"Z\x19go.viam.com/api/module/v1" _ADDRESOURCEREQUEST._serialized_start = 84 _ADDRESOURCEREQUEST._serialized_end = 194 _ADDRESOURCERESPONSE._serialized_start = 196 @@ -37,4 +41,4 @@ _VALIDATECONFIGRESPONSE._serialized_start = 857 _VALIDATECONFIGRESPONSE._serialized_end = 917 _MODULESERVICE._serialized_start = 920 - _MODULESERVICE._serialized_end = 1399 \ No newline at end of file + _MODULESERVICE._serialized_end = 1399 diff --git a/src/viam/gen/module/v1/module_pb2.pyi b/src/viam/gen/module/v1/module_pb2.pyi index 59eb9970f..0aa55b09a 100644 --- a/src/viam/gen/module/v1/module_pb2.pyi +++ b/src/viam/gen/module/v1/module_pb2.pyi @@ -2,14 +2,16 @@ @generated by mypy-protobuf. Do not edit manually! isort:skip_file """ -from ... import app import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message -from ... import robot -import sys + +from ... import app, robot + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -23,29 +25,37 @@ class AddResourceRequest(google.protobuf.message.Message): DEPENDENCIES_FIELD_NUMBER: builtins.int @property - def config(self) -> app.v1.robot_pb2.ComponentConfig: - ... - + def config(self) -> app.v1.robot_pb2.ComponentConfig: ... @property - def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def dependencies( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + config: app.v1.robot_pb2.ComponentConfig | None = ..., + dependencies: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "config", b"config", "dependencies", b"dependencies" + ], + ) -> None: ... - def __init__(self, *, config: app.v1.robot_pb2.ComponentConfig | None=..., dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config', 'dependencies', b'dependencies']) -> None: - ... global___AddResourceRequest = AddResourceRequest @typing_extensions.final class AddResourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddResourceResponse = AddResourceResponse @typing_extensions.final @@ -55,29 +65,37 @@ class ReconfigureResourceRequest(google.protobuf.message.Message): DEPENDENCIES_FIELD_NUMBER: builtins.int @property - def config(self) -> app.v1.robot_pb2.ComponentConfig: - ... - + def config(self) -> app.v1.robot_pb2.ComponentConfig: ... @property - def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, config: app.v1.robot_pb2.ComponentConfig | None=..., dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... + def dependencies( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + config: app.v1.robot_pb2.ComponentConfig | None = ..., + dependencies: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "config", b"config", "dependencies", b"dependencies" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['config', b'config', 'dependencies', b'dependencies']) -> None: - ... global___ReconfigureResourceRequest = ReconfigureResourceRequest @typing_extensions.final class ReconfigureResourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ReconfigureResourceResponse = ReconfigureResourceResponse @typing_extensions.final @@ -86,19 +104,19 @@ class RemoveResourceRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___RemoveResourceRequest = RemoveResourceRequest @typing_extensions.final class RemoveResourceResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___RemoveResourceResponse = RemoveResourceResponse @typing_extensions.final @@ -108,21 +126,29 @@ class HandlerDefinition(google.protobuf.message.Message): MODELS_FIELD_NUMBER: builtins.int @property - def subtype(self) -> robot.v1.robot_pb2.ResourceRPCSubtype: - ... - + def subtype(self) -> robot.v1.robot_pb2.ResourceRPCSubtype: ... @property - def models(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def models( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + subtype: robot.v1.robot_pb2.ResourceRPCSubtype | None = ..., + models: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["subtype", b"subtype"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "models", b"models", "subtype", b"subtype" + ], + ) -> None: ... - def __init__(self, *, subtype: robot.v1.robot_pb2.ResourceRPCSubtype | None=..., models: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['subtype', b'subtype']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['models', b'models', 'subtype', b'subtype']) -> None: - ... global___HandlerDefinition = HandlerDefinition @typing_extensions.final @@ -131,14 +157,20 @@ class HandlerMap(google.protobuf.message.Message): HANDLERS_FIELD_NUMBER: builtins.int @property - def handlers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___HandlerDefinition]: - ... - - def __init__(self, *, handlers: collections.abc.Iterable[global___HandlerDefinition] | None=...) -> None: - ... + def handlers( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___HandlerDefinition + ]: ... + def __init__( + self, + *, + handlers: collections.abc.Iterable[global___HandlerDefinition] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["handlers", b"handlers"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['handlers', b'handlers']) -> None: - ... global___HandlerMap = HandlerMap @typing_extensions.final @@ -147,11 +179,11 @@ class ReadyRequest(google.protobuf.message.Message): PARENT_ADDRESS_FIELD_NUMBER: builtins.int parent_address: builtins.str - def __init__(self, *, parent_address: builtins.str=...) -> None: - ... + def __init__(self, *, parent_address: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["parent_address", b"parent_address"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['parent_address', b'parent_address']) -> None: - ... global___ReadyRequest = ReadyRequest @typing_extensions.final @@ -162,17 +194,23 @@ class ReadyResponse(google.protobuf.message.Message): ready: builtins.bool @property - def handlermap(self) -> global___HandlerMap: - ... + def handlermap(self) -> global___HandlerMap: ... + def __init__( + self, + *, + ready: builtins.bool = ..., + handlermap: global___HandlerMap | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["handlermap", b"handlermap"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "handlermap", b"handlermap", "ready", b"ready" + ], + ) -> None: ... - def __init__(self, *, ready: builtins.bool=..., handlermap: global___HandlerMap | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['handlermap', b'handlermap']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['handlermap', b'handlermap', 'ready', b'ready']) -> None: - ... global___ReadyResponse = ReadyResponse @typing_extensions.final @@ -181,17 +219,17 @@ class ValidateConfigRequest(google.protobuf.message.Message): CONFIG_FIELD_NUMBER: builtins.int @property - def config(self) -> app.v1.robot_pb2.ComponentConfig: - ... - - def __init__(self, *, config: app.v1.robot_pb2.ComponentConfig | None=...) -> None: - ... + def config(self) -> app.v1.robot_pb2.ComponentConfig: ... + def __init__( + self, *, config: app.v1.robot_pb2.ComponentConfig | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config']) -> None: - ... global___ValidateConfigRequest = ValidateConfigRequest @typing_extensions.final @@ -200,12 +238,16 @@ class ValidateConfigResponse(google.protobuf.message.Message): DEPENDENCIES_FIELD_NUMBER: builtins.int @property - def dependencies(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, dependencies: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['dependencies', b'dependencies']) -> None: - ... -global___ValidateConfigResponse = ValidateConfigResponse \ No newline at end of file + def dependencies( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, dependencies: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["dependencies", b"dependencies"] + ) -> None: ... + +global___ValidateConfigResponse = ValidateConfigResponse diff --git a/src/viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py b/src/viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py index c2499be29..f484507ba 100644 --- a/src/viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py +++ b/src/viam/gen/proto/rpc/examples/echo/v1/echo_grpc.py @@ -1,32 +1,78 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 + from ...... import proto -class EchoServiceBase(abc.ABC): +class EchoServiceBase(abc.ABC): @abc.abstractmethod - async def Echo(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoResponse]') -> None: + async def Echo( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoMultiple(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse]') -> None: + async def EchoMultiple( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoBiDi(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse]') -> None: + async def EchoBiDi( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.examples.echo.v1.EchoService/Echo': grpclib.const.Handler(self.Echo, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoResponse), '/proto.rpc.examples.echo.v1.EchoService/EchoMultiple': grpclib.const.Handler(self.EchoMultiple, grpclib.const.Cardinality.UNARY_STREAM, proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse), '/proto.rpc.examples.echo.v1.EchoService/EchoBiDi': grpclib.const.Handler(self.EchoBiDi, grpclib.const.Cardinality.STREAM_STREAM, proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse)} + return { + "/proto.rpc.examples.echo.v1.EchoService/Echo": grpclib.const.Handler( + self.Echo, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoResponse, + ), + "/proto.rpc.examples.echo.v1.EchoService/EchoMultiple": grpclib.const.Handler( + self.EchoMultiple, + grpclib.const.Cardinality.UNARY_STREAM, + proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse, + ), + "/proto.rpc.examples.echo.v1.EchoService/EchoBiDi": grpclib.const.Handler( + self.EchoBiDi, + grpclib.const.Cardinality.STREAM_STREAM, + proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse, + ), + } -class EchoServiceStub: +class EchoServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Echo = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.examples.echo.v1.EchoService/Echo', proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoResponse) - self.EchoMultiple = grpclib.client.UnaryStreamMethod(channel, '/proto.rpc.examples.echo.v1.EchoService/EchoMultiple', proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse) - self.EchoBiDi = grpclib.client.StreamStreamMethod(channel, '/proto.rpc.examples.echo.v1.EchoService/EchoBiDi', proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse) \ No newline at end of file + self.Echo = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.examples.echo.v1.EchoService/Echo", + proto.rpc.examples.echo.v1.echo_pb2.EchoRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoResponse, + ) + self.EchoMultiple = grpclib.client.UnaryStreamMethod( + channel, + "/proto.rpc.examples.echo.v1.EchoService/EchoMultiple", + proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoMultipleResponse, + ) + self.EchoBiDi = grpclib.client.StreamStreamMethod( + channel, + "/proto.rpc.examples.echo.v1.EchoService/EchoBiDi", + proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiRequest, + proto.rpc.examples.echo.v1.echo_pb2.EchoBiDiResponse, + ) diff --git a/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py b/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py index a2056c96f..9f092b46e 100644 --- a/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py +++ b/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.py @@ -1,18 +1,28 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%proto/rpc/examples/echo/v1/echo.proto\x12\x1aproto.rpc.examples.echo.v1\x1a\x1cgoogle/api/annotations.proto"\'\n\x0bEchoRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"(\n\x0cEchoResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"/\n\x13EchoMultipleRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"0\n\x14EchoMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"+\n\x0fEchoBiDiRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message",\n\x10EchoBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2\xf4\x02\n\x0bEchoService\x12\x80\x01\n\x04Echo\x12\'.proto.rpc.examples.echo.v1.EchoRequest\x1a(.proto.rpc.examples.echo.v1.EchoResponse"%\x82\xd3\xe4\x93\x02\x1f:\x01*"\x1a/rpc/examples/echo/v1/echo\x12u\n\x0cEchoMultiple\x12/.proto.rpc.examples.echo.v1.EchoMultipleRequest\x1a0.proto.rpc.examples.echo.v1.EchoMultipleResponse"\x000\x01\x12k\n\x08EchoBiDi\x12+.proto.rpc.examples.echo.v1.EchoBiDiRequest\x1a,.proto.rpc.examples.echo.v1.EchoBiDiResponse"\x00(\x010\x01B.Z,go.viam.com/utils/proto/rpc/examples/echo/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n%proto/rpc/examples/echo/v1/echo.proto\x12\x1aproto.rpc.examples.echo.v1\x1a\x1cgoogle/api/annotations.proto"\'\n\x0bEchoRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"(\n\x0cEchoResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"/\n\x13EchoMultipleRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"0\n\x14EchoMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"+\n\x0fEchoBiDiRequest\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message",\n\x10EchoBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2\xf4\x02\n\x0bEchoService\x12\x80\x01\n\x04Echo\x12\'.proto.rpc.examples.echo.v1.EchoRequest\x1a(.proto.rpc.examples.echo.v1.EchoResponse"%\x82\xd3\xe4\x93\x02\x1f:\x01*"\x1a/rpc/examples/echo/v1/echo\x12u\n\x0cEchoMultiple\x12/.proto.rpc.examples.echo.v1.EchoMultipleRequest\x1a0.proto.rpc.examples.echo.v1.EchoMultipleResponse"\x000\x01\x12k\n\x08EchoBiDi\x12+.proto.rpc.examples.echo.v1.EchoBiDiRequest\x1a,.proto.rpc.examples.echo.v1.EchoBiDiResponse"\x00(\x010\x01B.Z,go.viam.com/utils/proto/rpc/examples/echo/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.examples.echo.v1.echo_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "proto.rpc.examples.echo.v1.echo_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z,go.viam.com/utils/proto/rpc/examples/echo/v1' - _ECHOSERVICE.methods_by_name['Echo']._options = None - _ECHOSERVICE.methods_by_name['Echo']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1f:\x01*"\x1a/rpc/examples/echo/v1/echo' + DESCRIPTOR._serialized_options = b"Z,go.viam.com/utils/proto/rpc/examples/echo/v1" + _ECHOSERVICE.methods_by_name["Echo"]._options = None + _ECHOSERVICE.methods_by_name[ + "Echo" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02\x1f:\x01*"\x1a/rpc/examples/echo/v1/echo' + ) _ECHOREQUEST._serialized_start = 99 _ECHOREQUEST._serialized_end = 138 _ECHORESPONSE._serialized_start = 140 @@ -26,4 +36,4 @@ _ECHOBIDIRESPONSE._serialized_start = 326 _ECHOBIDIRESPONSE._serialized_end = 370 _ECHOSERVICE._serialized_start = 373 - _ECHOSERVICE._serialized_end = 745 \ No newline at end of file + _ECHOSERVICE._serialized_end = 745 diff --git a/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi b/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi index 5a93f1bf6..2d7d6c4ab 100644 --- a/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi +++ b/src/viam/gen/proto/rpc/examples/echo/v1/echo_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -18,11 +20,11 @@ class EchoRequest(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoRequest = EchoRequest @typing_extensions.final @@ -31,11 +33,11 @@ class EchoResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoResponse = EchoResponse @typing_extensions.final @@ -44,11 +46,11 @@ class EchoMultipleRequest(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoMultipleRequest = EchoMultipleRequest @typing_extensions.final @@ -57,11 +59,11 @@ class EchoMultipleResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoMultipleResponse = EchoMultipleResponse @typing_extensions.final @@ -70,11 +72,11 @@ class EchoBiDiRequest(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoBiDiRequest = EchoBiDiRequest @typing_extensions.final @@ -83,9 +85,9 @@ class EchoBiDiResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... -global___EchoBiDiResponse = EchoBiDiResponse \ No newline at end of file +global___EchoBiDiResponse = EchoBiDiResponse diff --git a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py index dc2151dee..7d7eadf75 100644 --- a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py +++ b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_grpc.py @@ -1,31 +1,76 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server from ...... import proto -class EchoResourceServiceBase(abc.ABC): +class EchoResourceServiceBase(abc.ABC): @abc.abstractmethod - async def EchoResource(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse]') -> None: + async def EchoResource( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoResourceMultiple(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse]') -> None: + async def EchoResourceMultiple( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse]", + ) -> None: pass @abc.abstractmethod - async def EchoResourceBiDi(self, stream: 'grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse]') -> None: + async def EchoResourceBiDi( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResource': grpclib.const.Handler(self.EchoResource, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse), '/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceMultiple': grpclib.const.Handler(self.EchoResourceMultiple, grpclib.const.Cardinality.UNARY_STREAM, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse), '/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceBiDi': grpclib.const.Handler(self.EchoResourceBiDi, grpclib.const.Cardinality.STREAM_STREAM, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse)} + return { + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResource": grpclib.const.Handler( + self.EchoResource, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse, + ), + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceMultiple": grpclib.const.Handler( + self.EchoResourceMultiple, + grpclib.const.Cardinality.UNARY_STREAM, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse, + ), + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceBiDi": grpclib.const.Handler( + self.EchoResourceBiDi, + grpclib.const.Cardinality.STREAM_STREAM, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse, + ), + } -class EchoResourceServiceStub: +class EchoResourceServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.EchoResource = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResource', proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse) - self.EchoResourceMultiple = grpclib.client.UnaryStreamMethod(channel, '/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceMultiple', proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse) - self.EchoResourceBiDi = grpclib.client.StreamStreamMethod(channel, '/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceBiDi', proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse) \ No newline at end of file + self.EchoResource = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResource", + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceResponse, + ) + self.EchoResourceMultiple = grpclib.client.UnaryStreamMethod( + channel, + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceMultiple", + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceMultipleResponse, + ) + self.EchoResourceBiDi = grpclib.client.StreamStreamMethod( + channel, + "/proto.rpc.examples.echoresource.v1.EchoResourceService/EchoResourceBiDi", + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiRequest, + proto.rpc.examples.echoresource.v1.echoresource_pb2.EchoResourceBiDiResponse, + ) diff --git a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py index 3b10919ee..c32072ec8 100644 --- a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py +++ b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.py @@ -1,15 +1,22 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5proto/rpc/examples/echoresource/v1/echoresource.proto\x12"proto.rpc.examples.echoresource.v1"C\n\x13EchoResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"0\n\x14EchoResourceResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"K\n\x1bEchoResourceMultipleRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"8\n\x1cEchoResourceMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"G\n\x17EchoResourceBiDiRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"4\n\x18EchoResourceBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2\xd1\x03\n\x13EchoResourceService\x12\x83\x01\n\x0cEchoResource\x127.proto.rpc.examples.echoresource.v1.EchoResourceRequest\x1a8.proto.rpc.examples.echoresource.v1.EchoResourceResponse"\x00\x12\x9d\x01\n\x14EchoResourceMultiple\x12?.proto.rpc.examples.echoresource.v1.EchoResourceMultipleRequest\x1a@.proto.rpc.examples.echoresource.v1.EchoResourceMultipleResponse"\x000\x01\x12\x93\x01\n\x10EchoResourceBiDi\x12;.proto.rpc.examples.echoresource.v1.EchoResourceBiDiRequest\x1a<.proto.rpc.examples.echoresource.v1.EchoResourceBiDiResponse"\x00(\x010\x01B6Z4go.viam.com/utils/proto/rpc/examples/echoresource/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n5proto/rpc/examples/echoresource/v1/echoresource.proto\x12"proto.rpc.examples.echoresource.v1"C\n\x13EchoResourceRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"0\n\x14EchoResourceResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"K\n\x1bEchoResourceMultipleRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"8\n\x1cEchoResourceMultipleResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message"G\n\x17EchoResourceBiDiRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n\x07message\x18\x02 \x01(\tR\x07message"4\n\x18EchoResourceBiDiResponse\x12\x18\n\x07message\x18\x01 \x01(\tR\x07message2\xd1\x03\n\x13EchoResourceService\x12\x83\x01\n\x0cEchoResource\x127.proto.rpc.examples.echoresource.v1.EchoResourceRequest\x1a8.proto.rpc.examples.echoresource.v1.EchoResourceResponse"\x00\x12\x9d\x01\n\x14EchoResourceMultiple\x12?.proto.rpc.examples.echoresource.v1.EchoResourceMultipleRequest\x1a@.proto.rpc.examples.echoresource.v1.EchoResourceMultipleResponse"\x000\x01\x12\x93\x01\n\x10EchoResourceBiDi\x12;.proto.rpc.examples.echoresource.v1.EchoResourceBiDiRequest\x1a<.proto.rpc.examples.echoresource.v1.EchoResourceBiDiResponse"\x00(\x010\x01B6Z4go.viam.com/utils/proto/rpc/examples/echoresource/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.examples.echoresource.v1.echoresource_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "proto.rpc.examples.echoresource.v1.echoresource_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z4go.viam.com/utils/proto/rpc/examples/echoresource/v1' + DESCRIPTOR._serialized_options = ( + b"Z4go.viam.com/utils/proto/rpc/examples/echoresource/v1" + ) _ECHORESOURCEREQUEST._serialized_start = 93 _ECHORESOURCEREQUEST._serialized_end = 160 _ECHORESOURCERESPONSE._serialized_start = 162 @@ -23,4 +30,4 @@ _ECHORESOURCEBIDIRESPONSE._serialized_start = 420 _ECHORESOURCEBIDIRESPONSE._serialized_end = 472 _ECHORESOURCESERVICE._serialized_start = 475 - _ECHORESOURCESERVICE._serialized_end = 940 \ No newline at end of file + _ECHORESOURCESERVICE._serialized_end = 940 diff --git a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi index 185961098..0cbf7ba10 100644 --- a/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi +++ b/src/viam/gen/proto/rpc/examples/echoresource/v1/echoresource_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -20,11 +22,14 @@ class EchoResourceRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoResourceRequest = EchoResourceRequest @typing_extensions.final @@ -33,11 +38,11 @@ class EchoResourceResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoResourceResponse = EchoResourceResponse @typing_extensions.final @@ -48,11 +53,14 @@ class EchoResourceMultipleRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoResourceMultipleRequest = EchoResourceMultipleRequest @typing_extensions.final @@ -61,11 +69,11 @@ class EchoResourceMultipleResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... global___EchoResourceMultipleResponse = EchoResourceMultipleResponse @typing_extensions.final @@ -76,11 +84,14 @@ class EchoResourceBiDiRequest(google.protobuf.message.Message): name: builtins.str message: builtins.str - def __init__(self, *, name: builtins.str=..., message: builtins.str=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., message: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["message", b"message", "name", b"name"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message', 'name', b'name']) -> None: - ... global___EchoResourceBiDiRequest = EchoResourceBiDiRequest @typing_extensions.final @@ -89,9 +100,9 @@ class EchoResourceBiDiResponse(google.protobuf.message.Message): MESSAGE_FIELD_NUMBER: builtins.int message: builtins.str - def __init__(self, *, message: builtins.str=...) -> None: - ... + def __init__(self, *, message: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["message", b"message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['message', b'message']) -> None: - ... -global___EchoResourceBiDiResponse = EchoResourceBiDiResponse \ No newline at end of file +global___EchoResourceBiDiResponse = EchoResourceBiDiResponse diff --git a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py index 75914a2fa..433d888e3 100644 --- a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py +++ b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_grpc.py @@ -1,21 +1,38 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server from ...... import proto -class FileUploadServiceBase(abc.ABC): +class FileUploadServiceBase(abc.ABC): @abc.abstractmethod - async def UploadFile(self, stream: 'grpclib.server.Stream[proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse]') -> None: + async def UploadFile( + self, + stream: "grpclib.server.Stream[proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.examples.fileupload.v1.FileUploadService/UploadFile': grpclib.const.Handler(self.UploadFile, grpclib.const.Cardinality.STREAM_STREAM, proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse)} + return { + "/proto.rpc.examples.fileupload.v1.FileUploadService/UploadFile": grpclib.const.Handler( + self.UploadFile, + grpclib.const.Cardinality.STREAM_STREAM, + proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, + proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse, + ) + } -class FileUploadServiceStub: +class FileUploadServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.UploadFile = grpclib.client.StreamStreamMethod(channel, '/proto.rpc.examples.fileupload.v1.FileUploadService/UploadFile', proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse) \ No newline at end of file + self.UploadFile = grpclib.client.StreamStreamMethod( + channel, + "/proto.rpc.examples.fileupload.v1.FileUploadService/UploadFile", + proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileRequest, + proto.rpc.examples.fileupload.v1.fileupload_pb2.UploadFileResponse, + ) diff --git a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py index 9ef4ba9d0..9ec96e69a 100644 --- a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py +++ b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.py @@ -1,18 +1,25 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n1proto/rpc/examples/fileupload/v1/fileupload.proto\x12 proto.rpc.examples.fileupload.v1"R\n\x11UploadFileRequest\x12\x14\n\x04name\x18\x01 \x01(\tH\x00R\x04name\x12\x1f\n\nchunk_data\x18\x02 \x01(\x0cH\x00R\tchunkDataB\x06\n\x04data"<\n\x12UploadFileResponse\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size2\x92\x01\n\x11FileUploadService\x12}\n\nUploadFile\x123.proto.rpc.examples.fileupload.v1.UploadFileRequest\x1a4.proto.rpc.examples.fileupload.v1.UploadFileResponse"\x00(\x010\x01B4Z2go.viam.com/utils/proto/rpc/examples/fileupload/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n1proto/rpc/examples/fileupload/v1/fileupload.proto\x12 proto.rpc.examples.fileupload.v1"R\n\x11UploadFileRequest\x12\x14\n\x04name\x18\x01 \x01(\tH\x00R\x04name\x12\x1f\n\nchunk_data\x18\x02 \x01(\x0cH\x00R\tchunkDataB\x06\n\x04data"<\n\x12UploadFileResponse\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04size\x18\x02 \x01(\x03R\x04size2\x92\x01\n\x11FileUploadService\x12}\n\nUploadFile\x123.proto.rpc.examples.fileupload.v1.UploadFileRequest\x1a4.proto.rpc.examples.fileupload.v1.UploadFileResponse"\x00(\x010\x01B4Z2go.viam.com/utils/proto/rpc/examples/fileupload/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.examples.fileupload.v1.fileupload_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "proto.rpc.examples.fileupload.v1.fileupload_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z2go.viam.com/utils/proto/rpc/examples/fileupload/v1' + DESCRIPTOR._serialized_options = ( + b"Z2go.viam.com/utils/proto/rpc/examples/fileupload/v1" + ) _UPLOADFILEREQUEST._serialized_start = 87 _UPLOADFILEREQUEST._serialized_end = 169 _UPLOADFILERESPONSE._serialized_start = 171 _UPLOADFILERESPONSE._serialized_end = 231 _FILEUPLOADSERVICE._serialized_start = 234 - _FILEUPLOADSERVICE._serialized_end = 380 \ No newline at end of file + _FILEUPLOADSERVICE._serialized_end = 380 diff --git a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi index 2ad18bb76..33c7271db 100644 --- a/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi +++ b/src/viam/gen/proto/rpc/examples/fileupload/v1/fileupload_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -20,17 +22,25 @@ class UploadFileRequest(google.protobuf.message.Message): name: builtins.str chunk_data: builtins.bytes - def __init__(self, *, name: builtins.str=..., chunk_data: builtins.bytes=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['chunk_data', b'chunk_data', 'data', b'data', 'name', b'name']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['chunk_data', b'chunk_data', 'data', b'data', 'name', b'name']) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., chunk_data: builtins.bytes = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "chunk_data", b"chunk_data", "data", b"data", "name", b"name" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "chunk_data", b"chunk_data", "data", b"data", "name", b"name" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["data", b"data"] + ) -> typing_extensions.Literal["name", "chunk_data"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['data', b'data']) -> typing_extensions.Literal['name', 'chunk_data'] | None: - ... global___UploadFileRequest = UploadFileRequest @typing_extensions.final @@ -41,9 +51,11 @@ class UploadFileResponse(google.protobuf.message.Message): name: builtins.str size: builtins.int - def __init__(self, *, name: builtins.str=..., size: builtins.int=...) -> None: - ... + def __init__( + self, *, name: builtins.str = ..., size: builtins.int = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name", "size", b"size"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'size', b'size']) -> None: - ... -global___UploadFileResponse = UploadFileResponse \ No newline at end of file +global___UploadFileResponse = UploadFileResponse diff --git a/src/viam/gen/proto/rpc/v1/auth_grpc.py b/src/viam/gen/proto/rpc/v1/auth_grpc.py index 166489cfe..937a633c7 100644 --- a/src/viam/gen/proto/rpc/v1/auth_grpc.py +++ b/src/viam/gen/proto/rpc/v1/auth_grpc.py @@ -1,36 +1,69 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 + from .... import proto -class AuthServiceBase(abc.ABC): +class AuthServiceBase(abc.ABC): @abc.abstractmethod - async def Authenticate(self, stream: 'grpclib.server.Stream[proto.rpc.v1.auth_pb2.AuthenticateRequest, proto.rpc.v1.auth_pb2.AuthenticateResponse]') -> None: + async def Authenticate( + self, + stream: "grpclib.server.Stream[proto.rpc.v1.auth_pb2.AuthenticateRequest, proto.rpc.v1.auth_pb2.AuthenticateResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.v1.AuthService/Authenticate': grpclib.const.Handler(self.Authenticate, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.v1.auth_pb2.AuthenticateRequest, proto.rpc.v1.auth_pb2.AuthenticateResponse)} + return { + "/proto.rpc.v1.AuthService/Authenticate": grpclib.const.Handler( + self.Authenticate, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.v1.auth_pb2.AuthenticateRequest, + proto.rpc.v1.auth_pb2.AuthenticateResponse, + ) + } -class AuthServiceStub: +class AuthServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Authenticate = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.v1.AuthService/Authenticate', proto.rpc.v1.auth_pb2.AuthenticateRequest, proto.rpc.v1.auth_pb2.AuthenticateResponse) + self.Authenticate = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.v1.AuthService/Authenticate", + proto.rpc.v1.auth_pb2.AuthenticateRequest, + proto.rpc.v1.auth_pb2.AuthenticateResponse, + ) -class ExternalAuthServiceBase(abc.ABC): +class ExternalAuthServiceBase(abc.ABC): @abc.abstractmethod - async def AuthenticateTo(self, stream: 'grpclib.server.Stream[proto.rpc.v1.auth_pb2.AuthenticateToRequest, proto.rpc.v1.auth_pb2.AuthenticateToResponse]') -> None: + async def AuthenticateTo( + self, + stream: "grpclib.server.Stream[proto.rpc.v1.auth_pb2.AuthenticateToRequest, proto.rpc.v1.auth_pb2.AuthenticateToResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.v1.ExternalAuthService/AuthenticateTo': grpclib.const.Handler(self.AuthenticateTo, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.v1.auth_pb2.AuthenticateToRequest, proto.rpc.v1.auth_pb2.AuthenticateToResponse)} + return { + "/proto.rpc.v1.ExternalAuthService/AuthenticateTo": grpclib.const.Handler( + self.AuthenticateTo, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.v1.auth_pb2.AuthenticateToRequest, + proto.rpc.v1.auth_pb2.AuthenticateToResponse, + ) + } -class ExternalAuthServiceStub: +class ExternalAuthServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.AuthenticateTo = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.v1.ExternalAuthService/AuthenticateTo', proto.rpc.v1.auth_pb2.AuthenticateToRequest, proto.rpc.v1.auth_pb2.AuthenticateToResponse) \ No newline at end of file + self.AuthenticateTo = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.v1.ExternalAuthService/AuthenticateTo", + proto.rpc.v1.auth_pb2.AuthenticateToRequest, + proto.rpc.v1.auth_pb2.AuthenticateToResponse, + ) diff --git a/src/viam/gen/proto/rpc/v1/auth_pb2.py b/src/viam/gen/proto/rpc/v1/auth_pb2.py index 7eefc19f6..857e1cb78 100644 --- a/src/viam/gen/proto/rpc/v1/auth_pb2.py +++ b/src/viam/gen/proto/rpc/v1/auth_pb2.py @@ -1,20 +1,28 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17proto/rpc/v1/auth.proto\x12\x0cproto.rpc.v1\x1a\x1cgoogle/api/annotations.proto";\n\x0bCredentials\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"j\n\x13AuthenticateRequest\x12\x16\n\x06entity\x18\x01 \x01(\tR\x06entity\x12;\n\x0bcredentials\x18\x02 \x01(\x0b2\x19.proto.rpc.v1.CredentialsR\x0bcredentials"9\n\x14AuthenticateResponse\x12!\n\x0caccess_token\x18\x01 \x01(\tR\x0baccessToken"/\n\x15AuthenticateToRequest\x12\x16\n\x06entity\x18\x01 \x01(\tR\x06entity";\n\x16AuthenticateToResponse\x12!\n\x0caccess_token\x18\x01 \x01(\tR\x0baccessToken2\x82\x01\n\x0bAuthService\x12s\n\x0cAuthenticate\x12!.proto.rpc.v1.AuthenticateRequest\x1a".proto.rpc.v1.AuthenticateResponse"\x1c\x82\xd3\xe4\x93\x02\x16"\x14/rpc/v1/authenticate2\x93\x01\n\x13ExternalAuthService\x12|\n\x0eAuthenticateTo\x12#.proto.rpc.v1.AuthenticateToRequest\x1a$.proto.rpc.v1.AuthenticateToResponse"\x1f\x82\xd3\xe4\x93\x02\x19"\x17/rpc/v1/authenticate_toB Z\x1ego.viam.com/utils/proto/rpc/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x17proto/rpc/v1/auth.proto\x12\x0cproto.rpc.v1\x1a\x1cgoogle/api/annotations.proto";\n\x0bCredentials\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x18\n\x07payload\x18\x02 \x01(\tR\x07payload"j\n\x13AuthenticateRequest\x12\x16\n\x06entity\x18\x01 \x01(\tR\x06entity\x12;\n\x0bcredentials\x18\x02 \x01(\x0b2\x19.proto.rpc.v1.CredentialsR\x0bcredentials"9\n\x14AuthenticateResponse\x12!\n\x0caccess_token\x18\x01 \x01(\tR\x0baccessToken"/\n\x15AuthenticateToRequest\x12\x16\n\x06entity\x18\x01 \x01(\tR\x06entity";\n\x16AuthenticateToResponse\x12!\n\x0caccess_token\x18\x01 \x01(\tR\x0baccessToken2\x82\x01\n\x0bAuthService\x12s\n\x0cAuthenticate\x12!.proto.rpc.v1.AuthenticateRequest\x1a".proto.rpc.v1.AuthenticateResponse"\x1c\x82\xd3\xe4\x93\x02\x16"\x14/rpc/v1/authenticate2\x93\x01\n\x13ExternalAuthService\x12|\n\x0eAuthenticateTo\x12#.proto.rpc.v1.AuthenticateToRequest\x1a$.proto.rpc.v1.AuthenticateToResponse"\x1f\x82\xd3\xe4\x93\x02\x19"\x17/rpc/v1/authenticate_toB Z\x1ego.viam.com/utils/proto/rpc/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.v1.auth_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "proto.rpc.v1.auth_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1ego.viam.com/utils/proto/rpc/v1' - _AUTHSERVICE.methods_by_name['Authenticate']._options = None - _AUTHSERVICE.methods_by_name['Authenticate']._serialized_options = b'\x82\xd3\xe4\x93\x02\x16"\x14/rpc/v1/authenticate' - _EXTERNALAUTHSERVICE.methods_by_name['AuthenticateTo']._options = None - _EXTERNALAUTHSERVICE.methods_by_name['AuthenticateTo']._serialized_options = b'\x82\xd3\xe4\x93\x02\x19"\x17/rpc/v1/authenticate_to' + DESCRIPTOR._serialized_options = b"Z\x1ego.viam.com/utils/proto/rpc/v1" + _AUTHSERVICE.methods_by_name["Authenticate"]._options = None + _AUTHSERVICE.methods_by_name[ + "Authenticate" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x16"\x14/rpc/v1/authenticate' + _EXTERNALAUTHSERVICE.methods_by_name["AuthenticateTo"]._options = None + _EXTERNALAUTHSERVICE.methods_by_name[ + "AuthenticateTo" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x19"\x17/rpc/v1/authenticate_to' _CREDENTIALS._serialized_start = 71 _CREDENTIALS._serialized_end = 130 _AUTHENTICATEREQUEST._serialized_start = 132 @@ -28,4 +36,4 @@ _AUTHSERVICE._serialized_start = 410 _AUTHSERVICE._serialized_end = 540 _EXTERNALAUTHSERVICE._serialized_start = 543 - _EXTERNALAUTHSERVICE._serialized_end = 690 \ No newline at end of file + _EXTERNALAUTHSERVICE._serialized_end = 690 diff --git a/src/viam/gen/proto/rpc/v1/auth_pb2.pyi b/src/viam/gen/proto/rpc/v1/auth_pb2.pyi index 209d2cb7a..ec38703ea 100644 --- a/src/viam/gen/proto/rpc/v1/auth_pb2.pyi +++ b/src/viam/gen/proto/rpc/v1/auth_pb2.pyi @@ -3,9 +3,11 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -18,79 +20,92 @@ class Credentials(google.protobuf.message.Message): TYPE_FIELD_NUMBER: builtins.int PAYLOAD_FIELD_NUMBER: builtins.int type: builtins.str - 'type is the type of credentials being used.' + "type is the type of credentials being used." payload: builtins.str - 'payload is an opaque string used that are of the given type above.' + "payload is an opaque string used that are of the given type above." - def __init__(self, *, type: builtins.str=..., payload: builtins.str=...) -> None: - ... + def __init__( + self, *, type: builtins.str = ..., payload: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["payload", b"payload", "type", b"type"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['payload', b'payload', 'type', b'type']) -> None: - ... global___Credentials = Credentials @typing_extensions.final class AuthenticateRequest(google.protobuf.message.Message): """An AuthenticateRequest contains the credentials used to authenticate.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ENTITY_FIELD_NUMBER: builtins.int CREDENTIALS_FIELD_NUMBER: builtins.int entity: builtins.str @property - def credentials(self) -> global___Credentials: - ... + def credentials(self) -> global___Credentials: ... + def __init__( + self, + *, + entity: builtins.str = ..., + credentials: global___Credentials | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["credentials", b"credentials"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "credentials", b"credentials", "entity", b"entity" + ], + ) -> None: ... - def __init__(self, *, entity: builtins.str=..., credentials: global___Credentials | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['credentials', b'credentials']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['credentials', b'credentials', 'entity', b'entity']) -> None: - ... global___AuthenticateRequest = AuthenticateRequest @typing_extensions.final class AuthenticateResponse(google.protobuf.message.Message): """An AuthenticateResponse is returned after successful authentication.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ACCESS_TOKEN_FIELD_NUMBER: builtins.int access_token: builtins.str - 'access_token is a JWT where only the expiration should be deemed\n important.\n Future(erd): maybe a refresh_token\n ' + "access_token is a JWT where only the expiration should be deemed\n important.\n Future(erd): maybe a refresh_token\n " - def __init__(self, *, access_token: builtins.str=...) -> None: - ... + def __init__(self, *, access_token: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["access_token", b"access_token"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['access_token', b'access_token']) -> None: - ... global___AuthenticateResponse = AuthenticateResponse @typing_extensions.final class AuthenticateToRequest(google.protobuf.message.Message): """An AuthenticateToRequest contains the entity to authenticate to.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ENTITY_FIELD_NUMBER: builtins.int entity: builtins.str - def __init__(self, *, entity: builtins.str=...) -> None: - ... + def __init__(self, *, entity: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["entity", b"entity"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['entity', b'entity']) -> None: - ... global___AuthenticateToRequest = AuthenticateToRequest @typing_extensions.final class AuthenticateToResponse(google.protobuf.message.Message): """An AuthenticateResponse is returned after successful authentication.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ACCESS_TOKEN_FIELD_NUMBER: builtins.int access_token: builtins.str - 'access_token is a JWT where only the expiration should be deemed\n important.\n Future(erd): maybe a refresh_token\n ' + "access_token is a JWT where only the expiration should be deemed\n important.\n Future(erd): maybe a refresh_token\n " - def __init__(self, *, access_token: builtins.str=...) -> None: - ... + def __init__(self, *, access_token: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["access_token", b"access_token"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['access_token', b'access_token']) -> None: - ... -global___AuthenticateToResponse = AuthenticateToResponse \ No newline at end of file +global___AuthenticateToResponse = AuthenticateToResponse diff --git a/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py b/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py index f8b6c9629..22810df4e 100644 --- a/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py +++ b/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.py @@ -1,19 +1,25 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eproto/rpc/webrtc/v1/grpc.proto\x12\x13proto.rpc.webrtc.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto"5\n\rPacketMessage\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x10\n\x03eom\x18\x02 \x01(\x08R\x03eom"\x18\n\x06Stream\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id"\xe9\x01\n\x07Request\x123\n\x06stream\x18\x01 \x01(\x0b2\x1b.proto.rpc.webrtc.v1.StreamR\x06stream\x12?\n\x07headers\x18\x02 \x01(\x0b2#.proto.rpc.webrtc.v1.RequestHeadersH\x00R\x07headers\x12?\n\x07message\x18\x03 \x01(\x0b2#.proto.rpc.webrtc.v1.RequestMessageH\x00R\x07message\x12\x1f\n\nrst_stream\x18\x04 \x01(\x08H\x00R\trstStreamB\x06\n\x04type"\x98\x01\n\x0eRequestHeaders\x12\x16\n\x06method\x18\x01 \x01(\tR\x06method\x129\n\x08metadata\x18\x02 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata\x123\n\x07timeout\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x07timeout"\x8e\x01\n\x0eRequestMessage\x12\x1f\n\x0bhas_message\x18\x01 \x01(\x08R\nhasMessage\x12I\n\x0epacket_message\x18\x02 \x01(\x0b2".proto.rpc.webrtc.v1.PacketMessageR\rpacketMessage\x12\x10\n\x03eos\x18\x03 \x01(\x08R\x03eos"\x90\x02\n\x08Response\x123\n\x06stream\x18\x01 \x01(\x0b2\x1b.proto.rpc.webrtc.v1.StreamR\x06stream\x12@\n\x07headers\x18\x02 \x01(\x0b2$.proto.rpc.webrtc.v1.ResponseHeadersH\x00R\x07headers\x12@\n\x07message\x18\x03 \x01(\x0b2$.proto.rpc.webrtc.v1.ResponseMessageH\x00R\x07message\x12C\n\x08trailers\x18\x04 \x01(\x0b2%.proto.rpc.webrtc.v1.ResponseTrailersH\x00R\x08trailersB\x06\n\x04type"L\n\x0fResponseHeaders\x129\n\x08metadata\x18\x01 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata"\\\n\x0fResponseMessage\x12I\n\x0epacket_message\x18\x01 \x01(\x0b2".proto.rpc.webrtc.v1.PacketMessageR\rpacketMessage"y\n\x10ResponseTrailers\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status\x129\n\x08metadata\x18\x02 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata"!\n\x07Strings\x12\x16\n\x06values\x18\x01 \x03(\tR\x06values"\x96\x01\n\x08Metadata\x125\n\x02md\x18\x01 \x03(\x0b2%.proto.rpc.webrtc.v1.Metadata.MdEntryR\x02md\x1aS\n\x07MdEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.proto.rpc.webrtc.v1.StringsR\x05value:\x028\x01B\'Z%go.viam.com/utils/proto/rpc/webrtc/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1eproto/rpc/webrtc/v1/grpc.proto\x12\x13proto.rpc.webrtc.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x17google/rpc/status.proto"5\n\rPacketMessage\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data\x12\x10\n\x03eom\x18\x02 \x01(\x08R\x03eom"\x18\n\x06Stream\x12\x0e\n\x02id\x18\x01 \x01(\x04R\x02id"\xe9\x01\n\x07Request\x123\n\x06stream\x18\x01 \x01(\x0b2\x1b.proto.rpc.webrtc.v1.StreamR\x06stream\x12?\n\x07headers\x18\x02 \x01(\x0b2#.proto.rpc.webrtc.v1.RequestHeadersH\x00R\x07headers\x12?\n\x07message\x18\x03 \x01(\x0b2#.proto.rpc.webrtc.v1.RequestMessageH\x00R\x07message\x12\x1f\n\nrst_stream\x18\x04 \x01(\x08H\x00R\trstStreamB\x06\n\x04type"\x98\x01\n\x0eRequestHeaders\x12\x16\n\x06method\x18\x01 \x01(\tR\x06method\x129\n\x08metadata\x18\x02 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata\x123\n\x07timeout\x18\x03 \x01(\x0b2\x19.google.protobuf.DurationR\x07timeout"\x8e\x01\n\x0eRequestMessage\x12\x1f\n\x0bhas_message\x18\x01 \x01(\x08R\nhasMessage\x12I\n\x0epacket_message\x18\x02 \x01(\x0b2".proto.rpc.webrtc.v1.PacketMessageR\rpacketMessage\x12\x10\n\x03eos\x18\x03 \x01(\x08R\x03eos"\x90\x02\n\x08Response\x123\n\x06stream\x18\x01 \x01(\x0b2\x1b.proto.rpc.webrtc.v1.StreamR\x06stream\x12@\n\x07headers\x18\x02 \x01(\x0b2$.proto.rpc.webrtc.v1.ResponseHeadersH\x00R\x07headers\x12@\n\x07message\x18\x03 \x01(\x0b2$.proto.rpc.webrtc.v1.ResponseMessageH\x00R\x07message\x12C\n\x08trailers\x18\x04 \x01(\x0b2%.proto.rpc.webrtc.v1.ResponseTrailersH\x00R\x08trailersB\x06\n\x04type"L\n\x0fResponseHeaders\x129\n\x08metadata\x18\x01 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata"\\\n\x0fResponseMessage\x12I\n\x0epacket_message\x18\x01 \x01(\x0b2".proto.rpc.webrtc.v1.PacketMessageR\rpacketMessage"y\n\x10ResponseTrailers\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status\x129\n\x08metadata\x18\x02 \x01(\x0b2\x1d.proto.rpc.webrtc.v1.MetadataR\x08metadata"!\n\x07Strings\x12\x16\n\x06values\x18\x01 \x03(\tR\x06values"\x96\x01\n\x08Metadata\x125\n\x02md\x18\x01 \x03(\x0b2%.proto.rpc.webrtc.v1.Metadata.MdEntryR\x02md\x1aS\n\x07MdEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x122\n\x05value\x18\x02 \x01(\x0b2\x1c.proto.rpc.webrtc.v1.StringsR\x05value:\x028\x01B\'Z%go.viam.com/utils/proto/rpc/webrtc/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.webrtc.v1.grpc_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "proto.rpc.webrtc.v1.grpc_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z%go.viam.com/utils/proto/rpc/webrtc/v1' + DESCRIPTOR._serialized_options = b"Z%go.viam.com/utils/proto/rpc/webrtc/v1" _METADATA_MDENTRY._options = None - _METADATA_MDENTRY._serialized_options = b'8\x01' + _METADATA_MDENTRY._serialized_options = b"8\x01" _PACKETMESSAGE._serialized_start = 112 _PACKETMESSAGE._serialized_end = 165 _STREAM._serialized_start = 167 @@ -37,4 +43,4 @@ _METADATA._serialized_start = 1335 _METADATA._serialized_end = 1485 _METADATA_MDENTRY._serialized_start = 1402 - _METADATA_MDENTRY._serialized_end = 1485 \ No newline at end of file + _METADATA_MDENTRY._serialized_end = 1485 diff --git a/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi b/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi index 9164e5b4d..1296b31c6 100644 --- a/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi +++ b/src/viam/gen/proto/rpc/webrtc/v1/grpc_pb2.pyi @@ -4,12 +4,14 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers import google.protobuf.message import google.rpc.status_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -21,17 +23,20 @@ class PacketMessage(google.protobuf.message.Message): """A PacketMessage is used to packetize large messages (> 64KiB) to be able to safely transmit over WebRTC data channels. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor DATA_FIELD_NUMBER: builtins.int EOM_FIELD_NUMBER: builtins.int data: builtins.bytes eom: builtins.bool - def __init__(self, *, data: builtins.bytes=..., eom: builtins.bool=...) -> None: - ... + def __init__( + self, *, data: builtins.bytes = ..., eom: builtins.bool = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data", "eom", b"eom"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data', 'eom', b'eom']) -> None: - ... global___PacketMessage = PacketMessage @typing_extensions.final @@ -39,15 +44,16 @@ class Stream(google.protobuf.message.Message): """A Stream represents an instance of a gRPC stream between a client and a server. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int id: builtins.int - def __init__(self, *, id: builtins.int=...) -> None: - ... + def __init__(self, *, id: builtins.int = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___Stream = Stream @typing_extensions.final @@ -57,6 +63,7 @@ class Request(google.protobuf.message.Message): identifier. Servers will drop frames where the stream identifier has no association (if a non-header frames are sent). """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor STREAM_FIELD_NUMBER: builtins.int HEADERS_FIELD_NUMBER: builtins.int @@ -64,34 +71,61 @@ class Request(google.protobuf.message.Message): RST_STREAM_FIELD_NUMBER: builtins.int @property - def stream(self) -> global___Stream: - ... - + def stream(self) -> global___Stream: ... @property - def headers(self) -> global___RequestHeaders: - ... - + def headers(self) -> global___RequestHeaders: ... @property - def message(self) -> global___RequestMessage: - ... + def message(self) -> global___RequestMessage: ... rst_stream: builtins.bool - def __init__(self, *, stream: global___Stream | None=..., headers: global___RequestHeaders | None=..., message: global___RequestMessage | None=..., rst_stream: builtins.bool=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['headers', b'headers', 'message', b'message', 'rst_stream', b'rst_stream', 'stream', b'stream', 'type', b'type']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['headers', b'headers', 'message', b'message', 'rst_stream', b'rst_stream', 'stream', b'stream', 'type', b'type']) -> None: - ... + def __init__( + self, + *, + stream: global___Stream | None = ..., + headers: global___RequestHeaders | None = ..., + message: global___RequestMessage | None = ..., + rst_stream: builtins.bool = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "headers", + b"headers", + "message", + b"message", + "rst_stream", + b"rst_stream", + "stream", + b"stream", + "type", + b"type", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "headers", + b"headers", + "message", + b"message", + "rst_stream", + b"rst_stream", + "stream", + b"stream", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["type", b"type"] + ) -> typing_extensions.Literal["headers", "message", "rst_stream"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['headers', 'message', 'rst_stream'] | None: - ... global___Request = Request @typing_extensions.final class RequestHeaders(google.protobuf.message.Message): """RequestHeaders describe the unary or streaming call to make.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor METHOD_FIELD_NUMBER: builtins.int METADATA_FIELD_NUMBER: builtins.int @@ -99,21 +133,29 @@ class RequestHeaders(google.protobuf.message.Message): method: builtins.str @property - def metadata(self) -> global___Metadata: - ... - + def metadata(self) -> global___Metadata: ... @property - def timeout(self) -> google.protobuf.duration_pb2.Duration: - ... - - def __init__(self, *, method: builtins.str=..., metadata: global___Metadata | None=..., timeout: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... + def timeout(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__( + self, + *, + method: builtins.str = ..., + metadata: global___Metadata | None = ..., + timeout: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "metadata", b"metadata", "timeout", b"timeout" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "metadata", b"metadata", "method", b"method", "timeout", b"timeout" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'timeout', b'timeout']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'method', b'method', 'timeout', b'timeout']) -> None: - ... global___RequestHeaders = RequestHeaders @typing_extensions.final @@ -121,6 +163,7 @@ class RequestMessage(google.protobuf.message.Message): """A RequestMessage contains individual gRPC messages and a potential end-of-stream (EOS) marker. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor HAS_MESSAGE_FIELD_NUMBER: builtins.int PACKET_MESSAGE_FIELD_NUMBER: builtins.int @@ -128,18 +171,31 @@ class RequestMessage(google.protobuf.message.Message): has_message: builtins.bool @property - def packet_message(self) -> global___PacketMessage: - ... + def packet_message(self) -> global___PacketMessage: ... eos: builtins.bool - def __init__(self, *, has_message: builtins.bool=..., packet_message: global___PacketMessage | None=..., eos: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + has_message: builtins.bool = ..., + packet_message: global___PacketMessage | None = ..., + eos: builtins.bool = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["packet_message", b"packet_message"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "eos", + b"eos", + "has_message", + b"has_message", + "packet_message", + b"packet_message", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['packet_message', b'packet_message']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['eos', b'eos', 'has_message', b'has_message', 'packet_message', b'packet_message']) -> None: - ... global___RequestMessage = RequestMessage @typing_extensions.final @@ -149,6 +205,7 @@ class Response(google.protobuf.message.Message): identifier. Clients will drop frames where the stream identifier has no association. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor STREAM_FIELD_NUMBER: builtins.int HEADERS_FIELD_NUMBER: builtins.int @@ -156,32 +213,55 @@ class Response(google.protobuf.message.Message): TRAILERS_FIELD_NUMBER: builtins.int @property - def stream(self) -> global___Stream: - ... - + def stream(self) -> global___Stream: ... @property - def headers(self) -> global___ResponseHeaders: - ... - + def headers(self) -> global___ResponseHeaders: ... @property - def message(self) -> global___ResponseMessage: - ... - + def message(self) -> global___ResponseMessage: ... @property - def trailers(self) -> global___ResponseTrailers: - ... + def trailers(self) -> global___ResponseTrailers: ... + def __init__( + self, + *, + stream: global___Stream | None = ..., + headers: global___ResponseHeaders | None = ..., + message: global___ResponseMessage | None = ..., + trailers: global___ResponseTrailers | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "headers", + b"headers", + "message", + b"message", + "stream", + b"stream", + "trailers", + b"trailers", + "type", + b"type", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "headers", + b"headers", + "message", + b"message", + "stream", + b"stream", + "trailers", + b"trailers", + "type", + b"type", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["type", b"type"] + ) -> typing_extensions.Literal["headers", "message", "trailers"] | None: ... - def __init__(self, *, stream: global___Stream | None=..., headers: global___ResponseHeaders | None=..., message: global___ResponseMessage | None=..., trailers: global___ResponseTrailers | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['headers', b'headers', 'message', b'message', 'stream', b'stream', 'trailers', b'trailers', 'type', b'type']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['headers', b'headers', 'message', b'message', 'stream', b'stream', 'trailers', b'trailers', 'type', b'type']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['type', b'type']) -> typing_extensions.Literal['headers', 'message', 'trailers'] | None: - ... global___Response = Response @typing_extensions.final @@ -189,83 +269,96 @@ class ResponseHeaders(google.protobuf.message.Message): """ResponseHeaders contain custom metadata that are sent to the client before any message or trailers (unless only trailers are sent). """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor METADATA_FIELD_NUMBER: builtins.int @property - def metadata(self) -> global___Metadata: - ... - - def __init__(self, *, metadata: global___Metadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool: - ... + def metadata(self) -> global___Metadata: ... + def __init__(self, *, metadata: global___Metadata | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> None: - ... global___ResponseHeaders = ResponseHeaders @typing_extensions.final class ResponseMessage(google.protobuf.message.Message): """ResponseMessage contains the data of a response to a call.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor PACKET_MESSAGE_FIELD_NUMBER: builtins.int @property - def packet_message(self) -> global___PacketMessage: - ... - - def __init__(self, *, packet_message: global___PacketMessage | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['packet_message', b'packet_message']) -> builtins.bool: - ... + def packet_message(self) -> global___PacketMessage: ... + def __init__( + self, *, packet_message: global___PacketMessage | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["packet_message", b"packet_message"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["packet_message", b"packet_message"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['packet_message', b'packet_message']) -> None: - ... global___ResponseMessage = ResponseMessage @typing_extensions.final class ResponseTrailers(google.protobuf.message.Message): """ResponseTrailers contain the status of a response and any custom metadata.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor STATUS_FIELD_NUMBER: builtins.int METADATA_FIELD_NUMBER: builtins.int @property - def status(self) -> google.rpc.status_pb2.Status: - ... - + def status(self) -> google.rpc.status_pb2.Status: ... @property - def metadata(self) -> global___Metadata: - ... + def metadata(self) -> global___Metadata: ... + def __init__( + self, + *, + status: google.rpc.status_pb2.Status | None = ..., + metadata: global___Metadata | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "metadata", b"metadata", "status", b"status" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "metadata", b"metadata", "status", b"status" + ], + ) -> None: ... - def __init__(self, *, status: google.rpc.status_pb2.Status | None=..., metadata: global___Metadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata', 'status', b'status']) -> None: - ... global___ResponseTrailers = ResponseTrailers @typing_extensions.final class Strings(google.protobuf.message.Message): """Strings are a series of values.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor VALUES_FIELD_NUMBER: builtins.int @property - def values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def values( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, values: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["values", b"values"] + ) -> None: ... - def __init__(self, *, values: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['values', b'values']) -> None: - ... global___Strings = Strings @typing_extensions.final @@ -273,6 +366,7 @@ class Metadata(google.protobuf.message.Message): """Metadata is for custom key values provided by a client or server during a stream. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -283,26 +377,32 @@ class Metadata(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___Strings: - ... - - def __init__(self, *, key: builtins.str=..., value: global___Strings | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___Strings: ... + def __init__( + self, *, key: builtins.str = ..., value: global___Strings | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... MD_FIELD_NUMBER: builtins.int @property - def md(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___Strings]: - ... - - def __init__(self, *, md: collections.abc.Mapping[builtins.str, global___Strings] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['md', b'md']) -> None: - ... -global___Metadata = Metadata \ No newline at end of file + def md( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___Strings + ]: ... + def __init__( + self, + *, + md: collections.abc.Mapping[builtins.str, global___Strings] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["md", b"md"] + ) -> None: ... + +global___Metadata = Metadata diff --git a/src/viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py b/src/viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py index d540a664b..fda91e69c 100644 --- a/src/viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py +++ b/src/viam/gen/proto/rpc/webrtc/v1/signaling_grpc.py @@ -1,39 +1,99 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 import google.protobuf.timestamp_pb2 import google.rpc.status_pb2 + from ..... import proto -class SignalingServiceBase(abc.ABC): +class SignalingServiceBase(abc.ABC): @abc.abstractmethod - async def Call(self, stream: 'grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse]') -> None: + async def Call( + self, + stream: "grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse]", + ) -> None: pass @abc.abstractmethod - async def CallUpdate(self, stream: 'grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse]') -> None: + async def CallUpdate( + self, + stream: "grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse]", + ) -> None: pass @abc.abstractmethod - async def Answer(self, stream: 'grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest]') -> None: + async def Answer( + self, + stream: "grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest]", + ) -> None: pass @abc.abstractmethod - async def OptionalWebRTCConfig(self, stream: 'grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse]') -> None: + async def OptionalWebRTCConfig( + self, + stream: "grpclib.server.Stream[proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.rpc.webrtc.v1.SignalingService/Call': grpclib.const.Handler(self.Call, grpclib.const.Cardinality.UNARY_STREAM, proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse), '/proto.rpc.webrtc.v1.SignalingService/CallUpdate': grpclib.const.Handler(self.CallUpdate, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse), '/proto.rpc.webrtc.v1.SignalingService/Answer': grpclib.const.Handler(self.Answer, grpclib.const.Cardinality.STREAM_STREAM, proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest), '/proto.rpc.webrtc.v1.SignalingService/OptionalWebRTCConfig': grpclib.const.Handler(self.OptionalWebRTCConfig, grpclib.const.Cardinality.UNARY_UNARY, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse)} + return { + "/proto.rpc.webrtc.v1.SignalingService/Call": grpclib.const.Handler( + self.Call, + grpclib.const.Cardinality.UNARY_STREAM, + proto.rpc.webrtc.v1.signaling_pb2.CallRequest, + proto.rpc.webrtc.v1.signaling_pb2.CallResponse, + ), + "/proto.rpc.webrtc.v1.SignalingService/CallUpdate": grpclib.const.Handler( + self.CallUpdate, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, + proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse, + ), + "/proto.rpc.webrtc.v1.SignalingService/Answer": grpclib.const.Handler( + self.Answer, + grpclib.const.Cardinality.STREAM_STREAM, + proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, + proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest, + ), + "/proto.rpc.webrtc.v1.SignalingService/OptionalWebRTCConfig": grpclib.const.Handler( + self.OptionalWebRTCConfig, + grpclib.const.Cardinality.UNARY_UNARY, + proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, + proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse, + ), + } -class SignalingServiceStub: +class SignalingServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Call = grpclib.client.UnaryStreamMethod(channel, '/proto.rpc.webrtc.v1.SignalingService/Call', proto.rpc.webrtc.v1.signaling_pb2.CallRequest, proto.rpc.webrtc.v1.signaling_pb2.CallResponse) - self.CallUpdate = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.webrtc.v1.SignalingService/CallUpdate', proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse) - self.Answer = grpclib.client.StreamStreamMethod(channel, '/proto.rpc.webrtc.v1.SignalingService/Answer', proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest) - self.OptionalWebRTCConfig = grpclib.client.UnaryUnaryMethod(channel, '/proto.rpc.webrtc.v1.SignalingService/OptionalWebRTCConfig', proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse) \ No newline at end of file + self.Call = grpclib.client.UnaryStreamMethod( + channel, + "/proto.rpc.webrtc.v1.SignalingService/Call", + proto.rpc.webrtc.v1.signaling_pb2.CallRequest, + proto.rpc.webrtc.v1.signaling_pb2.CallResponse, + ) + self.CallUpdate = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.webrtc.v1.SignalingService/CallUpdate", + proto.rpc.webrtc.v1.signaling_pb2.CallUpdateRequest, + proto.rpc.webrtc.v1.signaling_pb2.CallUpdateResponse, + ) + self.Answer = grpclib.client.StreamStreamMethod( + channel, + "/proto.rpc.webrtc.v1.SignalingService/Answer", + proto.rpc.webrtc.v1.signaling_pb2.AnswerResponse, + proto.rpc.webrtc.v1.signaling_pb2.AnswerRequest, + ) + self.OptionalWebRTCConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.rpc.webrtc.v1.SignalingService/OptionalWebRTCConfig", + proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigRequest, + proto.rpc.webrtc.v1.signaling_pb2.OptionalWebRTCConfigResponse, + ) diff --git a/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py b/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py index d36fba1af..8dbd345ea 100644 --- a/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py +++ b/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.py @@ -1,24 +1,40 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from google.rpc import status_pb2 as google_dot_rpc_dot_status__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#proto/rpc/webrtc/v1/signaling.proto\x12\x13proto.rpc.webrtc.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto"\xdf\x01\n\x0cICECandidate\x12\x1c\n\tcandidate\x18\x01 \x01(\tR\tcandidate\x12\x1c\n\x07sdp_mid\x18\x02 \x01(\tH\x00R\x06sdpMid\x88\x01\x01\x12+\n\x0fsdpm_line_index\x18\x03 \x01(\rH\x01R\rsdpmLineIndex\x88\x01\x01\x120\n\x11username_fragment\x18\x04 \x01(\tH\x02R\x10usernameFragment\x88\x01\x01B\n\n\x08_sdp_midB\x12\n\x10_sdpm_line_indexB\x14\n\x12_username_fragment"H\n\x0bCallRequest\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp\x12\'\n\x0fdisable_trickle\x18\x02 \x01(\x08R\x0edisableTrickle")\n\x15CallResponseInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp"Z\n\x17CallResponseUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\xb5\x01\n\x0cCallResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12@\n\x04init\x18\x02 \x01(\x0b2*.proto.rpc.webrtc.v1.CallResponseInitStageH\x00R\x04init\x12F\n\x06update\x18\x03 \x01(\x0b2,.proto.rpc.webrtc.v1.CallResponseUpdateStageH\x00R\x06updateB\x07\n\x05stage"\xb6\x01\n\x11CallUpdateRequest\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12A\n\tcandidate\x18\x02 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateH\x00R\tcandidate\x12\x14\n\x04done\x18\x03 \x01(\x08H\x00R\x04done\x12*\n\x05error\x18\x04 \x01(\x0b2\x12.google.rpc.StatusH\x00R\x05errorB\x08\n\x06update"\x14\n\x12CallUpdateResponse"[\n\tICEServer\x12\x12\n\x04urls\x18\x01 \x03(\tR\x04urls\x12\x1a\n\x08username\x18\x02 \x01(\tR\x08username\x12\x1e\n\ncredential\x18\x03 \x01(\tR\ncredential"\x8d\x01\n\x0cWebRTCConfig\x12T\n\x16additional_ice_servers\x18\x01 \x03(\x0b2\x1e.proto.rpc.webrtc.v1.ICEServerR\x14additionalIceServers\x12\'\n\x0fdisable_trickle\x18\x02 \x01(\x08R\x0edisableTrickle"\xc0\x01\n\x16AnswerRequestInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp\x12J\n\x0foptional_config\x18\x02 \x01(\x0b2!.proto.rpc.webrtc.v1.WebRTCConfigR\x0eoptionalConfig\x12;\n\x08deadline\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x08deadline\x88\x01\x01B\x0b\n\t_deadline"[\n\x18AnswerRequestUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\x18\n\x16AnswerRequestDoneStage"E\n\x17AnswerRequestErrorStage\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status"\xc1\x02\n\rAnswerRequest\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12A\n\x04init\x18\x02 \x01(\x0b2+.proto.rpc.webrtc.v1.AnswerRequestInitStageH\x00R\x04init\x12G\n\x06update\x18\x03 \x01(\x0b2-.proto.rpc.webrtc.v1.AnswerRequestUpdateStageH\x00R\x06update\x12A\n\x04done\x18\x04 \x01(\x0b2+.proto.rpc.webrtc.v1.AnswerRequestDoneStageH\x00R\x04done\x12D\n\x05error\x18\x05 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerRequestErrorStageH\x00R\x05errorB\x07\n\x05stage"+\n\x17AnswerResponseInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp"\\\n\x19AnswerResponseUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\x19\n\x17AnswerResponseDoneStage"F\n\x18AnswerResponseErrorStage\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status"\xc6\x02\n\x0eAnswerResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12B\n\x04init\x18\x02 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerResponseInitStageH\x00R\x04init\x12H\n\x06update\x18\x03 \x01(\x0b2..proto.rpc.webrtc.v1.AnswerResponseUpdateStageH\x00R\x06update\x12B\n\x04done\x18\x04 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerResponseDoneStageH\x00R\x04done\x12E\n\x05error\x18\x05 \x01(\x0b2-.proto.rpc.webrtc.v1.AnswerResponseErrorStageH\x00R\x05errorB\x07\n\x05stage"\x1d\n\x1bOptionalWebRTCConfigRequest"Y\n\x1cOptionalWebRTCConfigResponse\x129\n\x06config\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.WebRTCConfigR\x06config2\x86\x04\n\x10SignalingService\x12j\n\x04Call\x12 .proto.rpc.webrtc.v1.CallRequest\x1a!.proto.rpc.webrtc.v1.CallResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/rpc/webrtc/v1/call0\x01\x12\x81\x01\n\nCallUpdate\x12&.proto.rpc.webrtc.v1.CallUpdateRequest\x1a\'.proto.rpc.webrtc.v1.CallUpdateResponse""\x82\xd3\xe4\x93\x02\x1c\x1a\x1a/rpc/webrtc/v1/call_update\x12U\n\x06Answer\x12#.proto.rpc.webrtc.v1.AnswerResponse\x1a".proto.rpc.webrtc.v1.AnswerRequest(\x010\x01\x12\xaa\x01\n\x14OptionalWebRTCConfig\x120.proto.rpc.webrtc.v1.OptionalWebRTCConfigRequest\x1a1.proto.rpc.webrtc.v1.OptionalWebRTCConfigResponse"-\x82\xd3\xe4\x93\x02\'\x12%/rpc/webrtc/v1/optional_webrtc_configB\'Z%go.viam.com/utils/proto/rpc/webrtc/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n#proto/rpc/webrtc/v1/signaling.proto\x12\x13proto.rpc.webrtc.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x17google/rpc/status.proto"\xdf\x01\n\x0cICECandidate\x12\x1c\n\tcandidate\x18\x01 \x01(\tR\tcandidate\x12\x1c\n\x07sdp_mid\x18\x02 \x01(\tH\x00R\x06sdpMid\x88\x01\x01\x12+\n\x0fsdpm_line_index\x18\x03 \x01(\rH\x01R\rsdpmLineIndex\x88\x01\x01\x120\n\x11username_fragment\x18\x04 \x01(\tH\x02R\x10usernameFragment\x88\x01\x01B\n\n\x08_sdp_midB\x12\n\x10_sdpm_line_indexB\x14\n\x12_username_fragment"H\n\x0bCallRequest\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp\x12\'\n\x0fdisable_trickle\x18\x02 \x01(\x08R\x0edisableTrickle")\n\x15CallResponseInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp"Z\n\x17CallResponseUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\xb5\x01\n\x0cCallResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12@\n\x04init\x18\x02 \x01(\x0b2*.proto.rpc.webrtc.v1.CallResponseInitStageH\x00R\x04init\x12F\n\x06update\x18\x03 \x01(\x0b2,.proto.rpc.webrtc.v1.CallResponseUpdateStageH\x00R\x06updateB\x07\n\x05stage"\xb6\x01\n\x11CallUpdateRequest\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12A\n\tcandidate\x18\x02 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateH\x00R\tcandidate\x12\x14\n\x04done\x18\x03 \x01(\x08H\x00R\x04done\x12*\n\x05error\x18\x04 \x01(\x0b2\x12.google.rpc.StatusH\x00R\x05errorB\x08\n\x06update"\x14\n\x12CallUpdateResponse"[\n\tICEServer\x12\x12\n\x04urls\x18\x01 \x03(\tR\x04urls\x12\x1a\n\x08username\x18\x02 \x01(\tR\x08username\x12\x1e\n\ncredential\x18\x03 \x01(\tR\ncredential"\x8d\x01\n\x0cWebRTCConfig\x12T\n\x16additional_ice_servers\x18\x01 \x03(\x0b2\x1e.proto.rpc.webrtc.v1.ICEServerR\x14additionalIceServers\x12\'\n\x0fdisable_trickle\x18\x02 \x01(\x08R\x0edisableTrickle"\xc0\x01\n\x16AnswerRequestInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp\x12J\n\x0foptional_config\x18\x02 \x01(\x0b2!.proto.rpc.webrtc.v1.WebRTCConfigR\x0eoptionalConfig\x12;\n\x08deadline\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampH\x00R\x08deadline\x88\x01\x01B\x0b\n\t_deadline"[\n\x18AnswerRequestUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\x18\n\x16AnswerRequestDoneStage"E\n\x17AnswerRequestErrorStage\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status"\xc1\x02\n\rAnswerRequest\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12A\n\x04init\x18\x02 \x01(\x0b2+.proto.rpc.webrtc.v1.AnswerRequestInitStageH\x00R\x04init\x12G\n\x06update\x18\x03 \x01(\x0b2-.proto.rpc.webrtc.v1.AnswerRequestUpdateStageH\x00R\x06update\x12A\n\x04done\x18\x04 \x01(\x0b2+.proto.rpc.webrtc.v1.AnswerRequestDoneStageH\x00R\x04done\x12D\n\x05error\x18\x05 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerRequestErrorStageH\x00R\x05errorB\x07\n\x05stage"+\n\x17AnswerResponseInitStage\x12\x10\n\x03sdp\x18\x01 \x01(\tR\x03sdp"\\\n\x19AnswerResponseUpdateStage\x12?\n\tcandidate\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.ICECandidateR\tcandidate"\x19\n\x17AnswerResponseDoneStage"F\n\x18AnswerResponseErrorStage\x12*\n\x06status\x18\x01 \x01(\x0b2\x12.google.rpc.StatusR\x06status"\xc6\x02\n\x0eAnswerResponse\x12\x12\n\x04uuid\x18\x01 \x01(\tR\x04uuid\x12B\n\x04init\x18\x02 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerResponseInitStageH\x00R\x04init\x12H\n\x06update\x18\x03 \x01(\x0b2..proto.rpc.webrtc.v1.AnswerResponseUpdateStageH\x00R\x06update\x12B\n\x04done\x18\x04 \x01(\x0b2,.proto.rpc.webrtc.v1.AnswerResponseDoneStageH\x00R\x04done\x12E\n\x05error\x18\x05 \x01(\x0b2-.proto.rpc.webrtc.v1.AnswerResponseErrorStageH\x00R\x05errorB\x07\n\x05stage"\x1d\n\x1bOptionalWebRTCConfigRequest"Y\n\x1cOptionalWebRTCConfigResponse\x129\n\x06config\x18\x01 \x01(\x0b2!.proto.rpc.webrtc.v1.WebRTCConfigR\x06config2\x86\x04\n\x10SignalingService\x12j\n\x04Call\x12 .proto.rpc.webrtc.v1.CallRequest\x1a!.proto.rpc.webrtc.v1.CallResponse"\x1b\x82\xd3\xe4\x93\x02\x15"\x13/rpc/webrtc/v1/call0\x01\x12\x81\x01\n\nCallUpdate\x12&.proto.rpc.webrtc.v1.CallUpdateRequest\x1a\'.proto.rpc.webrtc.v1.CallUpdateResponse""\x82\xd3\xe4\x93\x02\x1c\x1a\x1a/rpc/webrtc/v1/call_update\x12U\n\x06Answer\x12#.proto.rpc.webrtc.v1.AnswerResponse\x1a".proto.rpc.webrtc.v1.AnswerRequest(\x010\x01\x12\xaa\x01\n\x14OptionalWebRTCConfig\x120.proto.rpc.webrtc.v1.OptionalWebRTCConfigRequest\x1a1.proto.rpc.webrtc.v1.OptionalWebRTCConfigResponse"-\x82\xd3\xe4\x93\x02\'\x12%/rpc/webrtc/v1/optional_webrtc_configB\'Z%go.viam.com/utils/proto/rpc/webrtc/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.rpc.webrtc.v1.signaling_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "proto.rpc.webrtc.v1.signaling_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z%go.viam.com/utils/proto/rpc/webrtc/v1' - _SIGNALINGSERVICE.methods_by_name['Call']._options = None - _SIGNALINGSERVICE.methods_by_name['Call']._serialized_options = b'\x82\xd3\xe4\x93\x02\x15"\x13/rpc/webrtc/v1/call' - _SIGNALINGSERVICE.methods_by_name['CallUpdate']._options = None - _SIGNALINGSERVICE.methods_by_name['CallUpdate']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1c\x1a\x1a/rpc/webrtc/v1/call_update' - _SIGNALINGSERVICE.methods_by_name['OptionalWebRTCConfig']._options = None - _SIGNALINGSERVICE.methods_by_name['OptionalWebRTCConfig']._serialized_options = b"\x82\xd3\xe4\x93\x02'\x12%/rpc/webrtc/v1/optional_webrtc_config" + DESCRIPTOR._serialized_options = b"Z%go.viam.com/utils/proto/rpc/webrtc/v1" + _SIGNALINGSERVICE.methods_by_name["Call"]._options = None + _SIGNALINGSERVICE.methods_by_name[ + "Call" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x15"\x13/rpc/webrtc/v1/call' + _SIGNALINGSERVICE.methods_by_name["CallUpdate"]._options = None + _SIGNALINGSERVICE.methods_by_name[ + "CallUpdate" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1c\x1a\x1a/rpc/webrtc/v1/call_update" + ) + _SIGNALINGSERVICE.methods_by_name["OptionalWebRTCConfig"]._options = None + _SIGNALINGSERVICE.methods_by_name[ + "OptionalWebRTCConfig" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02'\x12%/rpc/webrtc/v1/optional_webrtc_config" + ) _ICECANDIDATE._serialized_start = 149 _ICECANDIDATE._serialized_end = 372 _CALLREQUEST._serialized_start = 374 @@ -62,4 +78,4 @@ _OPTIONALWEBRTCCONFIGRESPONSE._serialized_start = 2518 _OPTIONALWEBRTCCONFIGRESPONSE._serialized_end = 2607 _SIGNALINGSERVICE._serialized_start = 2610 - _SIGNALINGSERVICE._serialized_end = 3128 \ No newline at end of file + _SIGNALINGSERVICE._serialized_end = 3128 diff --git a/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi b/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi index a3de25266..16a1c5987 100644 --- a/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi +++ b/src/viam/gen/proto/rpc/webrtc/v1/signaling_pb2.pyi @@ -4,13 +4,15 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.timestamp_pb2 import google.rpc.status_pb2 -import sys -import typing + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -22,6 +24,7 @@ class ICECandidate(google.protobuf.message.Message): """ICECandidate represents an ICE candidate. From https://github.com/pion/webrtc/blob/5f6baf73255598a7b4a7c9400bb0381acc9aa3dc/icecandidateinit.go """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor CANDIDATE_FIELD_NUMBER: builtins.int SDP_MID_FIELD_NUMBER: builtins.int @@ -32,43 +35,90 @@ class ICECandidate(google.protobuf.message.Message): sdpm_line_index: builtins.int username_fragment: builtins.str - def __init__(self, *, candidate: builtins.str=..., sdp_mid: builtins.str | None=..., sdpm_line_index: builtins.int | None=..., username_fragment: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_sdp_mid', b'_sdp_mid', '_sdpm_line_index', b'_sdpm_line_index', '_username_fragment', b'_username_fragment', 'sdp_mid', b'sdp_mid', 'sdpm_line_index', b'sdpm_line_index', 'username_fragment', b'username_fragment']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_sdp_mid', b'_sdp_mid', '_sdpm_line_index', b'_sdpm_line_index', '_username_fragment', b'_username_fragment', 'candidate', b'candidate', 'sdp_mid', b'sdp_mid', 'sdpm_line_index', b'sdpm_line_index', 'username_fragment', b'username_fragment']) -> None: - ... - + def __init__( + self, + *, + candidate: builtins.str = ..., + sdp_mid: builtins.str | None = ..., + sdpm_line_index: builtins.int | None = ..., + username_fragment: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_sdp_mid", + b"_sdp_mid", + "_sdpm_line_index", + b"_sdpm_line_index", + "_username_fragment", + b"_username_fragment", + "sdp_mid", + b"sdp_mid", + "sdpm_line_index", + b"sdpm_line_index", + "username_fragment", + b"username_fragment", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_sdp_mid", + b"_sdp_mid", + "_sdpm_line_index", + b"_sdpm_line_index", + "_username_fragment", + b"_username_fragment", + "candidate", + b"candidate", + "sdp_mid", + b"sdp_mid", + "sdpm_line_index", + b"sdpm_line_index", + "username_fragment", + b"username_fragment", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_sdp_mid', b'_sdp_mid']) -> typing_extensions.Literal['sdp_mid'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_sdp_mid", b"_sdp_mid"] + ) -> typing_extensions.Literal["sdp_mid"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_sdpm_line_index', b'_sdpm_line_index']) -> typing_extensions.Literal['sdpm_line_index'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_sdpm_line_index", b"_sdpm_line_index"], + ) -> typing_extensions.Literal["sdpm_line_index"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_username_fragment', b'_username_fragment']) -> typing_extensions.Literal['username_fragment'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_username_fragment", b"_username_fragment" + ], + ) -> typing_extensions.Literal["username_fragment"] | None: ... + global___ICECandidate = ICECandidate @typing_extensions.final class CallRequest(google.protobuf.message.Message): """CallRequest is the SDP offer that the controlling side is making.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SDP_FIELD_NUMBER: builtins.int DISABLE_TRICKLE_FIELD_NUMBER: builtins.int sdp: builtins.str disable_trickle: builtins.bool - 'when disable_trickle is true, the init stage will be the only stage\n to be received in the response and the caller can expect the SDP\n to contain all ICE candidates.\n ' + "when disable_trickle is true, the init stage will be the only stage\n to be received in the response and the caller can expect the SDP\n to contain all ICE candidates.\n " + + def __init__( + self, *, sdp: builtins.str = ..., disable_trickle: builtins.bool = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "disable_trickle", b"disable_trickle", "sdp", b"sdp" + ], + ) -> None: ... - def __init__(self, *, sdp: builtins.str=..., disable_trickle: builtins.bool=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['disable_trickle', b'disable_trickle', 'sdp', b'sdp']) -> None: - ... global___CallRequest = CallRequest @typing_extensions.final @@ -76,15 +126,16 @@ class CallResponseInitStage(google.protobuf.message.Message): """CallResponseInitStage is the first and a one time stage that represents the initial response to starting a call. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor SDP_FIELD_NUMBER: builtins.int sdp: builtins.str - def __init__(self, *, sdp: builtins.str=...) -> None: - ... + def __init__(self, *, sdp: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["sdp", b"sdp"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['sdp', b'sdp']) -> None: - ... global___CallResponseInitStage = CallResponseInitStage @typing_extensions.final @@ -92,26 +143,26 @@ class CallResponseUpdateStage(google.protobuf.message.Message): """CallResponseUpdateStage is multiply used to trickle in ICE candidates from the controlled (answering) side. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor CANDIDATE_FIELD_NUMBER: builtins.int @property - def candidate(self) -> global___ICECandidate: - ... - - def __init__(self, *, candidate: global___ICECandidate | None=...) -> None: - ... + def candidate(self) -> global___ICECandidate: ... + def __init__(self, *, candidate: global___ICECandidate | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> None: - ... global___CallResponseUpdateStage = CallResponseUpdateStage @typing_extensions.final class CallResponse(google.protobuf.message.Message): """CallResponse is the SDP answer that the controlled side responds with.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor UUID_FIELD_NUMBER: builtins.int INIT_FIELD_NUMBER: builtins.int @@ -119,29 +170,38 @@ class CallResponse(google.protobuf.message.Message): uuid: builtins.str @property - def init(self) -> global___CallResponseInitStage: - ... - + def init(self) -> global___CallResponseInitStage: ... @property - def update(self) -> global___CallResponseUpdateStage: - ... - - def __init__(self, *, uuid: builtins.str=..., init: global___CallResponseInitStage | None=..., update: global___CallResponseUpdateStage | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['init', b'init', 'stage', b'stage', 'update', b'update']) -> builtins.bool: - ... + def update(self) -> global___CallResponseUpdateStage: ... + def __init__( + self, + *, + uuid: builtins.str = ..., + init: global___CallResponseInitStage | None = ..., + update: global___CallResponseUpdateStage | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "init", b"init", "stage", b"stage", "update", b"update" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "init", b"init", "stage", b"stage", "update", b"update", "uuid", b"uuid" + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["stage", b"stage"] + ) -> typing_extensions.Literal["init", "update"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['init', b'init', 'stage', b'stage', 'update', b'update', 'uuid', b'uuid']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['stage', b'stage']) -> typing_extensions.Literal['init', 'update'] | None: - ... global___CallResponse = CallResponse @typing_extensions.final class CallUpdateRequest(google.protobuf.message.Message): """CallUpdateRequest updates the call with additional info to the controlled side.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor UUID_FIELD_NUMBER: builtins.int CANDIDATE_FIELD_NUMBER: builtins.int @@ -150,75 +210,131 @@ class CallUpdateRequest(google.protobuf.message.Message): uuid: builtins.str @property - def candidate(self) -> global___ICECandidate: - ... + def candidate(self) -> global___ICECandidate: ... done: builtins.bool @property - def error(self) -> google.rpc.status_pb2.Status: - ... - - def __init__(self, *, uuid: builtins.str=..., candidate: global___ICECandidate | None=..., done: builtins.bool=..., error: google.rpc.status_pb2.Status | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['candidate', b'candidate', 'done', b'done', 'error', b'error', 'update', b'update']) -> builtins.bool: - ... + def error(self) -> google.rpc.status_pb2.Status: ... + def __init__( + self, + *, + uuid: builtins.str = ..., + candidate: global___ICECandidate | None = ..., + done: builtins.bool = ..., + error: google.rpc.status_pb2.Status | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "candidate", + b"candidate", + "done", + b"done", + "error", + b"error", + "update", + b"update", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "candidate", + b"candidate", + "done", + b"done", + "error", + b"error", + "update", + b"update", + "uuid", + b"uuid", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["update", b"update"] + ) -> typing_extensions.Literal["candidate", "done", "error"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['candidate', b'candidate', 'done', b'done', 'error', b'error', 'update', b'update', 'uuid', b'uuid']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['update', b'update']) -> typing_extensions.Literal['candidate', 'done', 'error'] | None: - ... global___CallUpdateRequest = CallUpdateRequest @typing_extensions.final class CallUpdateResponse(google.protobuf.message.Message): """CallUpdateResponse contains nothing in response to a call update.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___CallUpdateResponse = CallUpdateResponse @typing_extensions.final class ICEServer(google.protobuf.message.Message): """ICEServer describes an ICE server.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor URLS_FIELD_NUMBER: builtins.int USERNAME_FIELD_NUMBER: builtins.int CREDENTIAL_FIELD_NUMBER: builtins.int @property - def urls(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def urls( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... username: builtins.str credential: builtins.str - def __init__(self, *, urls: collections.abc.Iterable[builtins.str] | None=..., username: builtins.str=..., credential: builtins.str=...) -> None: - ... + def __init__( + self, + *, + urls: collections.abc.Iterable[builtins.str] | None = ..., + username: builtins.str = ..., + credential: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "credential", b"credential", "urls", b"urls", "username", b"username" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['credential', b'credential', 'urls', b'urls', 'username', b'username']) -> None: - ... global___ICEServer = ICEServer @typing_extensions.final class WebRTCConfig(google.protobuf.message.Message): """WebRTCConfig represents parts of a WebRTC config.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ADDITIONAL_ICE_SERVERS_FIELD_NUMBER: builtins.int DISABLE_TRICKLE_FIELD_NUMBER: builtins.int @property - def additional_ice_servers(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ICEServer]: - ... + def additional_ice_servers( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ICEServer + ]: ... disable_trickle: builtins.bool - 'disable_trickle indicates if Trickle ICE should be used. Currently, both\n sides must both respect this setting.\n ' + "disable_trickle indicates if Trickle ICE should be used. Currently, both\n sides must both respect this setting.\n " + + def __init__( + self, + *, + additional_ice_servers: collections.abc.Iterable[global___ICEServer] + | None = ..., + disable_trickle: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "additional_ice_servers", + b"additional_ice_servers", + "disable_trickle", + b"disable_trickle", + ], + ) -> None: ... - def __init__(self, *, additional_ice_servers: collections.abc.Iterable[global___ICEServer] | None=..., disable_trickle: builtins.bool=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['additional_ice_servers', b'additional_ice_servers', 'disable_trickle', b'disable_trickle']) -> None: - ... global___WebRTCConfig = WebRTCConfig @typing_extensions.final @@ -226,6 +342,7 @@ class AnswerRequestInitStage(google.protobuf.message.Message): """AnswerRequestInitStage is the first and a one time stage that represents the callers initial SDP request to the controlled (answerer) side. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor SDP_FIELD_NUMBER: builtins.int OPTIONAL_CONFIG_FIELD_NUMBER: builtins.int @@ -233,24 +350,44 @@ class AnswerRequestInitStage(google.protobuf.message.Message): sdp: builtins.str @property - def optional_config(self) -> global___WebRTCConfig: - ... - + def optional_config(self) -> global___WebRTCConfig: ... @property - def deadline(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, sdp: builtins.str=..., optional_config: global___WebRTCConfig | None=..., deadline: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... + def deadline(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + sdp: builtins.str = ..., + optional_config: global___WebRTCConfig | None = ..., + deadline: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_deadline", + b"_deadline", + "deadline", + b"deadline", + "optional_config", + b"optional_config", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_deadline", + b"_deadline", + "deadline", + b"deadline", + "optional_config", + b"optional_config", + "sdp", + b"sdp", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_deadline", b"_deadline"] + ) -> typing_extensions.Literal["deadline"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['_deadline', b'_deadline', 'deadline', b'deadline', 'optional_config', b'optional_config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_deadline', b'_deadline', 'deadline', b'deadline', 'optional_config', b'optional_config', 'sdp', b'sdp']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_deadline', b'_deadline']) -> typing_extensions.Literal['deadline'] | None: - ... global___AnswerRequestInitStage = AnswerRequestInitStage @typing_extensions.final @@ -258,50 +395,51 @@ class AnswerRequestUpdateStage(google.protobuf.message.Message): """AnswerRequestUpdateStage is multiply used to trickle in ICE candidates to the controlled (answerer) side. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor CANDIDATE_FIELD_NUMBER: builtins.int @property - def candidate(self) -> global___ICECandidate: - ... - - def __init__(self, *, candidate: global___ICECandidate | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> builtins.bool: - ... + def candidate(self) -> global___ICECandidate: ... + def __init__(self, *, candidate: global___ICECandidate | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> None: - ... global___AnswerRequestUpdateStage = AnswerRequestUpdateStage @typing_extensions.final class AnswerRequestDoneStage(google.protobuf.message.Message): """AnswerRequestDoneStage indicates the controller is done responding with candidates.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AnswerRequestDoneStage = AnswerRequestDoneStage @typing_extensions.final class AnswerRequestErrorStage(google.protobuf.message.Message): """AnswerRequestErrorStage indicates the exchange has failed with an error.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor STATUS_FIELD_NUMBER: builtins.int @property - def status(self) -> google.rpc.status_pb2.Status: - ... - - def __init__(self, *, status: google.rpc.status_pb2.Status | None=...) -> None: - ... + def status(self) -> google.rpc.status_pb2.Status: ... + def __init__( + self, *, status: google.rpc.status_pb2.Status | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None: - ... global___AnswerRequestErrorStage = AnswerRequestErrorStage @typing_extensions.final @@ -309,6 +447,7 @@ class AnswerRequest(google.protobuf.message.Message): """AnswerRequest is the SDP offer that the controlling side is making via the answering stream. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor UUID_FIELD_NUMBER: builtins.int INIT_FIELD_NUMBER: builtins.int @@ -318,13 +457,9 @@ class AnswerRequest(google.protobuf.message.Message): uuid: builtins.str @property - def init(self) -> global___AnswerRequestInitStage: - ... - + def init(self) -> global___AnswerRequestInitStage: ... @property - def update(self) -> global___AnswerRequestUpdateStage: - ... - + def update(self) -> global___AnswerRequestUpdateStage: ... @property def done(self) -> global___AnswerRequestDoneStage: """done is sent when the requester is done sending information""" @@ -333,17 +468,51 @@ class AnswerRequest(google.protobuf.message.Message): def error(self) -> global___AnswerRequestErrorStage: """error is sent any time before done""" - def __init__(self, *, uuid: builtins.str=..., init: global___AnswerRequestInitStage | None=..., update: global___AnswerRequestUpdateStage | None=..., done: global___AnswerRequestDoneStage | None=..., error: global___AnswerRequestErrorStage | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['done', b'done', 'error', b'error', 'init', b'init', 'stage', b'stage', 'update', b'update']) -> builtins.bool: - ... + def __init__( + self, + *, + uuid: builtins.str = ..., + init: global___AnswerRequestInitStage | None = ..., + update: global___AnswerRequestUpdateStage | None = ..., + done: global___AnswerRequestDoneStage | None = ..., + error: global___AnswerRequestErrorStage | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "done", + b"done", + "error", + b"error", + "init", + b"init", + "stage", + b"stage", + "update", + b"update", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "done", + b"done", + "error", + b"error", + "init", + b"init", + "stage", + b"stage", + "update", + b"update", + "uuid", + b"uuid", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["stage", b"stage"] + ) -> typing_extensions.Literal["init", "update", "done", "error"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['done', b'done', 'error', b'error', 'init', b'init', 'stage', b'stage', 'update', b'update', 'uuid', b'uuid']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['stage', b'stage']) -> typing_extensions.Literal['init', 'update', 'done', 'error'] | None: - ... global___AnswerRequest = AnswerRequest @typing_extensions.final @@ -351,15 +520,16 @@ class AnswerResponseInitStage(google.protobuf.message.Message): """AnswerResponseInitStage is the first and a one time stage that represents the answerers initial SDP response to the controlling side. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor SDP_FIELD_NUMBER: builtins.int sdp: builtins.str - def __init__(self, *, sdp: builtins.str=...) -> None: - ... + def __init__(self, *, sdp: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["sdp", b"sdp"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['sdp', b'sdp']) -> None: - ... global___AnswerResponseInitStage = AnswerResponseInitStage @typing_extensions.final @@ -367,55 +537,57 @@ class AnswerResponseUpdateStage(google.protobuf.message.Message): """AnswerResponseUpdateStage is multiply used to trickle in ICE candidates to the controlling side. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor CANDIDATE_FIELD_NUMBER: builtins.int @property - def candidate(self) -> global___ICECandidate: - ... - - def __init__(self, *, candidate: global___ICECandidate | None=...) -> None: - ... + def candidate(self) -> global___ICECandidate: ... + def __init__(self, *, candidate: global___ICECandidate | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["candidate", b"candidate"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['candidate', b'candidate']) -> None: - ... global___AnswerResponseUpdateStage = AnswerResponseUpdateStage @typing_extensions.final class AnswerResponseDoneStage(google.protobuf.message.Message): """AnswerResponseDoneStage indicates the answerer is done responding with candidates.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AnswerResponseDoneStage = AnswerResponseDoneStage @typing_extensions.final class AnswerResponseErrorStage(google.protobuf.message.Message): """AnswerResponseErrorStage indicates the exchange has failed with an error.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor STATUS_FIELD_NUMBER: builtins.int @property - def status(self) -> google.rpc.status_pb2.Status: - ... - - def __init__(self, *, status: google.rpc.status_pb2.Status | None=...) -> None: - ... + def status(self) -> google.rpc.status_pb2.Status: ... + def __init__( + self, *, status: google.rpc.status_pb2.Status | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None: - ... global___AnswerResponseErrorStage = AnswerResponseErrorStage @typing_extensions.final class AnswerResponse(google.protobuf.message.Message): """AnswerResponse is the SDP answer that an answerer responds with.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor UUID_FIELD_NUMBER: builtins.int INIT_FIELD_NUMBER: builtins.int @@ -425,13 +597,9 @@ class AnswerResponse(google.protobuf.message.Message): uuid: builtins.str @property - def init(self) -> global___AnswerResponseInitStage: - ... - + def init(self) -> global___AnswerResponseInitStage: ... @property - def update(self) -> global___AnswerResponseUpdateStage: - ... - + def update(self) -> global___AnswerResponseUpdateStage: ... @property def done(self) -> global___AnswerResponseDoneStage: """done is sent when the answerer is done sending information""" @@ -440,17 +608,51 @@ class AnswerResponse(google.protobuf.message.Message): def error(self) -> global___AnswerResponseErrorStage: """error is sent any time before done""" - def __init__(self, *, uuid: builtins.str=..., init: global___AnswerResponseInitStage | None=..., update: global___AnswerResponseUpdateStage | None=..., done: global___AnswerResponseDoneStage | None=..., error: global___AnswerResponseErrorStage | None=...) -> None: - ... + def __init__( + self, + *, + uuid: builtins.str = ..., + init: global___AnswerResponseInitStage | None = ..., + update: global___AnswerResponseUpdateStage | None = ..., + done: global___AnswerResponseDoneStage | None = ..., + error: global___AnswerResponseErrorStage | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "done", + b"done", + "error", + b"error", + "init", + b"init", + "stage", + b"stage", + "update", + b"update", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "done", + b"done", + "error", + b"error", + "init", + b"init", + "stage", + b"stage", + "update", + b"update", + "uuid", + b"uuid", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["stage", b"stage"] + ) -> typing_extensions.Literal["init", "update", "done", "error"] | None: ... - def HasField(self, field_name: typing_extensions.Literal['done', b'done', 'error', b'error', 'init', b'init', 'stage', b'stage', 'update', b'update']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['done', b'done', 'error', b'error', 'init', b'init', 'stage', b'stage', 'update', b'update', 'uuid', b'uuid']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['stage', b'stage']) -> typing_extensions.Literal['init', 'update', 'done', 'error'] | None: - ... global___AnswerResponse = AnswerResponse @typing_extensions.final @@ -458,10 +660,11 @@ class OptionalWebRTCConfigRequest(google.protobuf.message.Message): """OptionalWebRTCConfigRequest is the request for getting an optional WebRTC config to use for the peer connection. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___OptionalWebRTCConfigRequest = OptionalWebRTCConfigRequest @typing_extensions.final @@ -469,19 +672,18 @@ class OptionalWebRTCConfigResponse(google.protobuf.message.Message): """OptionalWebRTCConfigResponse contains the optional WebRTC config to use for the peer connection. """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor CONFIG_FIELD_NUMBER: builtins.int @property - def config(self) -> global___WebRTCConfig: - ... - - def __init__(self, *, config: global___WebRTCConfig | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['config', b'config']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['config', b'config']) -> None: - ... -global___OptionalWebRTCConfigResponse = OptionalWebRTCConfigResponse \ No newline at end of file + def config(self) -> global___WebRTCConfig: ... + def __init__(self, *, config: global___WebRTCConfig | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["config", b"config"] + ) -> None: ... + +global___OptionalWebRTCConfigResponse = OptionalWebRTCConfigResponse diff --git a/src/viam/gen/provisioning/v1/provisioning_grpc.py b/src/viam/gen/provisioning/v1/provisioning_grpc.py index 120491edb..f4a07748b 100644 --- a/src/viam/gen/provisioning/v1/provisioning_grpc.py +++ b/src/viam/gen/provisioning/v1/provisioning_grpc.py @@ -1,36 +1,95 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server from ... import provisioning -class ProvisioningServiceBase(abc.ABC): +class ProvisioningServiceBase(abc.ABC): @abc.abstractmethod - async def GetSmartMachineStatus(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse]') -> None: + async def GetSmartMachineStatus( + self, + stream: "grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse]", + ) -> None: pass @abc.abstractmethod - async def SetNetworkCredentials(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse]') -> None: + async def SetNetworkCredentials( + self, + stream: "grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse]", + ) -> None: pass @abc.abstractmethod - async def SetSmartMachineCredentials(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse]') -> None: + async def SetSmartMachineCredentials( + self, + stream: "grpclib.server.Stream[provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetNetworkList(self, stream: 'grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse]') -> None: + async def GetNetworkList( + self, + stream: "grpclib.server.Stream[provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus': grpclib.const.Handler(self.GetSmartMachineStatus, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse), '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials': grpclib.const.Handler(self.SetNetworkCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials': grpclib.const.Handler(self.SetSmartMachineCredentials, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse), '/viam.provisioning.v1.ProvisioningService/GetNetworkList': grpclib.const.Handler(self.GetNetworkList, grpclib.const.Cardinality.UNARY_UNARY, provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse)} + return { + "/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus": grpclib.const.Handler( + self.GetSmartMachineStatus, + grpclib.const.Cardinality.UNARY_UNARY, + provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, + provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse, + ), + "/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials": grpclib.const.Handler( + self.SetNetworkCredentials, + grpclib.const.Cardinality.UNARY_UNARY, + provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, + provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse, + ), + "/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials": grpclib.const.Handler( + self.SetSmartMachineCredentials, + grpclib.const.Cardinality.UNARY_UNARY, + provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, + provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse, + ), + "/viam.provisioning.v1.ProvisioningService/GetNetworkList": grpclib.const.Handler( + self.GetNetworkList, + grpclib.const.Cardinality.UNARY_UNARY, + provisioning.v1.provisioning_pb2.GetNetworkListRequest, + provisioning.v1.provisioning_pb2.GetNetworkListResponse, + ), + } -class ProvisioningServiceStub: +class ProvisioningServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetSmartMachineStatus = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus', provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse) - self.SetNetworkCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials', provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse) - self.SetSmartMachineCredentials = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials', provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse) - self.GetNetworkList = grpclib.client.UnaryUnaryMethod(channel, '/viam.provisioning.v1.ProvisioningService/GetNetworkList', provisioning.v1.provisioning_pb2.GetNetworkListRequest, provisioning.v1.provisioning_pb2.GetNetworkListResponse) \ No newline at end of file + self.GetSmartMachineStatus = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.provisioning.v1.ProvisioningService/GetSmartMachineStatus", + provisioning.v1.provisioning_pb2.GetSmartMachineStatusRequest, + provisioning.v1.provisioning_pb2.GetSmartMachineStatusResponse, + ) + self.SetNetworkCredentials = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.provisioning.v1.ProvisioningService/SetNetworkCredentials", + provisioning.v1.provisioning_pb2.SetNetworkCredentialsRequest, + provisioning.v1.provisioning_pb2.SetNetworkCredentialsResponse, + ) + self.SetSmartMachineCredentials = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.provisioning.v1.ProvisioningService/SetSmartMachineCredentials", + provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsRequest, + provisioning.v1.provisioning_pb2.SetSmartMachineCredentialsResponse, + ) + self.GetNetworkList = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.provisioning.v1.ProvisioningService/GetNetworkList", + provisioning.v1.provisioning_pb2.GetNetworkListRequest, + provisioning.v1.provisioning_pb2.GetNetworkListResponse, + ) diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.py b/src/viam/gen/provisioning/v1/provisioning_pb2.py index 227c397d4..9f4da7ead 100644 --- a/src/viam/gen/provisioning/v1/provisioning_pb2.py +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.py @@ -1,15 +1,20 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n"provisioning/v1/provisioning.proto\x12\x14viam.provisioning.v1"\x1e\n\x1cGetSmartMachineStatusRequest"\xcb\x02\n\x1dGetSmartMachineStatusResponse\x12S\n\x11provisioning_info\x18\x01 \x01(\x0b2&.viam.provisioning.v1.ProvisioningInfoR\x10provisioningInfo\x12A\n\x1dhas_smart_machine_credentials\x18\x02 \x01(\x08R\x1ahasSmartMachineCredentials\x12\x1b\n\tis_online\x18\x03 \x01(\x08R\x08isOnline\x12]\n\x19latest_connection_attempt\x18\x04 \x01(\x0b2!.viam.provisioning.v1.NetworkInfoR\x17latestConnectionAttempt\x12\x16\n\x06errors\x18\x05 \x03(\tR\x06errors"X\n\x1cSetNetworkCredentialsRequest\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x10\n\x03psk\x18\x03 \x01(\tR\x03psk"\x1f\n\x1dSetNetworkCredentialsResponse"\\\n!SetSmartMachineCredentialsRequest\x127\n\x05cloud\x18\x01 \x01(\x0b2!.viam.provisioning.v1.CloudConfigR\x05cloud"$\n"SetSmartMachineCredentialsResponse"\x17\n\x15GetNetworkListRequest"W\n\x16GetNetworkListResponse\x12=\n\x08networks\x18\x01 \x03(\x0b2!.viam.provisioning.v1.NetworkInfoR\x08networks"m\n\x10ProvisioningInfo\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12"\n\x0cmanufacturer\x18\x03 \x01(\tR\x0cmanufacturer"\xa6\x01\n\x0bNetworkInfo\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x1a\n\x08security\x18\x03 \x01(\tR\x08security\x12\x16\n\x06signal\x18\x04 \x01(\x05R\x06signal\x12\x1c\n\tconnected\x18\x05 \x01(\x08R\tconnected\x12\x1d\n\nlast_error\x18\x06 \x01(\tR\tlastError"V\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\x12\x1f\n\x0bapp_address\x18\x03 \x01(\tR\nappAddress2\x9a\x04\n\x13ProvisioningService\x12\x80\x01\n\x15GetSmartMachineStatus\x122.viam.provisioning.v1.GetSmartMachineStatusRequest\x1a3.viam.provisioning.v1.GetSmartMachineStatusResponse\x12\x80\x01\n\x15SetNetworkCredentials\x122.viam.provisioning.v1.SetNetworkCredentialsRequest\x1a3.viam.provisioning.v1.SetNetworkCredentialsResponse\x12\x8f\x01\n\x1aSetSmartMachineCredentials\x127.viam.provisioning.v1.SetSmartMachineCredentialsRequest\x1a8.viam.provisioning.v1.SetSmartMachineCredentialsResponse\x12k\n\x0eGetNetworkList\x12+.viam.provisioning.v1.GetNetworkListRequest\x1a,.viam.provisioning.v1.GetNetworkListResponseB!Z\x1fgo.viam.com/api/provisioning/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n"provisioning/v1/provisioning.proto\x12\x14viam.provisioning.v1"\x1e\n\x1cGetSmartMachineStatusRequest"\xcb\x02\n\x1dGetSmartMachineStatusResponse\x12S\n\x11provisioning_info\x18\x01 \x01(\x0b2&.viam.provisioning.v1.ProvisioningInfoR\x10provisioningInfo\x12A\n\x1dhas_smart_machine_credentials\x18\x02 \x01(\x08R\x1ahasSmartMachineCredentials\x12\x1b\n\tis_online\x18\x03 \x01(\x08R\x08isOnline\x12]\n\x19latest_connection_attempt\x18\x04 \x01(\x0b2!.viam.provisioning.v1.NetworkInfoR\x17latestConnectionAttempt\x12\x16\n\x06errors\x18\x05 \x03(\tR\x06errors"X\n\x1cSetNetworkCredentialsRequest\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x10\n\x03psk\x18\x03 \x01(\tR\x03psk"\x1f\n\x1dSetNetworkCredentialsResponse"\\\n!SetSmartMachineCredentialsRequest\x127\n\x05cloud\x18\x01 \x01(\x0b2!.viam.provisioning.v1.CloudConfigR\x05cloud"$\n"SetSmartMachineCredentialsResponse"\x17\n\x15GetNetworkListRequest"W\n\x16GetNetworkListResponse\x12=\n\x08networks\x18\x01 \x03(\x0b2!.viam.provisioning.v1.NetworkInfoR\x08networks"m\n\x10ProvisioningInfo\x12\x1f\n\x0bfragment_id\x18\x01 \x01(\tR\nfragmentId\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model\x12"\n\x0cmanufacturer\x18\x03 \x01(\tR\x0cmanufacturer"\xa6\x01\n\x0bNetworkInfo\x12\x12\n\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n\x04ssid\x18\x02 \x01(\tR\x04ssid\x12\x1a\n\x08security\x18\x03 \x01(\tR\x08security\x12\x16\n\x06signal\x18\x04 \x01(\x05R\x06signal\x12\x1c\n\tconnected\x18\x05 \x01(\x08R\tconnected\x12\x1d\n\nlast_error\x18\x06 \x01(\tR\tlastError"V\n\x0bCloudConfig\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06secret\x18\x02 \x01(\tR\x06secret\x12\x1f\n\x0bapp_address\x18\x03 \x01(\tR\nappAddress2\x9a\x04\n\x13ProvisioningService\x12\x80\x01\n\x15GetSmartMachineStatus\x122.viam.provisioning.v1.GetSmartMachineStatusRequest\x1a3.viam.provisioning.v1.GetSmartMachineStatusResponse\x12\x80\x01\n\x15SetNetworkCredentials\x122.viam.provisioning.v1.SetNetworkCredentialsRequest\x1a3.viam.provisioning.v1.SetNetworkCredentialsResponse\x12\x8f\x01\n\x1aSetSmartMachineCredentials\x127.viam.provisioning.v1.SetSmartMachineCredentialsRequest\x1a8.viam.provisioning.v1.SetSmartMachineCredentialsResponse\x12k\n\x0eGetNetworkList\x12+.viam.provisioning.v1.GetNetworkListRequest\x1a,.viam.provisioning.v1.GetNetworkListResponseB!Z\x1fgo.viam.com/api/provisioning/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'provisioning.v1.provisioning_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "provisioning.v1.provisioning_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z\x1fgo.viam.com/api/provisioning/v1' + DESCRIPTOR._serialized_options = b"Z\x1fgo.viam.com/api/provisioning/v1" _GETSMARTMACHINESTATUSREQUEST._serialized_start = 60 _GETSMARTMACHINESTATUSREQUEST._serialized_end = 90 _GETSMARTMACHINESTATUSRESPONSE._serialized_start = 93 @@ -33,4 +38,4 @@ _CLOUDCONFIG._serialized_start = 1075 _CLOUDCONFIG._serialized_end = 1161 _PROVISIONINGSERVICE._serialized_start = 1164 - _PROVISIONINGSERVICE._serialized_end = 1702 \ No newline at end of file + _PROVISIONINGSERVICE._serialized_end = 1702 diff --git a/src/viam/gen/provisioning/v1/provisioning_pb2.pyi b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi index c0ca26901..33d6b399a 100644 --- a/src/viam/gen/provisioning/v1/provisioning_pb2.pyi +++ b/src/viam/gen/provisioning/v1/provisioning_pb2.pyi @@ -4,10 +4,12 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -18,8 +20,8 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class GetSmartMachineStatusRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GetSmartMachineStatusRequest = GetSmartMachineStatusRequest @typing_extensions.final @@ -32,27 +34,52 @@ class GetSmartMachineStatusResponse(google.protobuf.message.Message): ERRORS_FIELD_NUMBER: builtins.int @property - def provisioning_info(self) -> global___ProvisioningInfo: - ... + def provisioning_info(self) -> global___ProvisioningInfo: ... has_smart_machine_credentials: builtins.bool is_online: builtins.bool @property - def latest_connection_attempt(self) -> global___NetworkInfo: - ... - + def latest_connection_attempt(self) -> global___NetworkInfo: ... @property - def errors(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... - - def __init__(self, *, provisioning_info: global___ProvisioningInfo | None=..., has_smart_machine_credentials: builtins.bool=..., is_online: builtins.bool=..., latest_connection_attempt: global___NetworkInfo | None=..., errors: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> builtins.bool: - ... + def errors( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, + *, + provisioning_info: global___ProvisioningInfo | None = ..., + has_smart_machine_credentials: builtins.bool = ..., + is_online: builtins.bool = ..., + latest_connection_attempt: global___NetworkInfo | None = ..., + errors: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "latest_connection_attempt", + b"latest_connection_attempt", + "provisioning_info", + b"provisioning_info", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "errors", + b"errors", + "has_smart_machine_credentials", + b"has_smart_machine_credentials", + "is_online", + b"is_online", + "latest_connection_attempt", + b"latest_connection_attempt", + "provisioning_info", + b"provisioning_info", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['errors', b'errors', 'has_smart_machine_credentials', b'has_smart_machine_credentials', 'is_online', b'is_online', 'latest_connection_attempt', b'latest_connection_attempt', 'provisioning_info', b'provisioning_info']) -> None: - ... global___GetSmartMachineStatusResponse = GetSmartMachineStatusResponse @typing_extensions.final @@ -65,19 +92,28 @@ class SetNetworkCredentialsRequest(google.protobuf.message.Message): ssid: builtins.str psk: builtins.str - def __init__(self, *, type: builtins.str=..., ssid: builtins.str=..., psk: builtins.str=...) -> None: - ... + def __init__( + self, + *, + type: builtins.str = ..., + ssid: builtins.str = ..., + psk: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "psk", b"psk", "ssid", b"ssid", "type", b"type" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['psk', b'psk', 'ssid', b'ssid', 'type', b'type']) -> None: - ... global___SetNetworkCredentialsRequest = SetNetworkCredentialsRequest @typing_extensions.final class SetNetworkCredentialsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetNetworkCredentialsResponse = SetNetworkCredentialsResponse @typing_extensions.final @@ -86,33 +122,31 @@ class SetSmartMachineCredentialsRequest(google.protobuf.message.Message): CLOUD_FIELD_NUMBER: builtins.int @property - def cloud(self) -> global___CloudConfig: - ... - - def __init__(self, *, cloud: global___CloudConfig | None=...) -> None: - ... + def cloud(self) -> global___CloudConfig: ... + def __init__(self, *, cloud: global___CloudConfig | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["cloud", b"cloud"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["cloud", b"cloud"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['cloud', b'cloud']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud', b'cloud']) -> None: - ... global___SetSmartMachineCredentialsRequest = SetSmartMachineCredentialsRequest @typing_extensions.final class SetSmartMachineCredentialsResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetSmartMachineCredentialsResponse = SetSmartMachineCredentialsResponse @typing_extensions.final class GetNetworkListRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GetNetworkListRequest = GetNetworkListRequest @typing_extensions.final @@ -121,14 +155,18 @@ class GetNetworkListResponse(google.protobuf.message.Message): NETWORKS_FIELD_NUMBER: builtins.int @property - def networks(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___NetworkInfo]: - ... - - def __init__(self, *, networks: collections.abc.Iterable[global___NetworkInfo] | None=...) -> None: - ... + def networks( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___NetworkInfo + ]: ... + def __init__( + self, *, networks: collections.abc.Iterable[global___NetworkInfo] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["networks", b"networks"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['networks', b'networks']) -> None: - ... global___GetNetworkListResponse = GetNetworkListResponse @typing_extensions.final @@ -141,11 +179,25 @@ class ProvisioningInfo(google.protobuf.message.Message): model: builtins.str manufacturer: builtins.str - def __init__(self, *, fragment_id: builtins.str=..., model: builtins.str=..., manufacturer: builtins.str=...) -> None: - ... + def __init__( + self, + *, + fragment_id: builtins.str = ..., + model: builtins.str = ..., + manufacturer: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "fragment_id", + b"fragment_id", + "manufacturer", + b"manufacturer", + "model", + b"model", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['fragment_id', b'fragment_id', 'manufacturer', b'manufacturer', 'model', b'model']) -> None: - ... global___ProvisioningInfo = ProvisioningInfo @typing_extensions.final @@ -164,29 +216,62 @@ class NetworkInfo(google.protobuf.message.Message): connected: builtins.bool last_error: builtins.str - def __init__(self, *, type: builtins.str=..., ssid: builtins.str=..., security: builtins.str=..., signal: builtins.int=..., connected: builtins.bool=..., last_error: builtins.str=...) -> None: - ... + def __init__( + self, + *, + type: builtins.str = ..., + ssid: builtins.str = ..., + security: builtins.str = ..., + signal: builtins.int = ..., + connected: builtins.bool = ..., + last_error: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "connected", + b"connected", + "last_error", + b"last_error", + "security", + b"security", + "signal", + b"signal", + "ssid", + b"ssid", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['connected', b'connected', 'last_error', b'last_error', 'security', b'security', 'signal', b'signal', 'ssid', b'ssid', 'type', b'type']) -> None: - ... global___NetworkInfo = NetworkInfo @typing_extensions.final class CloudConfig(google.protobuf.message.Message): """minimal CloudConfig to create /etc/viam.json""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int SECRET_FIELD_NUMBER: builtins.int APP_ADDRESS_FIELD_NUMBER: builtins.int id: builtins.str - 'SmartMachine part id' + "SmartMachine part id" secret: builtins.str - 'SmartMachine part secret' + "SmartMachine part secret" app_address: builtins.str - def __init__(self, *, id: builtins.str=..., secret: builtins.str=..., app_address: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['app_address', b'app_address', 'id', b'id', 'secret', b'secret']) -> None: - ... -global___CloudConfig = CloudConfig \ No newline at end of file + def __init__( + self, + *, + id: builtins.str = ..., + secret: builtins.str = ..., + app_address: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "app_address", b"app_address", "id", b"id", "secret", b"secret" + ], + ) -> None: ... + +global___CloudConfig = CloudConfig diff --git a/src/viam/gen/robot/v1/robot_grpc.py b/src/viam/gen/robot/v1/robot_grpc.py index dc8fc3ee3..7defb7bcc 100644 --- a/src/viam/gen/robot/v1/robot_grpc.py +++ b/src/viam/gen/robot/v1/robot_grpc.py @@ -1,106 +1,347 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from ... import common import google.api.annotations_pb2 import google.protobuf.duration_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -from ... import robot -class RobotServiceBase(abc.ABC): +from ... import common, robot + +class RobotServiceBase(abc.ABC): @abc.abstractmethod - async def GetOperations(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse]') -> None: + async def GetOperations( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetSessions(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse]') -> None: + async def GetSessions( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse]", + ) -> None: pass @abc.abstractmethod - async def ResourceNames(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse]') -> None: + async def ResourceNames( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse]", + ) -> None: pass @abc.abstractmethod - async def ResourceRPCSubtypes(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse]') -> None: + async def ResourceRPCSubtypes( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse]", + ) -> None: pass @abc.abstractmethod - async def CancelOperation(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse]') -> None: + async def CancelOperation( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse]", + ) -> None: pass @abc.abstractmethod - async def BlockForOperation(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse]') -> None: + async def BlockForOperation( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse]", + ) -> None: pass @abc.abstractmethod - async def DiscoverComponents(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse]') -> None: + async def DiscoverComponents( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse]", + ) -> None: pass @abc.abstractmethod - async def FrameSystemConfig(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse]') -> None: + async def FrameSystemConfig( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse]", + ) -> None: pass @abc.abstractmethod - async def TransformPose(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse]') -> None: + async def TransformPose( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse]", + ) -> None: pass @abc.abstractmethod - async def TransformPCD(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse]') -> None: + async def TransformPCD( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse]", + ) -> None: pass @abc.abstractmethod - async def GetStatus(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse]') -> None: + async def GetStatus( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse]", + ) -> None: pass @abc.abstractmethod - async def StreamStatus(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse]') -> None: + async def StreamStatus( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse]", + ) -> None: pass @abc.abstractmethod - async def StopAll(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse]') -> None: + async def StopAll( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse]", + ) -> None: pass @abc.abstractmethod - async def StartSession(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse]') -> None: + async def StartSession( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse]", + ) -> None: pass @abc.abstractmethod - async def SendSessionHeartbeat(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse]') -> None: + async def SendSessionHeartbeat( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse]", + ) -> None: pass @abc.abstractmethod - async def Log(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse]') -> None: + async def Log( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse]", + ) -> None: pass @abc.abstractmethod - async def GetCloudMetadata(self, stream: 'grpclib.server.Stream[robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse]') -> None: + async def GetCloudMetadata( + self, + stream: "grpclib.server.Stream[robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.robot.v1.RobotService/GetOperations': grpclib.const.Handler(self.GetOperations, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse), '/viam.robot.v1.RobotService/GetSessions': grpclib.const.Handler(self.GetSessions, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse), '/viam.robot.v1.RobotService/ResourceNames': grpclib.const.Handler(self.ResourceNames, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse), '/viam.robot.v1.RobotService/ResourceRPCSubtypes': grpclib.const.Handler(self.ResourceRPCSubtypes, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse), '/viam.robot.v1.RobotService/CancelOperation': grpclib.const.Handler(self.CancelOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse), '/viam.robot.v1.RobotService/BlockForOperation': grpclib.const.Handler(self.BlockForOperation, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse), '/viam.robot.v1.RobotService/DiscoverComponents': grpclib.const.Handler(self.DiscoverComponents, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse), '/viam.robot.v1.RobotService/FrameSystemConfig': grpclib.const.Handler(self.FrameSystemConfig, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse), '/viam.robot.v1.RobotService/TransformPose': grpclib.const.Handler(self.TransformPose, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse), '/viam.robot.v1.RobotService/TransformPCD': grpclib.const.Handler(self.TransformPCD, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse), '/viam.robot.v1.RobotService/GetStatus': grpclib.const.Handler(self.GetStatus, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse), '/viam.robot.v1.RobotService/StreamStatus': grpclib.const.Handler(self.StreamStatus, grpclib.const.Cardinality.UNARY_STREAM, robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse), '/viam.robot.v1.RobotService/StopAll': grpclib.const.Handler(self.StopAll, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse), '/viam.robot.v1.RobotService/StartSession': grpclib.const.Handler(self.StartSession, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse), '/viam.robot.v1.RobotService/SendSessionHeartbeat': grpclib.const.Handler(self.SendSessionHeartbeat, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse), '/viam.robot.v1.RobotService/Log': grpclib.const.Handler(self.Log, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse), '/viam.robot.v1.RobotService/GetCloudMetadata': grpclib.const.Handler(self.GetCloudMetadata, grpclib.const.Cardinality.UNARY_UNARY, robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse)} + return { + "/viam.robot.v1.RobotService/GetOperations": grpclib.const.Handler( + self.GetOperations, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.GetOperationsRequest, + robot.v1.robot_pb2.GetOperationsResponse, + ), + "/viam.robot.v1.RobotService/GetSessions": grpclib.const.Handler( + self.GetSessions, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.GetSessionsRequest, + robot.v1.robot_pb2.GetSessionsResponse, + ), + "/viam.robot.v1.RobotService/ResourceNames": grpclib.const.Handler( + self.ResourceNames, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.ResourceNamesRequest, + robot.v1.robot_pb2.ResourceNamesResponse, + ), + "/viam.robot.v1.RobotService/ResourceRPCSubtypes": grpclib.const.Handler( + self.ResourceRPCSubtypes, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.ResourceRPCSubtypesRequest, + robot.v1.robot_pb2.ResourceRPCSubtypesResponse, + ), + "/viam.robot.v1.RobotService/CancelOperation": grpclib.const.Handler( + self.CancelOperation, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.CancelOperationRequest, + robot.v1.robot_pb2.CancelOperationResponse, + ), + "/viam.robot.v1.RobotService/BlockForOperation": grpclib.const.Handler( + self.BlockForOperation, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.BlockForOperationRequest, + robot.v1.robot_pb2.BlockForOperationResponse, + ), + "/viam.robot.v1.RobotService/DiscoverComponents": grpclib.const.Handler( + self.DiscoverComponents, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.DiscoverComponentsRequest, + robot.v1.robot_pb2.DiscoverComponentsResponse, + ), + "/viam.robot.v1.RobotService/FrameSystemConfig": grpclib.const.Handler( + self.FrameSystemConfig, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.FrameSystemConfigRequest, + robot.v1.robot_pb2.FrameSystemConfigResponse, + ), + "/viam.robot.v1.RobotService/TransformPose": grpclib.const.Handler( + self.TransformPose, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.TransformPoseRequest, + robot.v1.robot_pb2.TransformPoseResponse, + ), + "/viam.robot.v1.RobotService/TransformPCD": grpclib.const.Handler( + self.TransformPCD, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.TransformPCDRequest, + robot.v1.robot_pb2.TransformPCDResponse, + ), + "/viam.robot.v1.RobotService/GetStatus": grpclib.const.Handler( + self.GetStatus, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.GetStatusRequest, + robot.v1.robot_pb2.GetStatusResponse, + ), + "/viam.robot.v1.RobotService/StreamStatus": grpclib.const.Handler( + self.StreamStatus, + grpclib.const.Cardinality.UNARY_STREAM, + robot.v1.robot_pb2.StreamStatusRequest, + robot.v1.robot_pb2.StreamStatusResponse, + ), + "/viam.robot.v1.RobotService/StopAll": grpclib.const.Handler( + self.StopAll, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.StopAllRequest, + robot.v1.robot_pb2.StopAllResponse, + ), + "/viam.robot.v1.RobotService/StartSession": grpclib.const.Handler( + self.StartSession, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.StartSessionRequest, + robot.v1.robot_pb2.StartSessionResponse, + ), + "/viam.robot.v1.RobotService/SendSessionHeartbeat": grpclib.const.Handler( + self.SendSessionHeartbeat, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.SendSessionHeartbeatRequest, + robot.v1.robot_pb2.SendSessionHeartbeatResponse, + ), + "/viam.robot.v1.RobotService/Log": grpclib.const.Handler( + self.Log, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.LogRequest, + robot.v1.robot_pb2.LogResponse, + ), + "/viam.robot.v1.RobotService/GetCloudMetadata": grpclib.const.Handler( + self.GetCloudMetadata, + grpclib.const.Cardinality.UNARY_UNARY, + robot.v1.robot_pb2.GetCloudMetadataRequest, + robot.v1.robot_pb2.GetCloudMetadataResponse, + ), + } -class RobotServiceStub: +class RobotServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetOperations = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/GetOperations', robot.v1.robot_pb2.GetOperationsRequest, robot.v1.robot_pb2.GetOperationsResponse) - self.GetSessions = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/GetSessions', robot.v1.robot_pb2.GetSessionsRequest, robot.v1.robot_pb2.GetSessionsResponse) - self.ResourceNames = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/ResourceNames', robot.v1.robot_pb2.ResourceNamesRequest, robot.v1.robot_pb2.ResourceNamesResponse) - self.ResourceRPCSubtypes = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/ResourceRPCSubtypes', robot.v1.robot_pb2.ResourceRPCSubtypesRequest, robot.v1.robot_pb2.ResourceRPCSubtypesResponse) - self.CancelOperation = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/CancelOperation', robot.v1.robot_pb2.CancelOperationRequest, robot.v1.robot_pb2.CancelOperationResponse) - self.BlockForOperation = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/BlockForOperation', robot.v1.robot_pb2.BlockForOperationRequest, robot.v1.robot_pb2.BlockForOperationResponse) - self.DiscoverComponents = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/DiscoverComponents', robot.v1.robot_pb2.DiscoverComponentsRequest, robot.v1.robot_pb2.DiscoverComponentsResponse) - self.FrameSystemConfig = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/FrameSystemConfig', robot.v1.robot_pb2.FrameSystemConfigRequest, robot.v1.robot_pb2.FrameSystemConfigResponse) - self.TransformPose = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/TransformPose', robot.v1.robot_pb2.TransformPoseRequest, robot.v1.robot_pb2.TransformPoseResponse) - self.TransformPCD = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/TransformPCD', robot.v1.robot_pb2.TransformPCDRequest, robot.v1.robot_pb2.TransformPCDResponse) - self.GetStatus = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/GetStatus', robot.v1.robot_pb2.GetStatusRequest, robot.v1.robot_pb2.GetStatusResponse) - self.StreamStatus = grpclib.client.UnaryStreamMethod(channel, '/viam.robot.v1.RobotService/StreamStatus', robot.v1.robot_pb2.StreamStatusRequest, robot.v1.robot_pb2.StreamStatusResponse) - self.StopAll = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/StopAll', robot.v1.robot_pb2.StopAllRequest, robot.v1.robot_pb2.StopAllResponse) - self.StartSession = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/StartSession', robot.v1.robot_pb2.StartSessionRequest, robot.v1.robot_pb2.StartSessionResponse) - self.SendSessionHeartbeat = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/SendSessionHeartbeat', robot.v1.robot_pb2.SendSessionHeartbeatRequest, robot.v1.robot_pb2.SendSessionHeartbeatResponse) - self.Log = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/Log', robot.v1.robot_pb2.LogRequest, robot.v1.robot_pb2.LogResponse) - self.GetCloudMetadata = grpclib.client.UnaryUnaryMethod(channel, '/viam.robot.v1.RobotService/GetCloudMetadata', robot.v1.robot_pb2.GetCloudMetadataRequest, robot.v1.robot_pb2.GetCloudMetadataResponse) \ No newline at end of file + self.GetOperations = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/GetOperations", + robot.v1.robot_pb2.GetOperationsRequest, + robot.v1.robot_pb2.GetOperationsResponse, + ) + self.GetSessions = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/GetSessions", + robot.v1.robot_pb2.GetSessionsRequest, + robot.v1.robot_pb2.GetSessionsResponse, + ) + self.ResourceNames = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/ResourceNames", + robot.v1.robot_pb2.ResourceNamesRequest, + robot.v1.robot_pb2.ResourceNamesResponse, + ) + self.ResourceRPCSubtypes = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/ResourceRPCSubtypes", + robot.v1.robot_pb2.ResourceRPCSubtypesRequest, + robot.v1.robot_pb2.ResourceRPCSubtypesResponse, + ) + self.CancelOperation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/CancelOperation", + robot.v1.robot_pb2.CancelOperationRequest, + robot.v1.robot_pb2.CancelOperationResponse, + ) + self.BlockForOperation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/BlockForOperation", + robot.v1.robot_pb2.BlockForOperationRequest, + robot.v1.robot_pb2.BlockForOperationResponse, + ) + self.DiscoverComponents = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/DiscoverComponents", + robot.v1.robot_pb2.DiscoverComponentsRequest, + robot.v1.robot_pb2.DiscoverComponentsResponse, + ) + self.FrameSystemConfig = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/FrameSystemConfig", + robot.v1.robot_pb2.FrameSystemConfigRequest, + robot.v1.robot_pb2.FrameSystemConfigResponse, + ) + self.TransformPose = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/TransformPose", + robot.v1.robot_pb2.TransformPoseRequest, + robot.v1.robot_pb2.TransformPoseResponse, + ) + self.TransformPCD = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/TransformPCD", + robot.v1.robot_pb2.TransformPCDRequest, + robot.v1.robot_pb2.TransformPCDResponse, + ) + self.GetStatus = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/GetStatus", + robot.v1.robot_pb2.GetStatusRequest, + robot.v1.robot_pb2.GetStatusResponse, + ) + self.StreamStatus = grpclib.client.UnaryStreamMethod( + channel, + "/viam.robot.v1.RobotService/StreamStatus", + robot.v1.robot_pb2.StreamStatusRequest, + robot.v1.robot_pb2.StreamStatusResponse, + ) + self.StopAll = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/StopAll", + robot.v1.robot_pb2.StopAllRequest, + robot.v1.robot_pb2.StopAllResponse, + ) + self.StartSession = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/StartSession", + robot.v1.robot_pb2.StartSessionRequest, + robot.v1.robot_pb2.StartSessionResponse, + ) + self.SendSessionHeartbeat = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/SendSessionHeartbeat", + robot.v1.robot_pb2.SendSessionHeartbeatRequest, + robot.v1.robot_pb2.SendSessionHeartbeatResponse, + ) + self.Log = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/Log", + robot.v1.robot_pb2.LogRequest, + robot.v1.robot_pb2.LogResponse, + ) + self.GetCloudMetadata = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.robot.v1.RobotService/GetCloudMetadata", + robot.v1.robot_pb2.GetCloudMetadataRequest, + robot.v1.robot_pb2.GetCloudMetadataResponse, + ) diff --git a/src/viam/gen/robot/v1/robot_pb2.py b/src/viam/gen/robot/v1/robot_pb2.py index b230f2191..dadd46001 100644 --- a/src/viam/gen/robot/v1/robot_pb2.py +++ b/src/viam/gen/robot/v1/robot_pb2.py @@ -1,54 +1,119 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import duration_pb2 as google_dot_protobuf_dot_duration__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x14robot/v1/robot.proto\x12\rviam.robot.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"}\n\x11FrameSystemConfig\x12/\n\x05frame\x18\x01 \x01(\x0b2\x19.viam.common.v1.TransformR\x05frame\x127\n\nkinematics\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nkinematics"n\n\x18FrameSystemConfigRequest\x12R\n\x17supplemental_transforms\x18\x01 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"o\n\x19FrameSystemConfigResponse\x12R\n\x14frame_system_configs\x18\x01 \x03(\x0b2 .viam.robot.v1.FrameSystemConfigR\x12frameSystemConfigs"\xc1\x01\n\x14TransformPoseRequest\x123\n\x06source\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x06source\x12 \n\x0bdestination\x18\x02 \x01(\tR\x0bdestination\x12R\n\x17supplemental_transforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"H\n\x15TransformPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"w\n\x13TransformPCDRequest\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd\x12\x16\n\x06source\x18\x02 \x01(\tR\x06source\x12 \n\x0bdestination\x18\x03 \x01(\tR\x0bdestination">\n\x14TransformPCDResponse\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd"\x16\n\x14ResourceNamesRequest"S\n\x15ResourceNamesResponse\x12:\n\tresources\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\tresources"q\n\x12ResourceRPCSubtype\x126\n\x07subtype\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x07subtype\x12#\n\rproto_service\x18\x02 \x01(\tR\x0cprotoService"\x1c\n\x1aResourceRPCSubtypesRequest"t\n\x1bResourceRPCSubtypesResponse\x12U\n\x15resource_rpc_subtypes\x18\x01 \x03(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x13resourceRpcSubtypes"\xd3\x01\n\tOperation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x125\n\targuments\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\targuments\x124\n\x07started\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07started\x12"\n\nsession_id\x18\x05 \x01(\tH\x00R\tsessionId\x88\x01\x01B\r\n\x0b_session_id"\x16\n\x14GetOperationsRequest"Q\n\x15GetOperationsResponse\x128\n\noperations\x18\x01 \x03(\x0b2\x18.viam.robot.v1.OperationR\noperations"(\n\x16CancelOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17CancelOperationResponse"*\n\x18BlockForOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19BlockForOperationResponse"\xc6\x01\n\x12PeerConnectionInfo\x125\n\x04type\x18\x01 \x01(\x0e2!.viam.robot.v1.PeerConnectionTypeR\x04type\x12*\n\x0eremote_address\x18\x02 \x01(\tH\x00R\rremoteAddress\x88\x01\x01\x12(\n\rlocal_address\x18\x03 \x01(\tH\x01R\x0clocalAddress\x88\x01\x01B\x11\n\x0f_remote_addressB\x10\n\x0e_local_address"\x8c\x01\n\x07Session\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12X\n\x14peer_connection_info\x18\x02 \x01(\x0b2!.viam.robot.v1.PeerConnectionInfoH\x00R\x12peerConnectionInfo\x88\x01\x01B\x17\n\x15_peer_connection_info"\x14\n\x12GetSessionsRequest"I\n\x13GetSessionsResponse\x122\n\x08sessions\x18\x01 \x03(\x0b2\x16.viam.robot.v1.SessionR\x08sessions"@\n\x0eDiscoveryQuery\x12\x18\n\x07subtype\x18\x01 \x01(\tR\x07subtype\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"s\n\tDiscovery\x123\n\x05query\x18\x01 \x01(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x05query\x121\n\x07results\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07results"T\n\x19DiscoverComponentsRequest\x127\n\x07queries\x18\x01 \x03(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x07queries"T\n\x1aDiscoverComponentsResponse\x126\n\tdiscovery\x18\x01 \x03(\x0b2\x18.viam.robot.v1.DiscoveryR\tdiscovery"\xb4\x01\n\x06Status\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06status\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06status\x12G\n\x11last_reconfigured\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10lastReconfigured"W\n\x10GetStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames"B\n\x11GetStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"\x8b\x01\n\x13StreamStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames\x12/\n\x05every\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x05every"E\n\x14StreamStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"x\n\x13StopExtraParameters\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06params\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06params"J\n\x0eStopAllRequest\x128\n\x05extra\x18c \x03(\x0b2".viam.robot.v1.StopExtraParametersR\x05extra"\x11\n\x0fStopAllResponse"-\n\x13StartSessionRequest\x12\x16\n\x06resume\x18\x01 \x01(\tR\x06resume"l\n\x14StartSessionResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x10heartbeat_window\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"-\n\x1bSendSessionHeartbeatRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1e\n\x1cSendSessionHeartbeatResponse":\n\nLogRequest\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"\x19\n\x17GetCloudMetadataRequest"\x85\x01\n\x18GetCloudMetadataResponse\x12"\n\rrobot_part_id\x18\x01 \x01(\tR\x0brobotPartId\x12$\n\x0eprimary_org_id\x18\x02 \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId*z\n\x12PeerConnectionType\x12$\n PEER_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19PEER_CONNECTION_TYPE_GRPC\x10\x01\x12\x1f\n\x1bPEER_CONNECTION_TYPE_WEBRTC\x10\x022\xdb\x11\n\x0cRobotService\x12\x80\x01\n\rGetOperations\x12#.viam.robot.v1.GetOperationsRequest\x1a$.viam.robot.v1.GetOperationsResponse"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list\x12x\n\x0bGetSessions\x12!.viam.robot.v1.GetSessionsRequest\x1a".viam.robot.v1.GetSessionsResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list\x12\x7f\n\rResourceNames\x12#.viam.robot.v1.ResourceNamesRequest\x1a$.viam.robot.v1.ResourceNamesResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list\x12\x9d\x01\n\x13ResourceRPCSubtypes\x12).viam.robot.v1.ResourceRPCSubtypesRequest\x1a*.viam.robot.v1.ResourceRPCSubtypesResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/resource_rpc_subtypes/list\x12\x88\x01\n\x0fCancelOperation\x12%.viam.robot.v1.CancelOperationRequest\x1a&.viam.robot.v1.CancelOperationResponse"&\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel\x12\x8d\x01\n\x11BlockForOperation\x12\'.viam.robot.v1.BlockForOperationRequest\x1a(.viam.robot.v1.BlockForOperationResponse"%\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block\x12\x94\x01\n\x12DiscoverComponents\x12(.viam.robot.v1.DiscoverComponentsRequest\x1a).viam.robot.v1.DiscoverComponentsResponse")\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components\x12\x90\x01\n\x11FrameSystemConfig\x12\'.viam.robot.v1.FrameSystemConfigRequest\x1a(.viam.robot.v1.FrameSystemConfigResponse"(\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config\x12\x8c\x01\n\rTransformPose\x12#.viam.robot.v1.TransformPoseRequest\x1a$.viam.robot.v1.TransformPoseResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose\x12\x88\x01\n\x0cTransformPCD\x12".viam.robot.v1.TransformPCDRequest\x1a#.viam.robot.v1.TransformPCDResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/frame_system/transform_pcd\x12k\n\tGetStatus\x12\x1f.viam.robot.v1.GetStatusRequest\x1a .viam.robot.v1.GetStatusResponse"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status\x12}\n\x0cStreamStatus\x12".viam.robot.v1.StreamStatusRequest\x1a#.viam.robot.v1.StreamStatusResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream0\x01\x12g\n\x07StopAll\x12\x1d.viam.robot.v1.StopAllRequest\x1a\x1e.viam.robot.v1.StopAllResponse"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all\x12v\n\x0cStartSession\x12".viam.robot.v1.StartSessionRequest\x1a#.viam.robot.v1.StartSessionResponse"\x1d\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions\x12\x9d\x01\n\x14SendSessionHeartbeat\x12*.viam.robot.v1.SendSessionHeartbeatRequest\x1a+.viam.robot.v1.SendSessionHeartbeatResponse",\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat\x12V\n\x03Log\x12\x19.viam.robot.v1.LogRequest\x1a\x1a.viam.robot.v1.LogResponse"\x18\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log\x12\x88\x01\n\x10GetCloudMetadata\x12&.viam.robot.v1.GetCloudMetadataRequest\x1a\'.viam.robot.v1.GetCloudMetadataResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadataB-\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1b\x06proto3') + +from ...common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x14robot/v1/robot.proto\x12\rviam.robot.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"}\n\x11FrameSystemConfig\x12/\n\x05frame\x18\x01 \x01(\x0b2\x19.viam.common.v1.TransformR\x05frame\x127\n\nkinematics\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\nkinematics"n\n\x18FrameSystemConfigRequest\x12R\n\x17supplemental_transforms\x18\x01 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"o\n\x19FrameSystemConfigResponse\x12R\n\x14frame_system_configs\x18\x01 \x03(\x0b2 .viam.robot.v1.FrameSystemConfigR\x12frameSystemConfigs"\xc1\x01\n\x14TransformPoseRequest\x123\n\x06source\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x06source\x12 \n\x0bdestination\x18\x02 \x01(\tR\x0bdestination\x12R\n\x17supplemental_transforms\x18\x03 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms"H\n\x15TransformPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"w\n\x13TransformPCDRequest\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd\x12\x16\n\x06source\x18\x02 \x01(\tR\x06source\x12 \n\x0bdestination\x18\x03 \x01(\tR\x0bdestination">\n\x14TransformPCDResponse\x12&\n\x0fpoint_cloud_pcd\x18\x01 \x01(\x0cR\rpointCloudPcd"\x16\n\x14ResourceNamesRequest"S\n\x15ResourceNamesResponse\x12:\n\tresources\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\tresources"q\n\x12ResourceRPCSubtype\x126\n\x07subtype\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x07subtype\x12#\n\rproto_service\x18\x02 \x01(\tR\x0cprotoService"\x1c\n\x1aResourceRPCSubtypesRequest"t\n\x1bResourceRPCSubtypesResponse\x12U\n\x15resource_rpc_subtypes\x18\x01 \x03(\x0b2!.viam.robot.v1.ResourceRPCSubtypeR\x13resourceRpcSubtypes"\xd3\x01\n\tOperation\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n\x06method\x18\x02 \x01(\tR\x06method\x125\n\targuments\x18\x03 \x01(\x0b2\x17.google.protobuf.StructR\targuments\x124\n\x07started\x18\x04 \x01(\x0b2\x1a.google.protobuf.TimestampR\x07started\x12"\n\nsession_id\x18\x05 \x01(\tH\x00R\tsessionId\x88\x01\x01B\r\n\x0b_session_id"\x16\n\x14GetOperationsRequest"Q\n\x15GetOperationsResponse\x128\n\noperations\x18\x01 \x03(\x0b2\x18.viam.robot.v1.OperationR\noperations"(\n\x16CancelOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x19\n\x17CancelOperationResponse"*\n\x18BlockForOperationRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1b\n\x19BlockForOperationResponse"\xc6\x01\n\x12PeerConnectionInfo\x125\n\x04type\x18\x01 \x01(\x0e2!.viam.robot.v1.PeerConnectionTypeR\x04type\x12*\n\x0eremote_address\x18\x02 \x01(\tH\x00R\rremoteAddress\x88\x01\x01\x12(\n\rlocal_address\x18\x03 \x01(\tH\x01R\x0clocalAddress\x88\x01\x01B\x11\n\x0f_remote_addressB\x10\n\x0e_local_address"\x8c\x01\n\x07Session\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12X\n\x14peer_connection_info\x18\x02 \x01(\x0b2!.viam.robot.v1.PeerConnectionInfoH\x00R\x12peerConnectionInfo\x88\x01\x01B\x17\n\x15_peer_connection_info"\x14\n\x12GetSessionsRequest"I\n\x13GetSessionsResponse\x122\n\x08sessions\x18\x01 \x03(\x0b2\x16.viam.robot.v1.SessionR\x08sessions"@\n\x0eDiscoveryQuery\x12\x18\n\x07subtype\x18\x01 \x01(\tR\x07subtype\x12\x14\n\x05model\x18\x02 \x01(\tR\x05model"s\n\tDiscovery\x123\n\x05query\x18\x01 \x01(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x05query\x121\n\x07results\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x07results"T\n\x19DiscoverComponentsRequest\x127\n\x07queries\x18\x01 \x03(\x0b2\x1d.viam.robot.v1.DiscoveryQueryR\x07queries"T\n\x1aDiscoverComponentsResponse\x126\n\tdiscovery\x18\x01 \x03(\x0b2\x18.viam.robot.v1.DiscoveryR\tdiscovery"\xb4\x01\n\x06Status\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06status\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06status\x12G\n\x11last_reconfigured\x18\x03 \x01(\x0b2\x1a.google.protobuf.TimestampR\x10lastReconfigured"W\n\x10GetStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames"B\n\x11GetStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"\x8b\x01\n\x13StreamStatusRequest\x12C\n\x0eresource_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameR\rresourceNames\x12/\n\x05every\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x05every"E\n\x14StreamStatusResponse\x12-\n\x06status\x18\x01 \x03(\x0b2\x15.viam.robot.v1.StatusR\x06status"x\n\x13StopExtraParameters\x120\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x04name\x12/\n\x06params\x18\x02 \x01(\x0b2\x17.google.protobuf.StructR\x06params"J\n\x0eStopAllRequest\x128\n\x05extra\x18c \x03(\x0b2".viam.robot.v1.StopExtraParametersR\x05extra"\x11\n\x0fStopAllResponse"-\n\x13StartSessionRequest\x12\x16\n\x06resume\x18\x01 \x01(\tR\x06resume"l\n\x14StartSessionResponse\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12D\n\x10heartbeat_window\x18\x02 \x01(\x0b2\x19.google.protobuf.DurationR\x0fheartbeatWindow"-\n\x1bSendSessionHeartbeatRequest\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id"\x1e\n\x1cSendSessionHeartbeatResponse":\n\nLogRequest\x12,\n\x04logs\x18\x01 \x03(\x0b2\x18.viam.common.v1.LogEntryR\x04logs"\r\n\x0bLogResponse"\x19\n\x17GetCloudMetadataRequest"\x85\x01\n\x18GetCloudMetadataResponse\x12"\n\rrobot_part_id\x18\x01 \x01(\tR\x0brobotPartId\x12$\n\x0eprimary_org_id\x18\x02 \x01(\tR\x0cprimaryOrgId\x12\x1f\n\x0blocation_id\x18\x03 \x01(\tR\nlocationId*z\n\x12PeerConnectionType\x12$\n PEER_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19PEER_CONNECTION_TYPE_GRPC\x10\x01\x12\x1f\n\x1bPEER_CONNECTION_TYPE_WEBRTC\x10\x022\xdb\x11\n\x0cRobotService\x12\x80\x01\n\rGetOperations\x12#.viam.robot.v1.GetOperationsRequest\x1a$.viam.robot.v1.GetOperationsResponse"$\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list\x12x\n\x0bGetSessions\x12!.viam.robot.v1.GetSessionsRequest\x1a".viam.robot.v1.GetSessionsResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list\x12\x7f\n\rResourceNames\x12#.viam.robot.v1.ResourceNamesRequest\x1a$.viam.robot.v1.ResourceNamesResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list\x12\x9d\x01\n\x13ResourceRPCSubtypes\x12).viam.robot.v1.ResourceRPCSubtypesRequest\x1a*.viam.robot.v1.ResourceRPCSubtypesResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/resource_rpc_subtypes/list\x12\x88\x01\n\x0fCancelOperation\x12%.viam.robot.v1.CancelOperationRequest\x1a&.viam.robot.v1.CancelOperationResponse"&\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel\x12\x8d\x01\n\x11BlockForOperation\x12\'.viam.robot.v1.BlockForOperationRequest\x1a(.viam.robot.v1.BlockForOperationResponse"%\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block\x12\x94\x01\n\x12DiscoverComponents\x12(.viam.robot.v1.DiscoverComponentsRequest\x1a).viam.robot.v1.DiscoverComponentsResponse")\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components\x12\x90\x01\n\x11FrameSystemConfig\x12\'.viam.robot.v1.FrameSystemConfigRequest\x1a(.viam.robot.v1.FrameSystemConfigResponse"(\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config\x12\x8c\x01\n\rTransformPose\x12#.viam.robot.v1.TransformPoseRequest\x1a$.viam.robot.v1.TransformPoseResponse"0\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose\x12\x88\x01\n\x0cTransformPCD\x12".viam.robot.v1.TransformPCDRequest\x1a#.viam.robot.v1.TransformPCDResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/frame_system/transform_pcd\x12k\n\tGetStatus\x12\x1f.viam.robot.v1.GetStatusRequest\x1a .viam.robot.v1.GetStatusResponse"\x1b\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status\x12}\n\x0cStreamStatus\x12".viam.robot.v1.StreamStatusRequest\x1a#.viam.robot.v1.StreamStatusResponse""\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream0\x01\x12g\n\x07StopAll\x12\x1d.viam.robot.v1.StopAllRequest\x1a\x1e.viam.robot.v1.StopAllResponse"\x1d\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all\x12v\n\x0cStartSession\x12".viam.robot.v1.StartSessionRequest\x1a#.viam.robot.v1.StartSessionResponse"\x1d\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions\x12\x9d\x01\n\x14SendSessionHeartbeat\x12*.viam.robot.v1.SendSessionHeartbeatRequest\x1a+.viam.robot.v1.SendSessionHeartbeatResponse",\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat\x12V\n\x03Log\x12\x19.viam.robot.v1.LogRequest\x1a\x1a.viam.robot.v1.LogResponse"\x18\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log\x12\x88\x01\n\x10GetCloudMetadata\x12&.viam.robot.v1.GetCloudMetadataRequest\x1a\'.viam.robot.v1.GetCloudMetadataResponse"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadataB-\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'robot.v1.robot_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "robot.v1.robot_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1' - _ROBOTSERVICE.methods_by_name['GetOperations']._options = None - _ROBOTSERVICE.methods_by_name['GetOperations']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list' - _ROBOTSERVICE.methods_by_name['GetSessions']._options = None - _ROBOTSERVICE.methods_by_name['GetSessions']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list' - _ROBOTSERVICE.methods_by_name['ResourceNames']._options = None - _ROBOTSERVICE.methods_by_name['ResourceNames']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list' - _ROBOTSERVICE.methods_by_name['ResourceRPCSubtypes']._options = None - _ROBOTSERVICE.methods_by_name['ResourceRPCSubtypes']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/resource_rpc_subtypes/list" - _ROBOTSERVICE.methods_by_name['CancelOperation']._options = None - _ROBOTSERVICE.methods_by_name['CancelOperation']._serialized_options = b'\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel' - _ROBOTSERVICE.methods_by_name['BlockForOperation']._options = None - _ROBOTSERVICE.methods_by_name['BlockForOperation']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block' - _ROBOTSERVICE.methods_by_name['DiscoverComponents']._options = None - _ROBOTSERVICE.methods_by_name['DiscoverComponents']._serialized_options = b'\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components' - _ROBOTSERVICE.methods_by_name['FrameSystemConfig']._options = None - _ROBOTSERVICE.methods_by_name['FrameSystemConfig']._serialized_options = b'\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config' - _ROBOTSERVICE.methods_by_name['TransformPose']._options = None - _ROBOTSERVICE.methods_by_name['TransformPose']._serialized_options = b'\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose' - _ROBOTSERVICE.methods_by_name['TransformPCD']._options = None - _ROBOTSERVICE.methods_by_name['TransformPCD']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/frame_system/transform_pcd" - _ROBOTSERVICE.methods_by_name['GetStatus']._options = None - _ROBOTSERVICE.methods_by_name['GetStatus']._serialized_options = b'\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status' - _ROBOTSERVICE.methods_by_name['StreamStatus']._options = None - _ROBOTSERVICE.methods_by_name['StreamStatus']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream' - _ROBOTSERVICE.methods_by_name['StopAll']._options = None - _ROBOTSERVICE.methods_by_name['StopAll']._serialized_options = b'\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all' - _ROBOTSERVICE.methods_by_name['StartSession']._options = None - _ROBOTSERVICE.methods_by_name['StartSession']._serialized_options = b'\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions' - _ROBOTSERVICE.methods_by_name['SendSessionHeartbeat']._options = None - _ROBOTSERVICE.methods_by_name['SendSessionHeartbeat']._serialized_options = b'\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat' - _ROBOTSERVICE.methods_by_name['Log']._options = None - _ROBOTSERVICE.methods_by_name['Log']._serialized_options = b'\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log' - _ROBOTSERVICE.methods_by_name['GetCloudMetadata']._options = None - _ROBOTSERVICE.methods_by_name['GetCloudMetadata']._serialized_options = b'\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadata' + DESCRIPTOR._serialized_options = ( + b"\n\x11com.viam.robot.v1Z\x18go.viam.com/api/robot/v1" + ) + _ROBOTSERVICE.methods_by_name["GetOperations"]._options = None + _ROBOTSERVICE.methods_by_name[ + "GetOperations" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1e\x12\x1c/viam/api/v1/operations/list" + ) + _ROBOTSERVICE.methods_by_name["GetSessions"]._options = None + _ROBOTSERVICE.methods_by_name[ + "GetSessions" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/sessions/list" + ) + _ROBOTSERVICE.methods_by_name["ResourceNames"]._options = None + _ROBOTSERVICE.methods_by_name[ + "ResourceNames" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/resources/list" + ) + _ROBOTSERVICE.methods_by_name["ResourceRPCSubtypes"]._options = None + _ROBOTSERVICE.methods_by_name[ + "ResourceRPCSubtypes" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/resource_rpc_subtypes/list" + ) + _ROBOTSERVICE.methods_by_name["CancelOperation"]._options = None + _ROBOTSERVICE.methods_by_name[ + "CancelOperation" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02 "\x1e/viam/api/v1/operations/cancel' + _ROBOTSERVICE.methods_by_name["BlockForOperation"]._options = None + _ROBOTSERVICE.methods_by_name[ + "BlockForOperation" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02\x1f"\x1d/viam/api/v1/operations/block' + ) + _ROBOTSERVICE.methods_by_name["DiscoverComponents"]._options = None + _ROBOTSERVICE.methods_by_name[ + "DiscoverComponents" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02#\x12!/viam/api/v1/discovery/components" + ) + _ROBOTSERVICE.methods_by_name["FrameSystemConfig"]._options = None + _ROBOTSERVICE.methods_by_name[ + "FrameSystemConfig" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02"\x12 /viam/api/v1/frame_system/config' + ) + _ROBOTSERVICE.methods_by_name["TransformPose"]._options = None + _ROBOTSERVICE.methods_by_name[ + "TransformPose" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02*\x12(/viam/api/v1/frame_system/transform_pose" + ) + _ROBOTSERVICE.methods_by_name["TransformPCD"]._options = None + _ROBOTSERVICE.methods_by_name[ + "TransformPCD" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/frame_system/transform_pcd" + ) + _ROBOTSERVICE.methods_by_name["GetStatus"]._options = None + _ROBOTSERVICE.methods_by_name[ + "GetStatus" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\x15\x12\x13/viam/api/v1/status" + _ROBOTSERVICE.methods_by_name["StreamStatus"]._options = None + _ROBOTSERVICE.methods_by_name[ + "StreamStatus" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1c\x12\x1a/viam/api/v1/status/stream" + ) + _ROBOTSERVICE.methods_by_name["StopAll"]._options = None + _ROBOTSERVICE.methods_by_name[ + "StopAll" + ]._serialized_options = b"\x82\xd3\xe4\x93\x02\x17\x12\x15/viam/api/v1/stop_all" + _ROBOTSERVICE.methods_by_name["StartSession"]._options = None + _ROBOTSERVICE.methods_by_name[ + "StartSession" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x17"\x15/viam/api/v1/sessions' + _ROBOTSERVICE.methods_by_name["SendSessionHeartbeat"]._options = None + _ROBOTSERVICE.methods_by_name[ + "SendSessionHeartbeat" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02&"$/viam/api/v1/sessions/{id}/heartbeat' + ) + _ROBOTSERVICE.methods_by_name["Log"]._options = None + _ROBOTSERVICE.methods_by_name[ + "Log" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02\x12"\x10/viam/api/v1/log' + _ROBOTSERVICE.methods_by_name["GetCloudMetadata"]._options = None + _ROBOTSERVICE.methods_by_name[ + "GetCloudMetadata" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02\x1d\x12\x1b/viam/api/v1/cloud_metadata" + ) _PEERCONNECTIONTYPE._serialized_start = 3870 _PEERCONNECTIONTYPE._serialized_end = 3992 _FRAMESYSTEMCONFIG._serialized_start = 188 @@ -138,4 +203,4 @@ _GETCLOUDMETADATARESPONSE._serialized_start = 3735 _GETCLOUDMETADATARESPONSE._serialized_end = 3868 _ROBOTSERVICE._serialized_start = 3995 - _ROBOTSERVICE._serialized_end = 6262 \ No newline at end of file + _ROBOTSERVICE._serialized_end = 6262 diff --git a/src/viam/gen/robot/v1/robot_pb2.pyi b/src/viam/gen/robot/v1/robot_pb2.pyi index e794f243b..9e0d49820 100644 --- a/src/viam/gen/robot/v1/robot_pb2.pyi +++ b/src/viam/gen/robot/v1/robot_pb2.pyi @@ -4,7 +4,9 @@ isort:skip_file """ import builtins import collections.abc -from ... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.duration_pb2 import google.protobuf.internal.containers @@ -12,8 +14,9 @@ import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + +from ... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -21,17 +24,24 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PeerConnectionType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PeerConnectionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PeerConnectionType.ValueType], builtins.type): +class _PeerConnectionTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[ + _PeerConnectionType.ValueType + ], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor PEER_CONNECTION_TYPE_UNSPECIFIED: _PeerConnectionType.ValueType PEER_CONNECTION_TYPE_GRPC: _PeerConnectionType.ValueType PEER_CONNECTION_TYPE_WEBRTC: _PeerConnectionType.ValueType -class PeerConnectionType(_PeerConnectionType, metaclass=_PeerConnectionTypeEnumTypeWrapper): - ... +class PeerConnectionType( + _PeerConnectionType, metaclass=_PeerConnectionTypeEnumTypeWrapper +): ... + PEER_CONNECTION_TYPE_UNSPECIFIED: PeerConnectionType.ValueType PEER_CONNECTION_TYPE_GRPC: PeerConnectionType.ValueType PEER_CONNECTION_TYPE_WEBRTC: PeerConnectionType.ValueType @@ -40,26 +50,34 @@ global___PeerConnectionType = PeerConnectionType @typing_extensions.final class FrameSystemConfig(google.protobuf.message.Message): """this is an experimental API message""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor FRAME_FIELD_NUMBER: builtins.int KINEMATICS_FIELD_NUMBER: builtins.int @property - def frame(self) -> common.v1.common_pb2.Transform: - ... - + def frame(self) -> common.v1.common_pb2.Transform: ... @property - def kinematics(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, frame: common.v1.common_pb2.Transform | None=..., kinematics: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def kinematics(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + frame: common.v1.common_pb2.Transform | None = ..., + kinematics: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "frame", b"frame", "kinematics", b"kinematics" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "frame", b"frame", "kinematics", b"kinematics" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['frame', b'frame', 'kinematics', b'kinematics']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['frame', b'frame', 'kinematics', b'kinematics']) -> None: - ... global___FrameSystemConfig = FrameSystemConfig @typing_extensions.final @@ -68,16 +86,30 @@ class FrameSystemConfigRequest(google.protobuf.message.Message): SUPPLEMENTAL_TRANSFORMS_FIELD_NUMBER: builtins.int @property - def supplemental_transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Transform]: + def supplemental_transforms( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.Transform + ]: """pose information on any additional reference frames that are needed to supplement the robot's frame system """ - def __init__(self, *, supplemental_transforms: collections.abc.Iterable[common.v1.common_pb2.Transform] | None=...) -> None: - ... + def __init__( + self, + *, + supplemental_transforms: collections.abc.Iterable[ + common.v1.common_pb2.Transform + ] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "supplemental_transforms", b"supplemental_transforms" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['supplemental_transforms', b'supplemental_transforms']) -> None: - ... global___FrameSystemConfigRequest = FrameSystemConfigRequest @typing_extensions.final @@ -86,14 +118,24 @@ class FrameSystemConfigResponse(google.protobuf.message.Message): FRAME_SYSTEM_CONFIGS_FIELD_NUMBER: builtins.int @property - def frame_system_configs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___FrameSystemConfig]: - ... - - def __init__(self, *, frame_system_configs: collections.abc.Iterable[global___FrameSystemConfig] | None=...) -> None: - ... + def frame_system_configs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___FrameSystemConfig + ]: ... + def __init__( + self, + *, + frame_system_configs: collections.abc.Iterable[global___FrameSystemConfig] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "frame_system_configs", b"frame_system_configs" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['frame_system_configs', b'frame_system_configs']) -> None: - ... global___FrameSystemConfigResponse = FrameSystemConfigResponse @typing_extensions.final @@ -112,19 +154,40 @@ class TransformPoseRequest(google.protobuf.message.Message): 'the reference frame into which the source pose should be transformed,\n if unset this defaults to the "world" reference frame\n ' @property - def supplemental_transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Transform]: + def supplemental_transforms( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.Transform + ]: """pose information on any additional reference frames that are needed to perform the transform """ - def __init__(self, *, source: common.v1.common_pb2.PoseInFrame | None=..., destination: builtins.str=..., supplemental_transforms: collections.abc.Iterable[common.v1.common_pb2.Transform] | None=...) -> None: - ... + def __init__( + self, + *, + source: common.v1.common_pb2.PoseInFrame | None = ..., + destination: builtins.str = ..., + supplemental_transforms: collections.abc.Iterable[ + common.v1.common_pb2.Transform + ] + | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["source", b"source"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "destination", + b"destination", + "source", + b"source", + "supplemental_transforms", + b"supplemental_transforms", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['source', b'source']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['destination', b'destination', 'source', b'source', 'supplemental_transforms', b'supplemental_transforms']) -> None: - ... global___TransformPoseRequest = TransformPoseRequest @typing_extensions.final @@ -133,17 +196,17 @@ class TransformPoseResponse(google.protobuf.message.Message): POSE_FIELD_NUMBER: builtins.int @property - def pose(self) -> common.v1.common_pb2.PoseInFrame: - ... - - def __init__(self, *, pose: common.v1.common_pb2.PoseInFrame | None=...) -> None: - ... + def pose(self) -> common.v1.common_pb2.PoseInFrame: ... + def __init__( + self, *, pose: common.v1.common_pb2.PoseInFrame | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> None: - ... global___TransformPoseResponse = TransformPoseResponse @typing_extensions.final @@ -153,17 +216,31 @@ class TransformPCDRequest(google.protobuf.message.Message): SOURCE_FIELD_NUMBER: builtins.int DESTINATION_FIELD_NUMBER: builtins.int point_cloud_pcd: builtins.bytes - 'the point clouds to transform. This should be in the PCD format\n encoded into bytes: https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n ' + "the point clouds to transform. This should be in the PCD format\n encoded into bytes: https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n " source: builtins.str - 'the reference frame of the point cloud.' + "the reference frame of the point cloud." destination: builtins.str 'the reference frame into which the source data should be transformed, if unset this defaults to the "world" reference frame.\n Do not move the robot between the generation of the initial pointcloud and the receipt\n of the transformed pointcloud because that will make the transformations inaccurate\n ' - def __init__(self, *, point_cloud_pcd: builtins.bytes=..., source: builtins.str=..., destination: builtins.str=...) -> None: - ... + def __init__( + self, + *, + point_cloud_pcd: builtins.bytes = ..., + source: builtins.str = ..., + destination: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "destination", + b"destination", + "point_cloud_pcd", + b"point_cloud_pcd", + "source", + b"source", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['destination', b'destination', 'point_cloud_pcd', b'point_cloud_pcd', 'source', b'source']) -> None: - ... global___TransformPCDRequest = TransformPCDRequest @typing_extensions.final @@ -172,19 +249,20 @@ class TransformPCDResponse(google.protobuf.message.Message): POINT_CLOUD_PCD_FIELD_NUMBER: builtins.int point_cloud_pcd: builtins.bytes - def __init__(self, *, point_cloud_pcd: builtins.bytes=...) -> None: - ... + def __init__(self, *, point_cloud_pcd: builtins.bytes = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["point_cloud_pcd", b"point_cloud_pcd"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['point_cloud_pcd', b'point_cloud_pcd']) -> None: - ... global___TransformPCDResponse = TransformPCDResponse @typing_extensions.final class ResourceNamesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ResourceNamesRequest = ResourceNamesRequest @typing_extensions.final @@ -193,14 +271,21 @@ class ResourceNamesResponse(google.protobuf.message.Message): RESOURCES_FIELD_NUMBER: builtins.int @property - def resources(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.ResourceName]: - ... - - def __init__(self, *, resources: collections.abc.Iterable[common.v1.common_pb2.ResourceName] | None=...) -> None: - ... + def resources( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.ResourceName + ]: ... + def __init__( + self, + *, + resources: collections.abc.Iterable[common.v1.common_pb2.ResourceName] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["resources", b"resources"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['resources', b'resources']) -> None: - ... global___ResourceNamesResponse = ResourceNamesResponse @typing_extensions.final @@ -210,26 +295,33 @@ class ResourceRPCSubtype(google.protobuf.message.Message): PROTO_SERVICE_FIELD_NUMBER: builtins.int @property - def subtype(self) -> common.v1.common_pb2.ResourceName: - ... + def subtype(self) -> common.v1.common_pb2.ResourceName: ... proto_service: builtins.str - def __init__(self, *, subtype: common.v1.common_pb2.ResourceName | None=..., proto_service: builtins.str=...) -> None: - ... + def __init__( + self, + *, + subtype: common.v1.common_pb2.ResourceName | None = ..., + proto_service: builtins.str = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["subtype", b"subtype"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "proto_service", b"proto_service", "subtype", b"subtype" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['subtype', b'subtype']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['proto_service', b'proto_service', 'subtype', b'subtype']) -> None: - ... global___ResourceRPCSubtype = ResourceRPCSubtype @typing_extensions.final class ResourceRPCSubtypesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ResourceRPCSubtypesRequest = ResourceRPCSubtypesRequest @typing_extensions.final @@ -238,14 +330,24 @@ class ResourceRPCSubtypesResponse(google.protobuf.message.Message): RESOURCE_RPC_SUBTYPES_FIELD_NUMBER: builtins.int @property - def resource_rpc_subtypes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceRPCSubtype]: - ... + def resource_rpc_subtypes( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ResourceRPCSubtype + ]: ... + def __init__( + self, + *, + resource_rpc_subtypes: collections.abc.Iterable[global___ResourceRPCSubtype] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "resource_rpc_subtypes", b"resource_rpc_subtypes" + ], + ) -> None: ... - def __init__(self, *, resource_rpc_subtypes: collections.abc.Iterable[global___ResourceRPCSubtype] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['resource_rpc_subtypes', b'resource_rpc_subtypes']) -> None: - ... global___ResourceRPCSubtypesResponse = ResourceRPCSubtypesResponse @typing_extensions.final @@ -260,33 +362,62 @@ class Operation(google.protobuf.message.Message): method: builtins.str @property - def arguments(self) -> google.protobuf.struct_pb2.Struct: - ... - + def arguments(self) -> google.protobuf.struct_pb2.Struct: ... @property - def started(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... + def started(self) -> google.protobuf.timestamp_pb2.Timestamp: ... session_id: builtins.str - def __init__(self, *, id: builtins.str=..., method: builtins.str=..., arguments: google.protobuf.struct_pb2.Struct | None=..., started: google.protobuf.timestamp_pb2.Timestamp | None=..., session_id: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_session_id', b'_session_id', 'arguments', b'arguments', 'session_id', b'session_id', 'started', b'started']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_session_id', b'_session_id', 'arguments', b'arguments', 'id', b'id', 'method', b'method', 'session_id', b'session_id', 'started', b'started']) -> None: - ... + def __init__( + self, + *, + id: builtins.str = ..., + method: builtins.str = ..., + arguments: google.protobuf.struct_pb2.Struct | None = ..., + started: google.protobuf.timestamp_pb2.Timestamp | None = ..., + session_id: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_session_id", + b"_session_id", + "arguments", + b"arguments", + "session_id", + b"session_id", + "started", + b"started", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_session_id", + b"_session_id", + "arguments", + b"arguments", + "id", + b"id", + "method", + b"method", + "session_id", + b"session_id", + "started", + b"started", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_session_id", b"_session_id"] + ) -> typing_extensions.Literal["session_id"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_session_id', b'_session_id']) -> typing_extensions.Literal['session_id'] | None: - ... global___Operation = Operation @typing_extensions.final class GetOperationsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GetOperationsRequest = GetOperationsRequest @typing_extensions.final @@ -295,14 +426,18 @@ class GetOperationsResponse(google.protobuf.message.Message): OPERATIONS_FIELD_NUMBER: builtins.int @property - def operations(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Operation]: - ... - - def __init__(self, *, operations: collections.abc.Iterable[global___Operation] | None=...) -> None: - ... + def operations( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Operation + ]: ... + def __init__( + self, *, operations: collections.abc.Iterable[global___Operation] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["operations", b"operations"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['operations', b'operations']) -> None: - ... global___GetOperationsResponse = GetOperationsResponse @typing_extensions.final @@ -311,19 +446,19 @@ class CancelOperationRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___CancelOperationRequest = CancelOperationRequest @typing_extensions.final class CancelOperationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___CancelOperationResponse = CancelOperationResponse @typing_extensions.final @@ -332,19 +467,19 @@ class BlockForOperationRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___BlockForOperationRequest = BlockForOperationRequest @typing_extensions.final class BlockForOperationResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___BlockForOperationResponse = BlockForOperationResponse @typing_extensions.final @@ -357,22 +492,52 @@ class PeerConnectionInfo(google.protobuf.message.Message): remote_address: builtins.str local_address: builtins.str - def __init__(self, *, type: global___PeerConnectionType.ValueType=..., remote_address: builtins.str | None=..., local_address: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_local_address', b'_local_address', '_remote_address', b'_remote_address', 'local_address', b'local_address', 'remote_address', b'remote_address']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_local_address', b'_local_address', '_remote_address', b'_remote_address', 'local_address', b'local_address', 'remote_address', b'remote_address', 'type', b'type']) -> None: - ... - + def __init__( + self, + *, + type: global___PeerConnectionType.ValueType = ..., + remote_address: builtins.str | None = ..., + local_address: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_local_address", + b"_local_address", + "_remote_address", + b"_remote_address", + "local_address", + b"local_address", + "remote_address", + b"remote_address", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_local_address", + b"_local_address", + "_remote_address", + b"_remote_address", + "local_address", + b"local_address", + "remote_address", + b"remote_address", + "type", + b"type", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_local_address', b'_local_address']) -> typing_extensions.Literal['local_address'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_local_address", b"_local_address"], + ) -> typing_extensions.Literal["local_address"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_remote_address', b'_remote_address']) -> typing_extensions.Literal['remote_address'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal["_remote_address", b"_remote_address"], + ) -> typing_extensions.Literal["remote_address"] | None: ... + global___PeerConnectionInfo = PeerConnectionInfo @typing_extensions.final @@ -383,28 +548,48 @@ class Session(google.protobuf.message.Message): id: builtins.str @property - def peer_connection_info(self) -> global___PeerConnectionInfo: - ... - - def __init__(self, *, id: builtins.str=..., peer_connection_info: global___PeerConnectionInfo | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_peer_connection_info', b'_peer_connection_info', 'peer_connection_info', b'peer_connection_info']) -> builtins.bool: - ... + def peer_connection_info(self) -> global___PeerConnectionInfo: ... + def __init__( + self, + *, + id: builtins.str = ..., + peer_connection_info: global___PeerConnectionInfo | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_peer_connection_info", + b"_peer_connection_info", + "peer_connection_info", + b"peer_connection_info", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_peer_connection_info", + b"_peer_connection_info", + "id", + b"id", + "peer_connection_info", + b"peer_connection_info", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_peer_connection_info", b"_peer_connection_info" + ], + ) -> typing_extensions.Literal["peer_connection_info"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_peer_connection_info', b'_peer_connection_info', 'id', b'id', 'peer_connection_info', b'peer_connection_info']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_peer_connection_info', b'_peer_connection_info']) -> typing_extensions.Literal['peer_connection_info'] | None: - ... global___Session = Session @typing_extensions.final class GetSessionsRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GetSessionsRequest = GetSessionsRequest @typing_extensions.final @@ -413,30 +598,38 @@ class GetSessionsResponse(google.protobuf.message.Message): SESSIONS_FIELD_NUMBER: builtins.int @property - def sessions(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Session]: - ... + def sessions( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Session + ]: ... + def __init__( + self, *, sessions: collections.abc.Iterable[global___Session] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["sessions", b"sessions"] + ) -> None: ... - def __init__(self, *, sessions: collections.abc.Iterable[global___Session] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['sessions', b'sessions']) -> None: - ... global___GetSessionsResponse = GetSessionsResponse @typing_extensions.final class DiscoveryQuery(google.protobuf.message.Message): """Discovery""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor SUBTYPE_FIELD_NUMBER: builtins.int MODEL_FIELD_NUMBER: builtins.int subtype: builtins.str model: builtins.str - def __init__(self, *, subtype: builtins.str=..., model: builtins.str=...) -> None: - ... + def __init__( + self, *, subtype: builtins.str = ..., model: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["model", b"model", "subtype", b"subtype"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['model', b'model', 'subtype', b'subtype']) -> None: - ... global___DiscoveryQuery = DiscoveryQuery @typing_extensions.final @@ -446,21 +639,24 @@ class Discovery(google.protobuf.message.Message): RESULTS_FIELD_NUMBER: builtins.int @property - def query(self) -> global___DiscoveryQuery: - ... - + def query(self) -> global___DiscoveryQuery: ... @property - def results(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, query: global___DiscoveryQuery | None=..., results: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def results(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + query: global___DiscoveryQuery | None = ..., + results: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["query", b"query", "results", b"results"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["query", b"query", "results", b"results"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['query', b'query', 'results', b'results']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['query', b'query', 'results', b'results']) -> None: - ... global___Discovery = Discovery @typing_extensions.final @@ -469,14 +665,18 @@ class DiscoverComponentsRequest(google.protobuf.message.Message): QUERIES_FIELD_NUMBER: builtins.int @property - def queries(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___DiscoveryQuery]: - ... - - def __init__(self, *, queries: collections.abc.Iterable[global___DiscoveryQuery] | None=...) -> None: - ... + def queries( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___DiscoveryQuery + ]: ... + def __init__( + self, *, queries: collections.abc.Iterable[global___DiscoveryQuery] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["queries", b"queries"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['queries', b'queries']) -> None: - ... global___DiscoverComponentsRequest = DiscoverComponentsRequest @typing_extensions.final @@ -485,14 +685,18 @@ class DiscoverComponentsResponse(google.protobuf.message.Message): DISCOVERY_FIELD_NUMBER: builtins.int @property - def discovery(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Discovery]: - ... + def discovery( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Discovery + ]: ... + def __init__( + self, *, discovery: collections.abc.Iterable[global___Discovery] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["discovery", b"discovery"] + ) -> None: ... - def __init__(self, *, discovery: collections.abc.Iterable[global___Discovery] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['discovery', b'discovery']) -> None: - ... global___DiscoverComponentsResponse = DiscoverComponentsResponse @typing_extensions.final @@ -503,25 +707,41 @@ class Status(google.protobuf.message.Message): LAST_RECONFIGURED_FIELD_NUMBER: builtins.int @property - def name(self) -> common.v1.common_pb2.ResourceName: - ... - + def name(self) -> common.v1.common_pb2.ResourceName: ... @property - def status(self) -> google.protobuf.struct_pb2.Struct: - ... - + def status(self) -> google.protobuf.struct_pb2.Struct: ... @property - def last_reconfigured(self) -> google.protobuf.timestamp_pb2.Timestamp: - ... - - def __init__(self, *, name: common.v1.common_pb2.ResourceName | None=..., status: google.protobuf.struct_pb2.Struct | None=..., last_reconfigured: google.protobuf.timestamp_pb2.Timestamp | None=...) -> None: - ... + def last_reconfigured(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + name: common.v1.common_pb2.ResourceName | None = ..., + status: google.protobuf.struct_pb2.Struct | None = ..., + last_reconfigured: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "last_reconfigured", + b"last_reconfigured", + "name", + b"name", + "status", + b"status", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "last_reconfigured", + b"last_reconfigured", + "name", + b"name", + "status", + b"status", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['last_reconfigured', b'last_reconfigured', 'name', b'name', 'status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['last_reconfigured', b'last_reconfigured', 'name', b'name', 'status', b'status']) -> None: - ... global___Status = Status @typing_extensions.final @@ -530,14 +750,21 @@ class GetStatusRequest(google.protobuf.message.Message): RESOURCE_NAMES_FIELD_NUMBER: builtins.int @property - def resource_names(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.ResourceName]: - ... - - def __init__(self, *, resource_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] | None=...) -> None: - ... + def resource_names( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.ResourceName + ]: ... + def __init__( + self, + *, + resource_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["resource_names", b"resource_names"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['resource_names', b'resource_names']) -> None: - ... global___GetStatusRequest = GetStatusRequest @typing_extensions.final @@ -546,14 +773,18 @@ class GetStatusResponse(google.protobuf.message.Message): STATUS_FIELD_NUMBER: builtins.int @property - def status(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Status]: - ... + def status( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Status + ]: ... + def __init__( + self, *, status: collections.abc.Iterable[global___Status] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> None: ... - def __init__(self, *, status: collections.abc.Iterable[global___Status] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None: - ... global___GetStatusResponse = GetStatusResponse @typing_extensions.final @@ -563,21 +794,32 @@ class StreamStatusRequest(google.protobuf.message.Message): EVERY_FIELD_NUMBER: builtins.int @property - def resource_names(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.ResourceName]: - ... - + def resource_names( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.ResourceName + ]: ... @property def every(self) -> google.protobuf.duration_pb2.Duration: """how often to send a new status.""" - def __init__(self, *, resource_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] | None=..., every: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... + def __init__( + self, + *, + resource_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] + | None = ..., + every: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["every", b"every"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "every", b"every", "resource_names", b"resource_names" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['every', b'every']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['every', b'every', 'resource_names', b'resource_names']) -> None: - ... global___StreamStatusRequest = StreamStatusRequest @typing_extensions.final @@ -586,14 +828,18 @@ class StreamStatusResponse(google.protobuf.message.Message): STATUS_FIELD_NUMBER: builtins.int @property - def status(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Status]: - ... - - def __init__(self, *, status: collections.abc.Iterable[global___Status] | None=...) -> None: - ... + def status( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Status + ]: ... + def __init__( + self, *, status: collections.abc.Iterable[global___Status] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["status", b"status"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['status', b'status']) -> None: - ... global___StreamStatusResponse = StreamStatusResponse @typing_extensions.final @@ -603,21 +849,24 @@ class StopExtraParameters(google.protobuf.message.Message): PARAMS_FIELD_NUMBER: builtins.int @property - def name(self) -> common.v1.common_pb2.ResourceName: - ... - + def name(self) -> common.v1.common_pb2.ResourceName: ... @property - def params(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, name: common.v1.common_pb2.ResourceName | None=..., params: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def params(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: common.v1.common_pb2.ResourceName | None = ..., + params: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["name", b"name", "params", b"params"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["name", b"name", "params", b"params"], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['name', b'name', 'params', b'params']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'params', b'params']) -> None: - ... global___StopExtraParameters = StopExtraParameters @typing_extensions.final @@ -626,22 +875,28 @@ class StopAllRequest(google.protobuf.message.Message): EXTRA_FIELD_NUMBER: builtins.int @property - def extra(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___StopExtraParameters]: - ... - - def __init__(self, *, extra: collections.abc.Iterable[global___StopExtraParameters] | None=...) -> None: - ... + def extra( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___StopExtraParameters + ]: ... + def __init__( + self, + *, + extra: collections.abc.Iterable[global___StopExtraParameters] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> None: - ... global___StopAllRequest = StopAllRequest @typing_extensions.final class StopAllResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopAllResponse = StopAllResponse @typing_extensions.final @@ -649,13 +904,13 @@ class StartSessionRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor RESUME_FIELD_NUMBER: builtins.int resume: builtins.str - 'resume can be used to attempt to continue a stream after a disconnection event. If\n a session is not found, a new one will be created and returned.\n ' + "resume can be used to attempt to continue a stream after a disconnection event. If\n a session is not found, a new one will be created and returned.\n " - def __init__(self, *, resume: builtins.str=...) -> None: - ... + def __init__(self, *, resume: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["resume", b"resume"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['resume', b'resume']) -> None: - ... global___StartSessionRequest = StartSessionRequest @typing_extensions.final @@ -666,17 +921,24 @@ class StartSessionResponse(google.protobuf.message.Message): id: builtins.str @property - def heartbeat_window(self) -> google.protobuf.duration_pb2.Duration: - ... - - def __init__(self, *, id: builtins.str=..., heartbeat_window: google.protobuf.duration_pb2.Duration | None=...) -> None: - ... + def heartbeat_window(self) -> google.protobuf.duration_pb2.Duration: ... + def __init__( + self, + *, + id: builtins.str = ..., + heartbeat_window: google.protobuf.duration_pb2.Duration | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["heartbeat_window", b"heartbeat_window"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "heartbeat_window", b"heartbeat_window", "id", b"id" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['heartbeat_window', b'heartbeat_window']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['heartbeat_window', b'heartbeat_window', 'id', b'id']) -> None: - ... global___StartSessionResponse = StartSessionResponse @typing_extensions.final @@ -685,19 +947,19 @@ class SendSessionHeartbeatRequest(google.protobuf.message.Message): ID_FIELD_NUMBER: builtins.int id: builtins.str - def __init__(self, *, id: builtins.str=...) -> None: - ... + def __init__(self, *, id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["id", b"id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['id', b'id']) -> None: - ... global___SendSessionHeartbeatRequest = SendSessionHeartbeatRequest @typing_extensions.final class SendSessionHeartbeatResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SendSessionHeartbeatResponse = SendSessionHeartbeatResponse @typing_extensions.final @@ -706,30 +968,36 @@ class LogRequest(google.protobuf.message.Message): LOGS_FIELD_NUMBER: builtins.int @property - def logs(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.LogEntry]: - ... + def logs( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.LogEntry + ]: ... + def __init__( + self, + *, + logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["logs", b"logs"] + ) -> None: ... - def __init__(self, *, logs: collections.abc.Iterable[common.v1.common_pb2.LogEntry] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['logs', b'logs']) -> None: - ... global___LogRequest = LogRequest @typing_extensions.final class LogResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___LogResponse = LogResponse @typing_extensions.final class GetCloudMetadataRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___GetCloudMetadataRequest = GetCloudMetadataRequest @typing_extensions.final @@ -742,9 +1010,23 @@ class GetCloudMetadataResponse(google.protobuf.message.Message): primary_org_id: builtins.str location_id: builtins.str - def __init__(self, *, robot_part_id: builtins.str=..., primary_org_id: builtins.str=..., location_id: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['location_id', b'location_id', 'primary_org_id', b'primary_org_id', 'robot_part_id', b'robot_part_id']) -> None: - ... -global___GetCloudMetadataResponse = GetCloudMetadataResponse \ No newline at end of file + def __init__( + self, + *, + robot_part_id: builtins.str = ..., + primary_org_id: builtins.str = ..., + location_id: builtins.str = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "location_id", + b"location_id", + "primary_org_id", + b"primary_org_id", + "robot_part_id", + b"robot_part_id", + ], + ) -> None: ... + +global___GetCloudMetadataResponse = GetCloudMetadataResponse diff --git a/src/viam/gen/service/datamanager/v1/data_manager_grpc.py b/src/viam/gen/service/datamanager/v1/data_manager_grpc.py index 80f12d2f6..c5d25ef55 100644 --- a/src/viam/gen/service/datamanager/v1/data_manager_grpc.py +++ b/src/viam/gen/service/datamanager/v1/data_manager_grpc.py @@ -1,29 +1,60 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class DataManagerServiceBase(abc.ABC): +from .... import common, service + +class DataManagerServiceBase(abc.ABC): @abc.abstractmethod - async def Sync(self, stream: 'grpclib.server.Stream[service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse]') -> None: + async def Sync( + self, + stream: "grpclib.server.Stream[service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.datamanager.v1.DataManagerService/Sync': grpclib.const.Handler(self.Sync, grpclib.const.Cardinality.UNARY_UNARY, service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse), '/viam.service.datamanager.v1.DataManagerService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.datamanager.v1.DataManagerService/Sync": grpclib.const.Handler( + self.Sync, + grpclib.const.Cardinality.UNARY_UNARY, + service.datamanager.v1.data_manager_pb2.SyncRequest, + service.datamanager.v1.data_manager_pb2.SyncResponse, + ), + "/viam.service.datamanager.v1.DataManagerService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class DataManagerServiceStub: +class DataManagerServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Sync = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/Sync', service.datamanager.v1.data_manager_pb2.SyncRequest, service.datamanager.v1.data_manager_pb2.SyncResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.datamanager.v1.DataManagerService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.Sync = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.datamanager.v1.DataManagerService/Sync", + service.datamanager.v1.data_manager_pb2.SyncRequest, + service.datamanager.v1.data_manager_pb2.SyncResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.datamanager.v1.DataManagerService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/datamanager/v1/data_manager_pb2.py b/src/viam/gen/service/datamanager/v1/data_manager_pb2.py index 4aa91ea72..4983a0ba3 100644 --- a/src/viam/gen/service/datamanager/v1/data_manager_pb2.py +++ b/src/viam/gen/service/datamanager/v1/data_manager_pb2.py @@ -1,25 +1,42 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)service/datamanager/v1/data_manager.proto\x12\x1bviam.service.datamanager.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bSyncRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSyncResponse2\xbb\x02\n\x12DataManagerService\x12\x95\x01\n\x04Sync\x12(.viam.service.datamanager.v1.SyncRequest\x1a).viam.service.datamanager.v1.SyncResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync\x12\x8c\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_commandBI\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n)service/datamanager/v1/data_manager.proto\x12\x1bviam.service.datamanager.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"P\n\x0bSyncRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x0e\n\x0cSyncResponse2\xbb\x02\n\x12DataManagerService\x12\x95\x01\n\x04Sync\x12(.viam.service.datamanager.v1.SyncRequest\x1a).viam.service.datamanager.v1.SyncResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync\x12\x8c\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_commandBI\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.datamanager.v1.data_manager_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.datamanager.v1.data_manager_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1' - _DATAMANAGERSERVICE.methods_by_name['Sync']._options = None - _DATAMANAGERSERVICE.methods_by_name['Sync']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync' - _DATAMANAGERSERVICE.methods_by_name['DoCommand']._options = None - _DATAMANAGERSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b"\n\x1fcom.viam.service.datamanager.v1Z&go.viam.com/api/service/datamanager/v1" + ) + _DATAMANAGERSERVICE.methods_by_name["Sync"]._options = None + _DATAMANAGERSERVICE.methods_by_name[ + "Sync" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/datamanager/{name}/datasync' + ) + _DATAMANAGERSERVICE.methods_by_name["DoCommand"]._options = None + _DATAMANAGERSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/datamanager/{name}/do_command' + ) _SYNCREQUEST._serialized_start = 158 _SYNCREQUEST._serialized_end = 238 _SYNCRESPONSE._serialized_start = 240 _SYNCRESPONSE._serialized_end = 254 _DATAMANAGERSERVICE._serialized_start = 257 - _DATAMANAGERSERVICE._serialized_end = 572 \ No newline at end of file + _DATAMANAGERSERVICE._serialized_end = 572 diff --git a/src/viam/gen/service/datamanager/v1/data_manager_pb2.pyi b/src/viam/gen/service/datamanager/v1/data_manager_pb2.pyi index e7d504ff8..cd64bc816 100644 --- a/src/viam/gen/service/datamanager/v1/data_manager_pb2.pyi +++ b/src/viam/gen/service/datamanager/v1/data_manager_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -24,20 +26,25 @@ class SyncRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___SyncRequest = SyncRequest @typing_extensions.final class SyncResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___SyncResponse = SyncResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___SyncResponse = SyncResponse diff --git a/src/viam/gen/service/generic/v1/generic_grpc.py b/src/viam/gen/service/generic/v1/generic_grpc.py index abab3a538..1a344f803 100644 --- a/src/viam/gen/service/generic/v1/generic_grpc.py +++ b/src/viam/gen/service/generic/v1/generic_grpc.py @@ -1,23 +1,40 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 -from .... import service -class GenericServiceBase(abc.ABC): +from .... import common, service + +class GenericServiceBase(abc.ABC): @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.generic.v1.GenericService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.generic.v1.GenericService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) + } -class GenericServiceStub: +class GenericServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.generic.v1.GenericService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.generic.v1.GenericService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/generic/v1/generic_pb2.py b/src/viam/gen/service/generic/v1/generic_pb2.py index c34fca258..1ea9e1362 100644 --- a/src/viam/gen/service/generic/v1/generic_pb2.py +++ b/src/viam/gen/service/generic/v1/generic_pb2.py @@ -1,18 +1,31 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/generic/v1/generic.proto\x12\x17viam.service.generic.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\x9b\x01\n\x0eGenericService\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_commandBA\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n service/generic/v1/generic.proto\x12\x17viam.service.generic.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto2\x9b\x01\n\x0eGenericService\x12\x88\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_commandBA\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.generic.v1.generic_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.generic.v1.generic_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1' - _GENERICSERVICE.methods_by_name['DoCommand']._options = None - _GENERICSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b'\n\x1bcom.viam.service.generic.v1Z"go.viam.com/api/service/generic/v1' + ) + _GENERICSERVICE.methods_by_name["DoCommand"]._options = None + _GENERICSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/generic/{name}/do_command' + ) _GENERICSERVICE._serialized_start = 116 - _GENERICSERVICE._serialized_end = 271 \ No newline at end of file + _GENERICSERVICE._serialized_end = 271 diff --git a/src/viam/gen/service/generic/v1/generic_pb2.pyi b/src/viam/gen/service/generic/v1/generic_pb2.pyi index ab0716881..e08fa11c2 100644 --- a/src/viam/gen/service/generic/v1/generic_pb2.pyi +++ b/src/viam/gen/service/generic/v1/generic_pb2.pyi @@ -3,4 +3,5 @@ isort:skip_file """ import google.protobuf.descriptor -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor \ No newline at end of file + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor diff --git a/src/viam/gen/service/mlmodel/v1/mlmodel_grpc.py b/src/viam/gen/service/mlmodel/v1/mlmodel_grpc.py index e4f35a7d9..90f331cab 100644 --- a/src/viam/gen/service/mlmodel/v1/mlmodel_grpc.py +++ b/src/viam/gen/service/mlmodel/v1/mlmodel_grpc.py @@ -1,28 +1,60 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server import google.api.annotations_pb2 import google.protobuf.struct_pb2 + from .... import service -class MLModelServiceBase(abc.ABC): +class MLModelServiceBase(abc.ABC): @abc.abstractmethod - async def Infer(self, stream: 'grpclib.server.Stream[service.mlmodel.v1.mlmodel_pb2.InferRequest, service.mlmodel.v1.mlmodel_pb2.InferResponse]') -> None: + async def Infer( + self, + stream: "grpclib.server.Stream[service.mlmodel.v1.mlmodel_pb2.InferRequest, service.mlmodel.v1.mlmodel_pb2.InferResponse]", + ) -> None: pass @abc.abstractmethod - async def Metadata(self, stream: 'grpclib.server.Stream[service.mlmodel.v1.mlmodel_pb2.MetadataRequest, service.mlmodel.v1.mlmodel_pb2.MetadataResponse]') -> None: + async def Metadata( + self, + stream: "grpclib.server.Stream[service.mlmodel.v1.mlmodel_pb2.MetadataRequest, service.mlmodel.v1.mlmodel_pb2.MetadataResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.mlmodel.v1.MLModelService/Infer': grpclib.const.Handler(self.Infer, grpclib.const.Cardinality.UNARY_UNARY, service.mlmodel.v1.mlmodel_pb2.InferRequest, service.mlmodel.v1.mlmodel_pb2.InferResponse), '/viam.service.mlmodel.v1.MLModelService/Metadata': grpclib.const.Handler(self.Metadata, grpclib.const.Cardinality.UNARY_UNARY, service.mlmodel.v1.mlmodel_pb2.MetadataRequest, service.mlmodel.v1.mlmodel_pb2.MetadataResponse)} + return { + "/viam.service.mlmodel.v1.MLModelService/Infer": grpclib.const.Handler( + self.Infer, + grpclib.const.Cardinality.UNARY_UNARY, + service.mlmodel.v1.mlmodel_pb2.InferRequest, + service.mlmodel.v1.mlmodel_pb2.InferResponse, + ), + "/viam.service.mlmodel.v1.MLModelService/Metadata": grpclib.const.Handler( + self.Metadata, + grpclib.const.Cardinality.UNARY_UNARY, + service.mlmodel.v1.mlmodel_pb2.MetadataRequest, + service.mlmodel.v1.mlmodel_pb2.MetadataResponse, + ), + } -class MLModelServiceStub: +class MLModelServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Infer = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.mlmodel.v1.MLModelService/Infer', service.mlmodel.v1.mlmodel_pb2.InferRequest, service.mlmodel.v1.mlmodel_pb2.InferResponse) - self.Metadata = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.mlmodel.v1.MLModelService/Metadata', service.mlmodel.v1.mlmodel_pb2.MetadataRequest, service.mlmodel.v1.mlmodel_pb2.MetadataResponse) \ No newline at end of file + self.Infer = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.mlmodel.v1.MLModelService/Infer", + service.mlmodel.v1.mlmodel_pb2.InferRequest, + service.mlmodel.v1.mlmodel_pb2.InferResponse, + ) + self.Metadata = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.mlmodel.v1.MLModelService/Metadata", + service.mlmodel.v1.mlmodel_pb2.MetadataRequest, + service.mlmodel.v1.mlmodel_pb2.MetadataResponse, + ) diff --git a/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.py b/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.py index d93d6698f..52efa18e8 100644 --- a/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.py +++ b/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.py @@ -1,39 +1,55 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/mlmodel/v1/mlmodel.proto\x12\x17viam.service.mlmodel.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xae\x01\n\x0cInferRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12I\n\rinput_tensors\x18\x03 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\x0cinputTensors\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraJ\x04\x08\x02\x10\x03R\ninput_data"{\n\rInferResponse\x12K\n\x0eoutput_tensors\x18\x03 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\routputTensorsJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04nameR\x0boutput_data"T\n\x0fMetadataRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x10MetadataResponse\x12=\n\x08metadata\x18\x01 \x01(\x0b2!.viam.service.mlmodel.v1.MetadataR\x08metadata"\xde\x01\n\x08Metadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12B\n\ninput_info\x18\x04 \x03(\x0b2#.viam.service.mlmodel.v1.TensorInfoR\tinputInfo\x12D\n\x0boutput_info\x18\x05 \x03(\x0b2#.viam.service.mlmodel.v1.TensorInfoR\noutputInfo"\xee\x01\n\nTensorInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1b\n\tdata_type\x18\x03 \x01(\tR\x08dataType\x12\x14\n\x05shape\x18\x04 \x03(\x05R\x05shape\x12H\n\x10associated_files\x18\x05 \x03(\x0b2\x1d.viam.service.mlmodel.v1.FileR\x0fassociatedFiles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x7f\n\x04File\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12A\n\nlabel_type\x18\x03 \x01(\x0e2".viam.service.mlmodel.v1.LabelTypeR\tlabelType"(\n\x12FlatTensorDataInt8\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data")\n\x13FlatTensorDataUInt8\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data"-\n\x13FlatTensorDataInt16\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt16\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataInt32\x12\x16\n\x04data\x18\x01 \x03(\x0fB\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt32\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataInt64\x12\x16\n\x04data\x18\x01 \x03(\x10B\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt64\x12\x16\n\x04data\x18\x01 \x03(\x06B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataFloat\x12\x16\n\x04data\x18\x01 \x03(\x02B\x02\x10\x01R\x04data".\n\x14FlatTensorDataDouble\x12\x16\n\x04data\x18\x01 \x03(\x01B\x02\x10\x01R\x04data"\xf3\x06\n\nFlatTensor\x12\x14\n\x05shape\x18\x01 \x03(\x06R\x05shape\x12N\n\x0bint8_tensor\x18\x02 \x01(\x0b2+.viam.service.mlmodel.v1.FlatTensorDataInt8H\x00R\nint8Tensor\x12Q\n\x0cuint8_tensor\x18\x03 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataUInt8H\x00R\x0buint8Tensor\x12Q\n\x0cint16_tensor\x18\x04 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt16H\x00R\x0bint16Tensor\x12T\n\ruint16_tensor\x18\x05 \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt16H\x00R\x0cuint16Tensor\x12Q\n\x0cint32_tensor\x18\x06 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt32H\x00R\x0bint32Tensor\x12T\n\ruint32_tensor\x18\x07 \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt32H\x00R\x0cuint32Tensor\x12Q\n\x0cint64_tensor\x18\x08 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt64H\x00R\x0bint64Tensor\x12T\n\ruint64_tensor\x18\t \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt64H\x00R\x0cuint64Tensor\x12Q\n\x0cfloat_tensor\x18\n \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataFloatH\x00R\x0bfloatTensor\x12T\n\rdouble_tensor\x18\x0b \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataDoubleH\x00R\x0cdoubleTensorB\x08\n\x06tensor"\xbb\x01\n\x0bFlatTensors\x12K\n\x07tensors\x18\x01 \x03(\x0b21.viam.service.mlmodel.v1.FlatTensors.TensorsEntryR\x07tensors\x1a_\n\x0cTensorsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x129\n\x05value\x18\x02 \x01(\x0b2#.viam.service.mlmodel.v1.FlatTensorR\x05value:\x028\x01*`\n\tLabelType\x12\x1a\n\x16LABEL_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17LABEL_TYPE_TENSOR_VALUE\x10\x01\x12\x1a\n\x16LABEL_TYPE_TENSOR_AXIS\x10\x022\xb4\x02\n\x0eMLModelService\x12\x89\x01\n\x05Infer\x12%.viam.service.mlmodel.v1.InferRequest\x1a&.viam.service.mlmodel.v1.InferResponse"1\x82\xd3\xe4\x93\x02+")/viam/api/v1/service/mlmodel/{name}/infer\x12\x95\x01\n\x08Metadata\x12(.viam.service.mlmodel.v1.MetadataRequest\x1a).viam.service.mlmodel.v1.MetadataResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/mlmodel/{name}/metadataBA\n\x1bcom.viam.service.mlmodel.v1Z"go.viam.com/api/service/mlmodel/v1b\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n service/mlmodel/v1/mlmodel.proto\x12\x17viam.service.mlmodel.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xae\x01\n\x0cInferRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12I\n\rinput_tensors\x18\x03 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\x0cinputTensors\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraJ\x04\x08\x02\x10\x03R\ninput_data"{\n\rInferResponse\x12K\n\x0eoutput_tensors\x18\x03 \x01(\x0b2$.viam.service.mlmodel.v1.FlatTensorsR\routputTensorsJ\x04\x08\x01\x10\x02J\x04\x08\x02\x10\x03R\x04nameR\x0boutput_data"T\n\x0fMetadataRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x10MetadataResponse\x12=\n\x08metadata\x18\x01 \x01(\x0b2!.viam.service.mlmodel.v1.MetadataR\x08metadata"\xde\x01\n\x08Metadata\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x12\n\x04type\x18\x02 \x01(\tR\x04type\x12 \n\x0bdescription\x18\x03 \x01(\tR\x0bdescription\x12B\n\ninput_info\x18\x04 \x03(\x0b2#.viam.service.mlmodel.v1.TensorInfoR\tinputInfo\x12D\n\x0boutput_info\x18\x05 \x03(\x0b2#.viam.service.mlmodel.v1.TensorInfoR\noutputInfo"\xee\x01\n\nTensorInfo\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12\x1b\n\tdata_type\x18\x03 \x01(\tR\x08dataType\x12\x14\n\x05shape\x18\x04 \x03(\x05R\x05shape\x12H\n\x10associated_files\x18\x05 \x03(\x0b2\x1d.viam.service.mlmodel.v1.FileR\x0fassociatedFiles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x7f\n\x04File\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bdescription\x18\x02 \x01(\tR\x0bdescription\x12A\n\nlabel_type\x18\x03 \x01(\x0e2".viam.service.mlmodel.v1.LabelTypeR\tlabelType"(\n\x12FlatTensorDataInt8\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data")\n\x13FlatTensorDataUInt8\x12\x12\n\x04data\x18\x01 \x01(\x0cR\x04data"-\n\x13FlatTensorDataInt16\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt16\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataInt32\x12\x16\n\x04data\x18\x01 \x03(\x0fB\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt32\x12\x16\n\x04data\x18\x01 \x03(\x07B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataInt64\x12\x16\n\x04data\x18\x01 \x03(\x10B\x02\x10\x01R\x04data".\n\x14FlatTensorDataUInt64\x12\x16\n\x04data\x18\x01 \x03(\x06B\x02\x10\x01R\x04data"-\n\x13FlatTensorDataFloat\x12\x16\n\x04data\x18\x01 \x03(\x02B\x02\x10\x01R\x04data".\n\x14FlatTensorDataDouble\x12\x16\n\x04data\x18\x01 \x03(\x01B\x02\x10\x01R\x04data"\xf3\x06\n\nFlatTensor\x12\x14\n\x05shape\x18\x01 \x03(\x06R\x05shape\x12N\n\x0bint8_tensor\x18\x02 \x01(\x0b2+.viam.service.mlmodel.v1.FlatTensorDataInt8H\x00R\nint8Tensor\x12Q\n\x0cuint8_tensor\x18\x03 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataUInt8H\x00R\x0buint8Tensor\x12Q\n\x0cint16_tensor\x18\x04 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt16H\x00R\x0bint16Tensor\x12T\n\ruint16_tensor\x18\x05 \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt16H\x00R\x0cuint16Tensor\x12Q\n\x0cint32_tensor\x18\x06 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt32H\x00R\x0bint32Tensor\x12T\n\ruint32_tensor\x18\x07 \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt32H\x00R\x0cuint32Tensor\x12Q\n\x0cint64_tensor\x18\x08 \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataInt64H\x00R\x0bint64Tensor\x12T\n\ruint64_tensor\x18\t \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataUInt64H\x00R\x0cuint64Tensor\x12Q\n\x0cfloat_tensor\x18\n \x01(\x0b2,.viam.service.mlmodel.v1.FlatTensorDataFloatH\x00R\x0bfloatTensor\x12T\n\rdouble_tensor\x18\x0b \x01(\x0b2-.viam.service.mlmodel.v1.FlatTensorDataDoubleH\x00R\x0cdoubleTensorB\x08\n\x06tensor"\xbb\x01\n\x0bFlatTensors\x12K\n\x07tensors\x18\x01 \x03(\x0b21.viam.service.mlmodel.v1.FlatTensors.TensorsEntryR\x07tensors\x1a_\n\x0cTensorsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x129\n\x05value\x18\x02 \x01(\x0b2#.viam.service.mlmodel.v1.FlatTensorR\x05value:\x028\x01*`\n\tLabelType\x12\x1a\n\x16LABEL_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17LABEL_TYPE_TENSOR_VALUE\x10\x01\x12\x1a\n\x16LABEL_TYPE_TENSOR_AXIS\x10\x022\xb4\x02\n\x0eMLModelService\x12\x89\x01\n\x05Infer\x12%.viam.service.mlmodel.v1.InferRequest\x1a&.viam.service.mlmodel.v1.InferResponse"1\x82\xd3\xe4\x93\x02+")/viam/api/v1/service/mlmodel/{name}/infer\x12\x95\x01\n\x08Metadata\x12(.viam.service.mlmodel.v1.MetadataRequest\x1a).viam.service.mlmodel.v1.MetadataResponse"4\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/mlmodel/{name}/metadataBA\n\x1bcom.viam.service.mlmodel.v1Z"go.viam.com/api/service/mlmodel/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.mlmodel.v1.mlmodel_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.mlmodel.v1.mlmodel_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.mlmodel.v1Z"go.viam.com/api/service/mlmodel/v1' - _FLATTENSORDATAINT16.fields_by_name['data']._options = None - _FLATTENSORDATAINT16.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAUINT16.fields_by_name['data']._options = None - _FLATTENSORDATAUINT16.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAINT32.fields_by_name['data']._options = None - _FLATTENSORDATAINT32.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAUINT32.fields_by_name['data']._options = None - _FLATTENSORDATAUINT32.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAINT64.fields_by_name['data']._options = None - _FLATTENSORDATAINT64.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAUINT64.fields_by_name['data']._options = None - _FLATTENSORDATAUINT64.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATAFLOAT.fields_by_name['data']._options = None - _FLATTENSORDATAFLOAT.fields_by_name['data']._serialized_options = b'\x10\x01' - _FLATTENSORDATADOUBLE.fields_by_name['data']._options = None - _FLATTENSORDATADOUBLE.fields_by_name['data']._serialized_options = b'\x10\x01' + DESCRIPTOR._serialized_options = ( + b'\n\x1bcom.viam.service.mlmodel.v1Z"go.viam.com/api/service/mlmodel/v1' + ) + _FLATTENSORDATAINT16.fields_by_name["data"]._options = None + _FLATTENSORDATAINT16.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAUINT16.fields_by_name["data"]._options = None + _FLATTENSORDATAUINT16.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAINT32.fields_by_name["data"]._options = None + _FLATTENSORDATAINT32.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAUINT32.fields_by_name["data"]._options = None + _FLATTENSORDATAUINT32.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAINT64.fields_by_name["data"]._options = None + _FLATTENSORDATAINT64.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAUINT64.fields_by_name["data"]._options = None + _FLATTENSORDATAUINT64.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATAFLOAT.fields_by_name["data"]._options = None + _FLATTENSORDATAFLOAT.fields_by_name["data"]._serialized_options = b"\x10\x01" + _FLATTENSORDATADOUBLE.fields_by_name["data"]._options = None + _FLATTENSORDATADOUBLE.fields_by_name["data"]._serialized_options = b"\x10\x01" _FLATTENSORS_TENSORSENTRY._options = None - _FLATTENSORS_TENSORSENTRY._serialized_options = b'8\x01' - _MLMODELSERVICE.methods_by_name['Infer']._options = None - _MLMODELSERVICE.methods_by_name['Infer']._serialized_options = b'\x82\xd3\xe4\x93\x02+")/viam/api/v1/service/mlmodel/{name}/infer' - _MLMODELSERVICE.methods_by_name['Metadata']._options = None - _MLMODELSERVICE.methods_by_name['Metadata']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/mlmodel/{name}/metadata' + _FLATTENSORS_TENSORSENTRY._serialized_options = b"8\x01" + _MLMODELSERVICE.methods_by_name["Infer"]._options = None + _MLMODELSERVICE.methods_by_name[ + "Infer" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02+")/viam/api/v1/service/mlmodel/{name}/infer' + ) + _MLMODELSERVICE.methods_by_name["Metadata"]._options = None + _MLMODELSERVICE.methods_by_name[ + "Metadata" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/mlmodel/{name}/metadata" + ) _LABELTYPE._serialized_start = 2728 _LABELTYPE._serialized_end = 2824 _INFERREQUEST._serialized_start = 122 @@ -77,4 +93,4 @@ _FLATTENSORS_TENSORSENTRY._serialized_start = 2631 _FLATTENSORS_TENSORSENTRY._serialized_end = 2726 _MLMODELSERVICE._serialized_start = 2827 - _MLMODELSERVICE._serialized_end = 3135 \ No newline at end of file + _MLMODELSERVICE._serialized_end = 3135 diff --git a/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi b/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi index f4eefa96e..acfbc0c3c 100644 --- a/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi +++ b/src/viam/gen/service/mlmodel/v1/mlmodel_pb2.pyi @@ -4,13 +4,15 @@ isort:skip_file """ import builtins import collections.abc +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -18,24 +20,27 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _LabelType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _LabelTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LabelType.ValueType], builtins.type): +class _LabelTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_LabelType.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor LABEL_TYPE_UNSPECIFIED: _LabelType.ValueType LABEL_TYPE_TENSOR_VALUE: _LabelType.ValueType - 'the value of the arrays/tensor is the label index' + "the value of the arrays/tensor is the label index" LABEL_TYPE_TENSOR_AXIS: _LabelType.ValueType - 'the position of the tensor value in the axis is the label index' + "the position of the tensor value in the axis is the label index" + +class LabelType(_LabelType, metaclass=_LabelTypeEnumTypeWrapper): ... -class LabelType(_LabelType, metaclass=_LabelTypeEnumTypeWrapper): - ... LABEL_TYPE_UNSPECIFIED: LabelType.ValueType LABEL_TYPE_TENSOR_VALUE: LabelType.ValueType -'the value of the arrays/tensor is the label index' +"the value of the arrays/tensor is the label index" LABEL_TYPE_TENSOR_AXIS: LabelType.ValueType -'the position of the tensor value in the axis is the label index' +"the position of the tensor value in the axis is the label index" global___LabelType = LabelType @typing_extensions.final @@ -45,7 +50,7 @@ class InferRequest(google.protobuf.message.Message): INPUT_TENSORS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the model service' + "name of the model service" @property def input_tensors(self) -> global___FlatTensors: @@ -55,14 +60,26 @@ class InferRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., input_tensors: global___FlatTensors | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + input_tensors: global___FlatTensors | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "input_tensors", b"input_tensors" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "input_tensors", b"input_tensors", "name", b"name" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'input_tensors', b'input_tensors']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'input_tensors', b'input_tensors', 'name', b'name']) -> None: - ... global___InferRequest = InferRequest @typing_extensions.final @@ -74,14 +91,16 @@ class InferResponse(google.protobuf.message.Message): def output_tensors(self) -> global___FlatTensors: """the output data is provided as a set of named flat tensors""" - def __init__(self, *, output_tensors: global___FlatTensors | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['output_tensors', b'output_tensors']) -> builtins.bool: - ... + def __init__( + self, *, output_tensors: global___FlatTensors | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["output_tensors", b"output_tensors"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["output_tensors", b"output_tensors"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['output_tensors', b'output_tensors']) -> None: - ... global___InferResponse = InferResponse @typing_extensions.final @@ -90,20 +109,25 @@ class MetadataRequest(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the model service' + "name of the model service" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___MetadataRequest = MetadataRequest @typing_extensions.final @@ -115,14 +139,14 @@ class MetadataResponse(google.protobuf.message.Message): def metadata(self) -> global___Metadata: """this is the metadata associated with the ML model""" - def __init__(self, *, metadata: global___Metadata | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> builtins.bool: - ... + def __init__(self, *, metadata: global___Metadata | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["metadata", b"metadata"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['metadata', b'metadata']) -> None: - ... global___MetadataResponse = MetadataResponse @typing_extensions.final @@ -134,25 +158,53 @@ class Metadata(google.protobuf.message.Message): INPUT_INFO_FIELD_NUMBER: builtins.int OUTPUT_INFO_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the model' + "name of the model" type: builtins.str - 'type of model e.g. object_detector, text_classifier' + "type of model e.g. object_detector, text_classifier" description: builtins.str - 'description of the model' + "description of the model" @property - def input_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TensorInfo]: + def input_info( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___TensorInfo + ]: """the necessary input arrays/tensors for an inference, order matters""" @property - def output_info(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___TensorInfo]: + def output_info( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___TensorInfo + ]: """the output arrays/tensors of the model, order matters""" - def __init__(self, *, name: builtins.str=..., type: builtins.str=..., description: builtins.str=..., input_info: collections.abc.Iterable[global___TensorInfo] | None=..., output_info: collections.abc.Iterable[global___TensorInfo] | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + type: builtins.str = ..., + description: builtins.str = ..., + input_info: collections.abc.Iterable[global___TensorInfo] | None = ..., + output_info: collections.abc.Iterable[global___TensorInfo] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "description", + b"description", + "input_info", + b"input_info", + "name", + b"name", + "output_info", + b"output_info", + "type", + b"type", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'input_info', b'input_info', 'name', b'name', 'output_info', b'output_info', 'type', b'type']) -> None: - ... global___Metadata = Metadata @typing_extensions.final @@ -165,32 +217,61 @@ class TensorInfo(google.protobuf.message.Message): ASSOCIATED_FILES_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the data in the array/tensor' + "name of the data in the array/tensor" description: builtins.str - 'description of the data in the array/tensor' + "description of the data in the array/tensor" data_type: builtins.str - 'data type of the array/tensor, e.g. float32, float64, uint8' + "data type of the array/tensor, e.g. float32, float64, uint8" @property - def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: + def shape( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: """shape of the array/tensor (-1 for unknown)""" @property - def associated_files(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___File]: + def associated_files( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___File + ]: """files associated with the array/tensor, like for category labels""" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """anything else you want to say""" - def __init__(self, *, name: builtins.str=..., description: builtins.str=..., data_type: builtins.str=..., shape: collections.abc.Iterable[builtins.int] | None=..., associated_files: collections.abc.Iterable[global___File] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + description: builtins.str = ..., + data_type: builtins.str = ..., + shape: collections.abc.Iterable[builtins.int] | None = ..., + associated_files: collections.abc.Iterable[global___File] | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "associated_files", + b"associated_files", + "data_type", + b"data_type", + "description", + b"description", + "extra", + b"extra", + "name", + b"name", + "shape", + b"shape", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['associated_files', b'associated_files', 'data_type', b'data_type', 'description', b'description', 'extra', b'extra', 'name', b'name', 'shape', b'shape']) -> None: - ... global___TensorInfo = TensorInfo @typing_extensions.final @@ -200,17 +281,26 @@ class File(google.protobuf.message.Message): DESCRIPTION_FIELD_NUMBER: builtins.int LABEL_TYPE_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the file, with file extension' + "name of the file, with file extension" description: builtins.str - 'description of what the file contains' + "description of what the file contains" label_type: global___LabelType.ValueType - 'How to associate the arrays/tensors to the labels in the file' + "How to associate the arrays/tensors to the labels in the file" + + def __init__( + self, + *, + name: builtins.str = ..., + description: builtins.str = ..., + label_type: global___LabelType.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "description", b"description", "label_type", b"label_type", "name", b"name" + ], + ) -> None: ... - def __init__(self, *, name: builtins.str=..., description: builtins.str=..., label_type: global___LabelType.ValueType=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['description', b'description', 'label_type', b'label_type', 'name', b'name']) -> None: - ... global___File = File @typing_extensions.final @@ -219,11 +309,11 @@ class FlatTensorDataInt8(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int data: builtins.bytes - def __init__(self, *, data: builtins.bytes=...) -> None: - ... + def __init__(self, *, data: builtins.bytes = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataInt8 = FlatTensorDataInt8 @typing_extensions.final @@ -232,11 +322,11 @@ class FlatTensorDataUInt8(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int data: builtins.bytes - def __init__(self, *, data: builtins.bytes=...) -> None: - ... + def __init__(self, *, data: builtins.bytes = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataUInt8 = FlatTensorDataUInt8 @typing_extensions.final @@ -245,16 +335,20 @@ class FlatTensorDataInt16(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: """packs two 16-bit numbers per entry - explicitly little-endian so big-endian producers/consumers must compensate """ - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataInt16 = FlatTensorDataInt16 @typing_extensions.final @@ -263,16 +357,20 @@ class FlatTensorDataUInt16(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: """packs two 16-bit numbers per entry - explicitly little-endian so big-endian producers/consumers must compensate """ - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataUInt16 = FlatTensorDataUInt16 @typing_extensions.final @@ -281,14 +379,18 @@ class FlatTensorDataInt32(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - ... - - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.int + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataInt32 = FlatTensorDataInt32 @typing_extensions.final @@ -297,14 +399,18 @@ class FlatTensorDataUInt32(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.int + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataUInt32 = FlatTensorDataUInt32 @typing_extensions.final @@ -313,14 +419,18 @@ class FlatTensorDataInt64(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - ... - - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.int + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataInt64 = FlatTensorDataInt64 @typing_extensions.final @@ -329,14 +439,18 @@ class FlatTensorDataUInt64(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.int + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.int] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def __init__(self, *, data: collections.abc.Iterable[builtins.int] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataUInt64 = FlatTensorDataUInt64 @typing_extensions.final @@ -345,14 +459,18 @@ class FlatTensorDataFloat(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... - - def __init__(self, *, data: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.float] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataFloat = FlatTensorDataFloat @typing_extensions.final @@ -361,14 +479,18 @@ class FlatTensorDataDouble(google.protobuf.message.Message): DATA_FIELD_NUMBER: builtins.int @property - def data(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: - ... + def data( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.float + ]: ... + def __init__( + self, *, data: collections.abc.Iterable[builtins.float] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["data", b"data"] + ) -> None: ... - def __init__(self, *, data: collections.abc.Iterable[builtins.float] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['data', b'data']) -> None: - ... global___FlatTensorDataDouble = FlatTensorDataDouble @typing_extensions.final @@ -387,60 +509,120 @@ class FlatTensor(google.protobuf.message.Message): DOUBLE_TENSOR_FIELD_NUMBER: builtins.int @property - def shape(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: + def shape( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.int]: """the shape of the provided tensor as a list of integer extents""" @property - def int8_tensor(self) -> global___FlatTensorDataInt8: - ... - + def int8_tensor(self) -> global___FlatTensorDataInt8: ... @property - def uint8_tensor(self) -> global___FlatTensorDataUInt8: - ... - + def uint8_tensor(self) -> global___FlatTensorDataUInt8: ... @property - def int16_tensor(self) -> global___FlatTensorDataInt16: - ... - + def int16_tensor(self) -> global___FlatTensorDataInt16: ... @property - def uint16_tensor(self) -> global___FlatTensorDataUInt16: - ... - + def uint16_tensor(self) -> global___FlatTensorDataUInt16: ... @property - def int32_tensor(self) -> global___FlatTensorDataInt32: - ... - + def int32_tensor(self) -> global___FlatTensorDataInt32: ... @property - def uint32_tensor(self) -> global___FlatTensorDataUInt32: - ... - + def uint32_tensor(self) -> global___FlatTensorDataUInt32: ... @property - def int64_tensor(self) -> global___FlatTensorDataInt64: - ... - + def int64_tensor(self) -> global___FlatTensorDataInt64: ... @property - def uint64_tensor(self) -> global___FlatTensorDataUInt64: - ... - + def uint64_tensor(self) -> global___FlatTensorDataUInt64: ... @property - def float_tensor(self) -> global___FlatTensorDataFloat: - ... - + def float_tensor(self) -> global___FlatTensorDataFloat: ... @property - def double_tensor(self) -> global___FlatTensorDataDouble: - ... - - def __init__(self, *, shape: collections.abc.Iterable[builtins.int] | None=..., int8_tensor: global___FlatTensorDataInt8 | None=..., uint8_tensor: global___FlatTensorDataUInt8 | None=..., int16_tensor: global___FlatTensorDataInt16 | None=..., uint16_tensor: global___FlatTensorDataUInt16 | None=..., int32_tensor: global___FlatTensorDataInt32 | None=..., uint32_tensor: global___FlatTensorDataUInt32 | None=..., int64_tensor: global___FlatTensorDataInt64 | None=..., uint64_tensor: global___FlatTensorDataUInt64 | None=..., float_tensor: global___FlatTensorDataFloat | None=..., double_tensor: global___FlatTensorDataDouble | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['double_tensor', b'double_tensor', 'float_tensor', b'float_tensor', 'int16_tensor', b'int16_tensor', 'int32_tensor', b'int32_tensor', 'int64_tensor', b'int64_tensor', 'int8_tensor', b'int8_tensor', 'tensor', b'tensor', 'uint16_tensor', b'uint16_tensor', 'uint32_tensor', b'uint32_tensor', 'uint64_tensor', b'uint64_tensor', 'uint8_tensor', b'uint8_tensor']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['double_tensor', b'double_tensor', 'float_tensor', b'float_tensor', 'int16_tensor', b'int16_tensor', 'int32_tensor', b'int32_tensor', 'int64_tensor', b'int64_tensor', 'int8_tensor', b'int8_tensor', 'shape', b'shape', 'tensor', b'tensor', 'uint16_tensor', b'uint16_tensor', 'uint32_tensor', b'uint32_tensor', 'uint64_tensor', b'uint64_tensor', 'uint8_tensor', b'uint8_tensor']) -> None: - ... + def double_tensor(self) -> global___FlatTensorDataDouble: ... + def __init__( + self, + *, + shape: collections.abc.Iterable[builtins.int] | None = ..., + int8_tensor: global___FlatTensorDataInt8 | None = ..., + uint8_tensor: global___FlatTensorDataUInt8 | None = ..., + int16_tensor: global___FlatTensorDataInt16 | None = ..., + uint16_tensor: global___FlatTensorDataUInt16 | None = ..., + int32_tensor: global___FlatTensorDataInt32 | None = ..., + uint32_tensor: global___FlatTensorDataUInt32 | None = ..., + int64_tensor: global___FlatTensorDataInt64 | None = ..., + uint64_tensor: global___FlatTensorDataUInt64 | None = ..., + float_tensor: global___FlatTensorDataFloat | None = ..., + double_tensor: global___FlatTensorDataDouble | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "double_tensor", + b"double_tensor", + "float_tensor", + b"float_tensor", + "int16_tensor", + b"int16_tensor", + "int32_tensor", + b"int32_tensor", + "int64_tensor", + b"int64_tensor", + "int8_tensor", + b"int8_tensor", + "tensor", + b"tensor", + "uint16_tensor", + b"uint16_tensor", + "uint32_tensor", + b"uint32_tensor", + "uint64_tensor", + b"uint64_tensor", + "uint8_tensor", + b"uint8_tensor", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "double_tensor", + b"double_tensor", + "float_tensor", + b"float_tensor", + "int16_tensor", + b"int16_tensor", + "int32_tensor", + b"int32_tensor", + "int64_tensor", + b"int64_tensor", + "int8_tensor", + b"int8_tensor", + "shape", + b"shape", + "tensor", + b"tensor", + "uint16_tensor", + b"uint16_tensor", + "uint32_tensor", + b"uint32_tensor", + "uint64_tensor", + b"uint64_tensor", + "uint8_tensor", + b"uint8_tensor", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["tensor", b"tensor"] + ) -> ( + typing_extensions.Literal[ + "int8_tensor", + "uint8_tensor", + "int16_tensor", + "uint16_tensor", + "int32_tensor", + "uint32_tensor", + "int64_tensor", + "uint64_tensor", + "float_tensor", + "double_tensor", + ] + | None + ): ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['tensor', b'tensor']) -> typing_extensions.Literal['int8_tensor', 'uint8_tensor', 'int16_tensor', 'uint16_tensor', 'int32_tensor', 'uint32_tensor', 'int64_tensor', 'uint64_tensor', 'float_tensor', 'double_tensor'] | None: - ... global___FlatTensor = FlatTensor @typing_extensions.final @@ -455,26 +637,35 @@ class FlatTensors(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___FlatTensor: - ... - - def __init__(self, *, key: builtins.str=..., value: global___FlatTensor | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___FlatTensor: ... + def __init__( + self, *, key: builtins.str = ..., value: global___FlatTensor | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... TENSORS_FIELD_NUMBER: builtins.int @property - def tensors(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___FlatTensor]: + def tensors( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___FlatTensor + ]: """A name-indexed collection of flat tensor objects""" - def __init__(self, *, tensors: collections.abc.Mapping[builtins.str, global___FlatTensor] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['tensors', b'tensors']) -> None: - ... -global___FlatTensors = FlatTensors \ No newline at end of file + def __init__( + self, + *, + tensors: collections.abc.Mapping[builtins.str, global___FlatTensor] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["tensors", b"tensors"] + ) -> None: ... + +global___FlatTensors = FlatTensors diff --git a/src/viam/gen/service/motion/v1/motion_grpc.py b/src/viam/gen/service/motion/v1/motion_grpc.py index 0bc4e57d9..843f02f59 100644 --- a/src/viam/gen/service/motion/v1/motion_grpc.py +++ b/src/viam/gen/service/motion/v1/motion_grpc.py @@ -1,60 +1,175 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -from .... import service -class MotionServiceBase(abc.ABC): +from .... import common, service + +class MotionServiceBase(abc.ABC): @abc.abstractmethod - async def Move(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse]') -> None: + async def Move( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse]", + ) -> None: pass @abc.abstractmethod - async def MoveOnMap(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse]') -> None: + async def MoveOnMap( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse]", + ) -> None: pass @abc.abstractmethod - async def MoveOnGlobe(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse]') -> None: + async def MoveOnGlobe( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPose(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse]') -> None: + async def GetPose( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse]", + ) -> None: pass @abc.abstractmethod - async def StopPlan(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse]') -> None: + async def StopPlan( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse]", + ) -> None: pass @abc.abstractmethod - async def ListPlanStatuses(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse]') -> None: + async def ListPlanStatuses( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPlan(self, stream: 'grpclib.server.Stream[service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse]') -> None: + async def GetPlan( + self, + stream: "grpclib.server.Stream[service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.motion.v1.MotionService/Move': grpclib.const.Handler(self.Move, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse), '/viam.service.motion.v1.MotionService/MoveOnMap': grpclib.const.Handler(self.MoveOnMap, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse), '/viam.service.motion.v1.MotionService/MoveOnGlobe': grpclib.const.Handler(self.MoveOnGlobe, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse), '/viam.service.motion.v1.MotionService/GetPose': grpclib.const.Handler(self.GetPose, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse), '/viam.service.motion.v1.MotionService/StopPlan': grpclib.const.Handler(self.StopPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse), '/viam.service.motion.v1.MotionService/ListPlanStatuses': grpclib.const.Handler(self.ListPlanStatuses, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse), '/viam.service.motion.v1.MotionService/GetPlan': grpclib.const.Handler(self.GetPlan, grpclib.const.Cardinality.UNARY_UNARY, service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse), '/viam.service.motion.v1.MotionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.motion.v1.MotionService/Move": grpclib.const.Handler( + self.Move, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.MoveRequest, + service.motion.v1.motion_pb2.MoveResponse, + ), + "/viam.service.motion.v1.MotionService/MoveOnMap": grpclib.const.Handler( + self.MoveOnMap, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.MoveOnMapRequest, + service.motion.v1.motion_pb2.MoveOnMapResponse, + ), + "/viam.service.motion.v1.MotionService/MoveOnGlobe": grpclib.const.Handler( + self.MoveOnGlobe, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.MoveOnGlobeRequest, + service.motion.v1.motion_pb2.MoveOnGlobeResponse, + ), + "/viam.service.motion.v1.MotionService/GetPose": grpclib.const.Handler( + self.GetPose, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.GetPoseRequest, + service.motion.v1.motion_pb2.GetPoseResponse, + ), + "/viam.service.motion.v1.MotionService/StopPlan": grpclib.const.Handler( + self.StopPlan, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.StopPlanRequest, + service.motion.v1.motion_pb2.StopPlanResponse, + ), + "/viam.service.motion.v1.MotionService/ListPlanStatuses": grpclib.const.Handler( + self.ListPlanStatuses, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.ListPlanStatusesRequest, + service.motion.v1.motion_pb2.ListPlanStatusesResponse, + ), + "/viam.service.motion.v1.MotionService/GetPlan": grpclib.const.Handler( + self.GetPlan, + grpclib.const.Cardinality.UNARY_UNARY, + service.motion.v1.motion_pb2.GetPlanRequest, + service.motion.v1.motion_pb2.GetPlanResponse, + ), + "/viam.service.motion.v1.MotionService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class MotionServiceStub: +class MotionServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Move = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/Move', service.motion.v1.motion_pb2.MoveRequest, service.motion.v1.motion_pb2.MoveResponse) - self.MoveOnMap = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnMap', service.motion.v1.motion_pb2.MoveOnMapRequest, service.motion.v1.motion_pb2.MoveOnMapResponse) - self.MoveOnGlobe = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/MoveOnGlobe', service.motion.v1.motion_pb2.MoveOnGlobeRequest, service.motion.v1.motion_pb2.MoveOnGlobeResponse) - self.GetPose = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/GetPose', service.motion.v1.motion_pb2.GetPoseRequest, service.motion.v1.motion_pb2.GetPoseResponse) - self.StopPlan = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/StopPlan', service.motion.v1.motion_pb2.StopPlanRequest, service.motion.v1.motion_pb2.StopPlanResponse) - self.ListPlanStatuses = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/ListPlanStatuses', service.motion.v1.motion_pb2.ListPlanStatusesRequest, service.motion.v1.motion_pb2.ListPlanStatusesResponse) - self.GetPlan = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/GetPlan', service.motion.v1.motion_pb2.GetPlanRequest, service.motion.v1.motion_pb2.GetPlanResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.motion.v1.MotionService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.Move = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/Move", + service.motion.v1.motion_pb2.MoveRequest, + service.motion.v1.motion_pb2.MoveResponse, + ) + self.MoveOnMap = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/MoveOnMap", + service.motion.v1.motion_pb2.MoveOnMapRequest, + service.motion.v1.motion_pb2.MoveOnMapResponse, + ) + self.MoveOnGlobe = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/MoveOnGlobe", + service.motion.v1.motion_pb2.MoveOnGlobeRequest, + service.motion.v1.motion_pb2.MoveOnGlobeResponse, + ) + self.GetPose = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/GetPose", + service.motion.v1.motion_pb2.GetPoseRequest, + service.motion.v1.motion_pb2.GetPoseResponse, + ) + self.StopPlan = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/StopPlan", + service.motion.v1.motion_pb2.StopPlanRequest, + service.motion.v1.motion_pb2.StopPlanResponse, + ) + self.ListPlanStatuses = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/ListPlanStatuses", + service.motion.v1.motion_pb2.ListPlanStatusesRequest, + service.motion.v1.motion_pb2.ListPlanStatusesResponse, + ) + self.GetPlan = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/GetPlan", + service.motion.v1.motion_pb2.GetPlanRequest, + service.motion.v1.motion_pb2.GetPlanResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.motion.v1.MotionService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/motion/v1/motion_pb2.py b/src/viam/gen/service/motion/v1/motion_pb2.py index 4e6f6ea77..09f9ed8ba 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.py +++ b/src/viam/gen/service/motion/v1/motion_pb2.py @@ -1,37 +1,76 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xd2\x03\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x126\n\tobstacles\x18\x06 \x03(\x0b2\x18.viam.common.v1.GeometryR\tobstacles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"6\n\x11MoveOnMapResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xc9\t\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1eservice/motion/v1/motion.proto\x12\x16viam.service.motion.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto"\x82\x03\n\x0bMoveRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12=\n\x0bdestination\x18\x02 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12@\n\x0bworld_state\x18\x04 \x01(\x0b2\x1a.viam.common.v1.WorldStateH\x00R\nworldState\x88\x01\x01\x12J\n\x0bconstraints\x18\x05 \x01(\x0b2#.viam.service.motion.v1.ConstraintsH\x01R\x0bconstraints\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0e\n\x0c_world_stateB\x0e\n\x0c_constraints"(\n\x0cMoveResponse\x12\x18\n\x07success\x18\x01 \x01(\x08R\x07success"\xd2\x03\n\x10MoveOnMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x126\n\x0bdestination\x18\x02 \x01(\x0b2\x14.viam.common.v1.PoseR\x0bdestination\x12C\n\x0ecomponent_name\x18\x03 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12H\n\x11slam_service_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x0fslamServiceName\x12c\n\x14motion_configuration\x18\x05 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x00R\x13motionConfiguration\x88\x01\x01\x126\n\tobstacles\x18\x06 \x03(\x0b2\x18.viam.common.v1.GeometryR\tobstacles\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x17\n\x15_motion_configuration"6\n\x11MoveOnMapResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x8d\x01\n\x10ObstacleDetector\x12C\n\x0evision_service\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rvisionService\x124\n\x06camera\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x06camera"\x98\x04\n\x13MotionConfiguration\x12W\n\x12obstacle_detectors\x18\x01 \x03(\x0b2(.viam.service.motion.v1.ObstacleDetectorR\x11obstacleDetectors\x12F\n\x1dposition_polling_frequency_hz\x18\x02 \x01(\x01H\x00R\x1apositionPollingFrequencyHz\x88\x01\x01\x12F\n\x1dobstacle_polling_frequency_hz\x18\x03 \x01(\x01H\x01R\x1aobstaclePollingFrequencyHz\x88\x01\x01\x12-\n\x10plan_deviation_m\x18\x04 \x01(\x01H\x02R\x0eplanDeviationM\x88\x01\x01\x12,\n\x10linear_m_per_sec\x18\x05 \x01(\x01H\x03R\rlinearMPerSec\x88\x01\x01\x124\n\x14angular_degs_per_sec\x18\x06 \x01(\x01H\x04R\x11angularDegsPerSec\x88\x01\x01B \n\x1e_position_polling_frequency_hzB \n\x1e_obstacle_polling_frequency_hzB\x13\n\x11_plan_deviation_mB\x13\n\x11_linear_m_per_secB\x17\n\x15_angular_degs_per_sec"\x8c\x04\n\x12MoveOnGlobeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12:\n\x0bdestination\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x0bdestination\x12\x1d\n\x07heading\x18\x03 \x01(\x01H\x00R\x07heading\x88\x01\x01\x12C\n\x0ecomponent_name\x18\x04 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12N\n\x14movement_sensor_name\x18\x05 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\x12movementSensorName\x129\n\tobstacles\x18\x06 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles\x12c\n\x14motion_configuration\x18\x07 \x01(\x0b2+.viam.service.motion.v1.MotionConfigurationH\x01R\x13motionConfiguration\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\n\n\x08_headingB\x17\n\x15_motion_configuration"8\n\x13MoveOnGlobeResponse\x12!\n\x0cexecution_id\x18\x01 \x01(\tR\x0bexecutionId"\x99\x02\n\x0eGetPoseRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12+\n\x11destination_frame\x18\x03 \x01(\tR\x10destinationFrame\x12R\n\x17supplemental_transforms\x18\x04 \x03(\x0b2\x19.viam.common.v1.TransformR\x16supplementalTransforms\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"B\n\x0fGetPoseResponse\x12/\n\x04pose\x18\x01 \x01(\x0b2\x1b.viam.common.v1.PoseInFrameR\x04pose"\x99\x01\n\x0fStopPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x12\n\x10StopPlanResponse"\x88\x01\n\x17ListPlanStatusesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12*\n\x11only_active_plans\x18\x02 \x01(\x08R\x0fonlyActivePlans\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"y\n\x18ListPlanStatusesResponse\x12]\n\x16plan_statuses_with_ids\x18\x01 \x03(\x0b2(.viam.service.motion.v1.PlanStatusWithIDR\x13planStatusesWithIds"\xf7\x01\n\x0eGetPlanRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12$\n\x0elast_plan_only\x18\x03 \x01(\x08R\x0clastPlanOnly\x12&\n\x0cexecution_id\x18\x04 \x01(\tH\x00R\x0bexecutionId\x88\x01\x01\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extraB\x0f\n\r_execution_id"\xc1\x01\n\x0fGetPlanResponse\x12_\n\x18current_plan_with_status\x18\x01 \x01(\x0b2&.viam.service.motion.v1.PlanWithStatusR\x15currentPlanWithStatus\x12M\n\x0ereplan_history\x18\x02 \x03(\x0b2&.viam.service.motion.v1.PlanWithStatusR\rreplanHistory"\xb3\x02\n\x0bConstraints\x12U\n\x11linear_constraint\x18\x01 \x03(\x0b2(.viam.service.motion.v1.LinearConstraintR\x10linearConstraint\x12d\n\x16orientation_constraint\x18\x02 \x03(\x0b2-.viam.service.motion.v1.OrientationConstraintR\x15orientationConstraint\x12g\n\x17collision_specification\x18\x03 \x03(\x0b2..viam.service.motion.v1.CollisionSpecificationR\x16collisionSpecification"\xbb\x01\n\x10LinearConstraint\x12/\n\x11line_tolerance_mm\x18\x01 \x01(\x02H\x00R\x0flineToleranceMm\x88\x01\x01\x12A\n\x1aorientation_tolerance_degs\x18\x02 \x01(\x02H\x01R\x18orientationToleranceDegs\x88\x01\x01B\x14\n\x12_line_tolerance_mmB\x1d\n\x1b_orientation_tolerance_degs"y\n\x15OrientationConstraint\x12A\n\x1aorientation_tolerance_degs\x18\x01 \x01(\x02H\x00R\x18orientationToleranceDegs\x88\x01\x01B\x1d\n\x1b_orientation_tolerance_degs"\xc1\x01\n\x16CollisionSpecification\x12]\n\x06allows\x18\x01 \x03(\x0b2E.viam.service.motion.v1.CollisionSpecification.AllowedFrameCollisionsR\x06allows\x1aH\n\x16AllowedFrameCollisions\x12\x16\n\x06frame1\x18\x01 \x01(\tR\x06frame1\x12\x16\n\x06frame2\x18\x02 \x01(\tR\x06frame2"\xc9\x01\n\x0ePlanWithStatus\x120\n\x04plan\x18\x01 \x01(\x0b2\x1c.viam.service.motion.v1.PlanR\x04plan\x12:\n\x06status\x18\x02 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status\x12I\n\x0estatus_history\x18\x03 \x03(\x0b2".viam.service.motion.v1.PlanStatusR\rstatusHistory"\xcf\x01\n\x10PlanStatusWithID\x12\x17\n\x07plan_id\x18\x01 \x01(\tR\x06planId\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x12:\n\x06status\x18\x04 \x01(\x0b2".viam.service.motion.v1.PlanStatusR\x06status"\xa7\x01\n\nPlanStatus\x127\n\x05state\x18\x01 \x01(\x0e2!.viam.service.motion.v1.PlanStateR\x05state\x128\n\ttimestamp\x18\x02 \x01(\x0b2\x1a.google.protobuf.TimestampR\ttimestamp\x12\x1b\n\x06reason\x18\x03 \x01(\tH\x00R\x06reason\x88\x01\x01B\t\n\x07_reason"\xb6\x01\n\x04Plan\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x12C\n\x0ecomponent_name\x18\x02 \x01(\x0b2\x1c.viam.common.v1.ResourceNameR\rcomponentName\x12!\n\x0cexecution_id\x18\x03 \x01(\tR\x0bexecutionId\x126\n\x05steps\x18\x04 \x03(\x0b2 .viam.service.motion.v1.PlanStepR\x05steps"\xab\x01\n\x08PlanStep\x12>\n\x04step\x18\x01 \x03(\x0b2*.viam.service.motion.v1.PlanStep.StepEntryR\x04step\x1a_\n\tStepEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12<\n\x05value\x18\x02 \x01(\x0b2&.viam.service.motion.v1.ComponentStateR\x05value:\x028\x01":\n\x0eComponentState\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose*\x8c\x01\n\tPlanState\x12\x1a\n\x16PLAN_STATE_UNSPECIFIED\x10\x00\x12\x1a\n\x16PLAN_STATE_IN_PROGRESS\x10\x01\x12\x16\n\x12PLAN_STATE_STOPPED\x10\x02\x12\x18\n\x14PLAN_STATE_SUCCEEDED\x10\x03\x12\x15\n\x11PLAN_STATE_FAILED\x10\x042\xc9\t\n\rMotionService\x12\x82\x01\n\x04Move\x12#.viam.service.motion.v1.MoveRequest\x1a$.viam.service.motion.v1.MoveResponse"/\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move\x12\x98\x01\n\tMoveOnMap\x12(.viam.service.motion.v1.MoveOnMapRequest\x1a).viam.service.motion.v1.MoveOnMapResponse"6\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map\x12\xa0\x01\n\x0bMoveOnGlobe\x12*.viam.service.motion.v1.MoveOnGlobeRequest\x1a+.viam.service.motion.v1.MoveOnGlobeResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe\x12\x8b\x01\n\x07GetPose\x12&.viam.service.motion.v1.GetPoseRequest\x1a\'.viam.service.motion.v1.GetPoseResponse"/\x82\xd3\xe4\x93\x02)\x12\'/viam/api/v1/service/motion/{name}/pose\x12\x93\x01\n\x08StopPlan\x12\'.viam.service.motion.v1.StopPlanRequest\x1a(.viam.service.motion.v1.StopPlanResponse"4\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan\x12\xb4\x01\n\x10ListPlanStatuses\x12/.viam.service.motion.v1.ListPlanStatusesRequest\x1a0.viam.service.motion.v1.ListPlanStatusesResponse"=\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses\x12\x8f\x01\n\x07GetPlan\x12&.viam.service.motion.v1.GetPlanRequest\x1a\'.viam.service.motion.v1.GetPlanResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_commandB?\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.motion.v1.motion_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.motion.v1.motion_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1' + DESCRIPTOR._serialized_options = ( + b"\n\x1acom.viam.service.motion.v1Z!go.viam.com/api/service/motion/v1" + ) _PLANSTEP_STEPENTRY._options = None - _PLANSTEP_STEPENTRY._serialized_options = b'8\x01' - _MOTIONSERVICE.methods_by_name['Move']._options = None - _MOTIONSERVICE.methods_by_name['Move']._serialized_options = b'\x82\xd3\xe4\x93\x02)"\'/viam/api/v1/service/motion/{name}/move' - _MOTIONSERVICE.methods_by_name['MoveOnMap']._options = None - _MOTIONSERVICE.methods_by_name['MoveOnMap']._serialized_options = b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map' - _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._options = None - _MOTIONSERVICE.methods_by_name['MoveOnGlobe']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe' - _MOTIONSERVICE.methods_by_name['GetPose']._options = None - _MOTIONSERVICE.methods_by_name['GetPose']._serialized_options = b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/service/motion/{name}/pose" - _MOTIONSERVICE.methods_by_name['StopPlan']._options = None - _MOTIONSERVICE.methods_by_name['StopPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan' - _MOTIONSERVICE.methods_by_name['ListPlanStatuses']._options = None - _MOTIONSERVICE.methods_by_name['ListPlanStatuses']._serialized_options = b'\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses' - _MOTIONSERVICE.methods_by_name['GetPlan']._options = None - _MOTIONSERVICE.methods_by_name['GetPlan']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan' - _MOTIONSERVICE.methods_by_name['DoCommand']._options = None - _MOTIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_command' + _PLANSTEP_STEPENTRY._serialized_options = b"8\x01" + _MOTIONSERVICE.methods_by_name["Move"]._options = None + _MOTIONSERVICE.methods_by_name[ + "Move" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\"'/viam/api/v1/service/motion/{name}/move" + ) + _MOTIONSERVICE.methods_by_name["MoveOnMap"]._options = None + _MOTIONSERVICE.methods_by_name[ + "MoveOnMap" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x020"./viam/api/v1/service/motion/{name}/move_on_map' + ) + _MOTIONSERVICE.methods_by_name["MoveOnGlobe"]._options = None + _MOTIONSERVICE.methods_by_name[ + "MoveOnGlobe" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/motion/{name}/move_on_globe' + ) + _MOTIONSERVICE.methods_by_name["GetPose"]._options = None + _MOTIONSERVICE.methods_by_name[ + "GetPose" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02)\x12'/viam/api/v1/service/motion/{name}/pose" + ) + _MOTIONSERVICE.methods_by_name["StopPlan"]._options = None + _MOTIONSERVICE.methods_by_name[ + "StopPlan" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02.\x1a,/viam/api/v1/service/motion/{name}/stop_plan" + ) + _MOTIONSERVICE.methods_by_name["ListPlanStatuses"]._options = None + _MOTIONSERVICE.methods_by_name[ + "ListPlanStatuses" + ]._serialized_options = b"\x82\xd3\xe4\x93\x027\x125/viam/api/v1/service/motion/{name}/list_plan_statuses" + _MOTIONSERVICE.methods_by_name["GetPlan"]._options = None + _MOTIONSERVICE.methods_by_name[ + "GetPlan" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/motion/{name}/get_plan" + ) + _MOTIONSERVICE.methods_by_name["DoCommand"]._options = None + _MOTIONSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/motion/{name}/do_command' + ) _PLANSTATE._serialized_start = 5458 _PLANSTATE._serialized_end = 5598 _MOVEREQUEST._serialized_start = 176 @@ -91,4 +130,4 @@ _COMPONENTSTATE._serialized_start = 5397 _COMPONENTSTATE._serialized_end = 5455 _MOTIONSERVICE._serialized_start = 5601 - _MOTIONSERVICE._serialized_end = 6826 \ No newline at end of file + _MOTIONSERVICE._serialized_end = 6826 diff --git a/src/viam/gen/service/motion/v1/motion_pb2.pyi b/src/viam/gen/service/motion/v1/motion_pb2.pyi index f6f740171..620e98aa2 100644 --- a/src/viam/gen/service/motion/v1/motion_pb2.pyi +++ b/src/viam/gen/service/motion/v1/motion_pb2.pyi @@ -4,15 +4,18 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 import google.protobuf.timestamp_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -20,10 +23,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _PlanState: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _PlanStateEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlanState.ValueType], builtins.type): +class _PlanStateEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_PlanState.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor PLAN_STATE_UNSPECIFIED: _PlanState.ValueType PLAN_STATE_IN_PROGRESS: _PlanState.ValueType @@ -38,6 +44,7 @@ class PlanState(_PlanState, metaclass=_PlanStateEnumTypeWrapper): Suceeded if the robot reached its destination successfully. Failed if the robot did not reach its destination. """ + PLAN_STATE_UNSPECIFIED: PlanState.ValueType PLAN_STATE_IN_PROGRESS: PlanState.ValueType PLAN_STATE_STOPPED: PlanState.ValueType @@ -48,6 +55,7 @@ global___PlanState = PlanState @typing_extensions.final class MoveRequest(google.protobuf.message.Message): """Moves any component on the robot to a specified destination which can be from the reference frame of any other component on the robot.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int DESTINATION_FIELD_NUMBER: builtins.int @@ -56,7 +64,7 @@ class MoveRequest(google.protobuf.message.Message): CONSTRAINTS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the motion service' + "Name of the motion service" @property def destination(self) -> common.v1.common_pb2.PoseInFrame: @@ -80,22 +88,65 @@ class MoveRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.PoseInFrame | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., world_state: common.v1.common_pb2.WorldState | None=..., constraints: global___Constraints | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_constraints', b'_constraints', '_world_state', b'_world_state', 'component_name', b'component_name', 'constraints', b'constraints', 'destination', b'destination', 'extra', b'extra', 'world_state', b'world_state']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_constraints', b'_constraints', '_world_state', b'_world_state', 'component_name', b'component_name', 'constraints', b'constraints', 'destination', b'destination', 'extra', b'extra', 'name', b'name', 'world_state', b'world_state']) -> None: - ... - + def __init__( + self, + *, + name: builtins.str = ..., + destination: common.v1.common_pb2.PoseInFrame | None = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + world_state: common.v1.common_pb2.WorldState | None = ..., + constraints: global___Constraints | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_constraints", + b"_constraints", + "_world_state", + b"_world_state", + "component_name", + b"component_name", + "constraints", + b"constraints", + "destination", + b"destination", + "extra", + b"extra", + "world_state", + b"world_state", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_constraints", + b"_constraints", + "_world_state", + b"_world_state", + "component_name", + b"component_name", + "constraints", + b"constraints", + "destination", + b"destination", + "extra", + b"extra", + "name", + b"name", + "world_state", + b"world_state", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_constraints', b'_constraints']) -> typing_extensions.Literal['constraints'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_constraints", b"_constraints"] + ) -> typing_extensions.Literal["constraints"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_world_state', b'_world_state']) -> typing_extensions.Literal['world_state'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_world_state", b"_world_state"] + ) -> typing_extensions.Literal["world_state"] | None: ... + global___MoveRequest = MoveRequest @typing_extensions.final @@ -104,11 +155,11 @@ class MoveResponse(google.protobuf.message.Message): SUCCESS_FIELD_NUMBER: builtins.int success: builtins.bool - def __init__(self, *, success: builtins.bool=...) -> None: - ... + def __init__(self, *, success: builtins.bool = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["success", b"success"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['success', b'success']) -> None: - ... global___MoveResponse = MoveResponse @typing_extensions.final @@ -122,7 +173,7 @@ class MoveOnMapRequest(google.protobuf.message.Message): OBSTACLES_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the motion service' + "Name of the motion service" @property def destination(self) -> common.v1.common_pb2.Pose: @@ -141,24 +192,73 @@ class MoveOnMapRequest(google.protobuf.message.Message): """Optional set of motion configuration options""" @property - def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Geometry]: + def obstacles( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.Geometry + ]: """Obstacles to be considered for motion planning""" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.Pose | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., slam_service_name: common.v1.common_pb2.ResourceName | None=..., motion_configuration: global___MotionConfiguration | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.Geometry] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'slam_service_name', b'slam_service_name']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'motion_configuration', b'motion_configuration', 'name', b'name', 'obstacles', b'obstacles', 'slam_service_name', b'slam_service_name']) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + destination: common.v1.common_pb2.Pose | None = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + slam_service_name: common.v1.common_pb2.ResourceName | None = ..., + motion_configuration: global___MotionConfiguration | None = ..., + obstacles: collections.abc.Iterable[common.v1.common_pb2.Geometry] | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_motion_configuration", + b"_motion_configuration", + "component_name", + b"component_name", + "destination", + b"destination", + "extra", + b"extra", + "motion_configuration", + b"motion_configuration", + "slam_service_name", + b"slam_service_name", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_motion_configuration", + b"_motion_configuration", + "component_name", + b"component_name", + "destination", + b"destination", + "extra", + b"extra", + "motion_configuration", + b"motion_configuration", + "name", + b"name", + "obstacles", + b"obstacles", + "slam_service_name", + b"slam_service_name", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_motion_configuration", b"_motion_configuration" + ], + ) -> typing_extensions.Literal["motion_configuration"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_motion_configuration', b'_motion_configuration']) -> typing_extensions.Literal['motion_configuration'] | None: - ... global___MoveOnMapRequest = MoveOnMapRequest @typing_extensions.final @@ -166,38 +266,46 @@ class MoveOnMapResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor EXECUTION_ID_FIELD_NUMBER: builtins.int execution_id: builtins.str - 'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n ' + "The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n " - def __init__(self, *, execution_id: builtins.str=...) -> None: - ... + def __init__(self, *, execution_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["execution_id", b"execution_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['execution_id', b'execution_id']) -> None: - ... global___MoveOnMapResponse = MoveOnMapResponse @typing_extensions.final class ObstacleDetector(google.protobuf.message.Message): """Pairs a vision service with a camera, informing the service about which camera it may use""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor VISION_SERVICE_FIELD_NUMBER: builtins.int CAMERA_FIELD_NUMBER: builtins.int @property - def vision_service(self) -> common.v1.common_pb2.ResourceName: - ... - + def vision_service(self) -> common.v1.common_pb2.ResourceName: ... @property - def camera(self) -> common.v1.common_pb2.ResourceName: - ... + def camera(self) -> common.v1.common_pb2.ResourceName: ... + def __init__( + self, + *, + vision_service: common.v1.common_pb2.ResourceName | None = ..., + camera: common.v1.common_pb2.ResourceName | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "camera", b"camera", "vision_service", b"vision_service" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "camera", b"camera", "vision_service", b"vision_service" + ], + ) -> None: ... - def __init__(self, *, vision_service: common.v1.common_pb2.ResourceName | None=..., camera: common.v1.common_pb2.ResourceName | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['camera', b'camera', 'vision_service', b'vision_service']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['camera', b'camera', 'vision_service', b'vision_service']) -> None: - ... global___ObstacleDetector = ObstacleDetector @typing_extensions.final @@ -211,47 +319,122 @@ class MotionConfiguration(google.protobuf.message.Message): ANGULAR_DEGS_PER_SEC_FIELD_NUMBER: builtins.int @property - def obstacle_detectors(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ObstacleDetector]: + def obstacle_detectors( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___ObstacleDetector + ]: """The ObstacleDetectors that will be used for transient obstacle avoidance""" position_polling_frequency_hz: builtins.float - 'Sets the frequency to poll for the position of the robot' + "Sets the frequency to poll for the position of the robot" obstacle_polling_frequency_hz: builtins.float - 'Sets the frequency to poll the vision service(s) for new obstacles' + "Sets the frequency to poll the vision service(s) for new obstacles" plan_deviation_m: builtins.float - 'Sets the distance in meters that a robot is allowed to deviate from the motion plan' + "Sets the distance in meters that a robot is allowed to deviate from the motion plan" linear_m_per_sec: builtins.float - 'Optional linear velocity to target when moving' + "Optional linear velocity to target when moving" angular_degs_per_sec: builtins.float - 'Optional angular velocity to target when turning' - - def __init__(self, *, obstacle_detectors: collections.abc.Iterable[global___ObstacleDetector] | None=..., position_polling_frequency_hz: builtins.float | None=..., obstacle_polling_frequency_hz: builtins.float | None=..., plan_deviation_m: builtins.float | None=..., linear_m_per_sec: builtins.float | None=..., angular_degs_per_sec: builtins.float | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec', '_linear_m_per_sec', b'_linear_m_per_sec', '_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz', '_plan_deviation_m', b'_plan_deviation_m', '_position_polling_frequency_hz', b'_position_polling_frequency_hz', 'angular_degs_per_sec', b'angular_degs_per_sec', 'linear_m_per_sec', b'linear_m_per_sec', 'obstacle_polling_frequency_hz', b'obstacle_polling_frequency_hz', 'plan_deviation_m', b'plan_deviation_m', 'position_polling_frequency_hz', b'position_polling_frequency_hz']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec', '_linear_m_per_sec', b'_linear_m_per_sec', '_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz', '_plan_deviation_m', b'_plan_deviation_m', '_position_polling_frequency_hz', b'_position_polling_frequency_hz', 'angular_degs_per_sec', b'angular_degs_per_sec', 'linear_m_per_sec', b'linear_m_per_sec', 'obstacle_detectors', b'obstacle_detectors', 'obstacle_polling_frequency_hz', b'obstacle_polling_frequency_hz', 'plan_deviation_m', b'plan_deviation_m', 'position_polling_frequency_hz', b'position_polling_frequency_hz']) -> None: - ... - + "Optional angular velocity to target when turning" + + def __init__( + self, + *, + obstacle_detectors: collections.abc.Iterable[global___ObstacleDetector] + | None = ..., + position_polling_frequency_hz: builtins.float | None = ..., + obstacle_polling_frequency_hz: builtins.float | None = ..., + plan_deviation_m: builtins.float | None = ..., + linear_m_per_sec: builtins.float | None = ..., + angular_degs_per_sec: builtins.float | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_angular_degs_per_sec", + b"_angular_degs_per_sec", + "_linear_m_per_sec", + b"_linear_m_per_sec", + "_obstacle_polling_frequency_hz", + b"_obstacle_polling_frequency_hz", + "_plan_deviation_m", + b"_plan_deviation_m", + "_position_polling_frequency_hz", + b"_position_polling_frequency_hz", + "angular_degs_per_sec", + b"angular_degs_per_sec", + "linear_m_per_sec", + b"linear_m_per_sec", + "obstacle_polling_frequency_hz", + b"obstacle_polling_frequency_hz", + "plan_deviation_m", + b"plan_deviation_m", + "position_polling_frequency_hz", + b"position_polling_frequency_hz", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_angular_degs_per_sec", + b"_angular_degs_per_sec", + "_linear_m_per_sec", + b"_linear_m_per_sec", + "_obstacle_polling_frequency_hz", + b"_obstacle_polling_frequency_hz", + "_plan_deviation_m", + b"_plan_deviation_m", + "_position_polling_frequency_hz", + b"_position_polling_frequency_hz", + "angular_degs_per_sec", + b"angular_degs_per_sec", + "linear_m_per_sec", + b"linear_m_per_sec", + "obstacle_detectors", + b"obstacle_detectors", + "obstacle_polling_frequency_hz", + b"obstacle_polling_frequency_hz", + "plan_deviation_m", + b"plan_deviation_m", + "position_polling_frequency_hz", + b"position_polling_frequency_hz", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_angular_degs_per_sec', b'_angular_degs_per_sec']) -> typing_extensions.Literal['angular_degs_per_sec'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_angular_degs_per_sec", b"_angular_degs_per_sec" + ], + ) -> typing_extensions.Literal["angular_degs_per_sec"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_linear_m_per_sec', b'_linear_m_per_sec']) -> typing_extensions.Literal['linear_m_per_sec'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_linear_m_per_sec", b"_linear_m_per_sec" + ], + ) -> typing_extensions.Literal["linear_m_per_sec"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_obstacle_polling_frequency_hz', b'_obstacle_polling_frequency_hz']) -> typing_extensions.Literal['obstacle_polling_frequency_hz'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_obstacle_polling_frequency_hz", b"_obstacle_polling_frequency_hz" + ], + ) -> typing_extensions.Literal["obstacle_polling_frequency_hz"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_plan_deviation_m', b'_plan_deviation_m']) -> typing_extensions.Literal['plan_deviation_m'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_plan_deviation_m", b"_plan_deviation_m" + ], + ) -> typing_extensions.Literal["plan_deviation_m"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_position_polling_frequency_hz', b'_position_polling_frequency_hz']) -> typing_extensions.Literal['position_polling_frequency_hz'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_position_polling_frequency_hz", b"_position_polling_frequency_hz" + ], + ) -> typing_extensions.Literal["position_polling_frequency_hz"] | None: ... + global___MotionConfiguration = MotionConfiguration @typing_extensions.final @@ -266,13 +449,13 @@ class MoveOnGlobeRequest(google.protobuf.message.Message): MOTION_CONFIGURATION_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the motion service' + "Name of the motion service" @property def destination(self) -> common.v1.common_pb2.GeoPoint: """Destination, encoded as a GeoPoint""" heading: builtins.float - 'Optional compass heading to achieve at the destination, in degrees [0-360)' + "Optional compass heading to achieve at the destination, in degrees [0-360)" @property def component_name(self) -> common.v1.common_pb2.ResourceName: @@ -283,7 +466,11 @@ class MoveOnGlobeRequest(google.protobuf.message.Message): """Name of the movement sensor which will be used to check robot location""" @property - def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoObstacle]: + def obstacles( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.GeoObstacle + ]: """Obstacles to be considered for motion planning""" @property @@ -294,22 +481,77 @@ class MoveOnGlobeRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., destination: common.v1.common_pb2.GeoPoint | None=..., heading: builtins.float | None=..., component_name: common.v1.common_pb2.ResourceName | None=..., movement_sensor_name: common.v1.common_pb2.ResourceName | None=..., obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoObstacle] | None=..., motion_configuration: global___MotionConfiguration | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_heading', b'_heading', '_motion_configuration', b'_motion_configuration', 'component_name', b'component_name', 'destination', b'destination', 'extra', b'extra', 'heading', b'heading', 'motion_configuration', b'motion_configuration', 'movement_sensor_name', b'movement_sensor_name', 'name', b'name', 'obstacles', b'obstacles']) -> None: - ... - + def __init__( + self, + *, + name: builtins.str = ..., + destination: common.v1.common_pb2.GeoPoint | None = ..., + heading: builtins.float | None = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + movement_sensor_name: common.v1.common_pb2.ResourceName | None = ..., + obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoObstacle] + | None = ..., + motion_configuration: global___MotionConfiguration | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_heading", + b"_heading", + "_motion_configuration", + b"_motion_configuration", + "component_name", + b"component_name", + "destination", + b"destination", + "extra", + b"extra", + "heading", + b"heading", + "motion_configuration", + b"motion_configuration", + "movement_sensor_name", + b"movement_sensor_name", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_heading", + b"_heading", + "_motion_configuration", + b"_motion_configuration", + "component_name", + b"component_name", + "destination", + b"destination", + "extra", + b"extra", + "heading", + b"heading", + "motion_configuration", + b"motion_configuration", + "movement_sensor_name", + b"movement_sensor_name", + "name", + b"name", + "obstacles", + b"obstacles", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_heading', b'_heading']) -> typing_extensions.Literal['heading'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_heading", b"_heading"] + ) -> typing_extensions.Literal["heading"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_motion_configuration', b'_motion_configuration']) -> typing_extensions.Literal['motion_configuration'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_motion_configuration", b"_motion_configuration" + ], + ) -> typing_extensions.Literal["motion_configuration"] | None: ... + global___MoveOnGlobeRequest = MoveOnGlobeRequest @typing_extensions.final @@ -317,13 +559,13 @@ class MoveOnGlobeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor EXECUTION_ID_FIELD_NUMBER: builtins.int execution_id: builtins.str - 'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n ' + "The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n " - def __init__(self, *, execution_id: builtins.str=...) -> None: - ... + def __init__(self, *, execution_id: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["execution_id", b"execution_id"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['execution_id', b'execution_id']) -> None: - ... global___MoveOnGlobeResponse = MoveOnGlobeResponse @typing_extensions.final @@ -343,7 +585,11 @@ class GetPoseRequest(google.protobuf.message.Message): 'the reference frame in which the component\'s pose\n should be provided, if unset this defaults\n to the "world" reference frame\n ' @property - def supplemental_transforms(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.Transform]: + def supplemental_transforms( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.Transform + ]: """pose information on any additional reference frames that are needed to compute the component's pose """ @@ -352,14 +598,40 @@ class GetPoseRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., destination_frame: builtins.str=..., supplemental_transforms: collections.abc.Iterable[common.v1.common_pb2.Transform] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + destination_frame: builtins.str = ..., + supplemental_transforms: collections.abc.Iterable[ + common.v1.common_pb2.Transform + ] + | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "component_name", b"component_name", "extra", b"extra" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "destination_frame", + b"destination_frame", + "extra", + b"extra", + "name", + b"name", + "supplemental_transforms", + b"supplemental_transforms", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'destination_frame', b'destination_frame', 'extra', b'extra', 'name', b'name', 'supplemental_transforms', b'supplemental_transforms']) -> None: - ... global___GetPoseRequest = GetPoseRequest @typing_extensions.final @@ -368,17 +640,17 @@ class GetPoseResponse(google.protobuf.message.Message): POSE_FIELD_NUMBER: builtins.int @property - def pose(self) -> common.v1.common_pb2.PoseInFrame: - ... - - def __init__(self, *, pose: common.v1.common_pb2.PoseInFrame | None=...) -> None: - ... + def pose(self) -> common.v1.common_pb2.PoseInFrame: ... + def __init__( + self, *, pose: common.v1.common_pb2.PoseInFrame | None = ... + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> None: - ... global___GetPoseResponse = GetPoseResponse @typing_extensions.final @@ -388,7 +660,7 @@ class StopPlanRequest(google.protobuf.message.Message): COMPONENT_NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'The name of the motion service' + "The name of the motion service" @property def component_name(self) -> common.v1.common_pb2.ResourceName: @@ -398,22 +670,34 @@ class StopPlanRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "component_name", b"component_name", "extra", b"extra" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", b"component_name", "extra", b"extra", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'extra', b'extra', 'name', b'name']) -> None: - ... global___StopPlanRequest = StopPlanRequest @typing_extensions.final class StopPlanResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___StopPlanResponse = StopPlanResponse @typing_extensions.final @@ -423,41 +707,68 @@ class ListPlanStatusesRequest(google.protobuf.message.Message): ONLY_ACTIVE_PLANS_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'The name of the motion service' + "The name of the motion service" only_active_plans: builtins.bool - 'If supplied, the response will filter the\n plan results for the supplied state\n ' + "If supplied, the response will filter the\n plan results for the supplied state\n " @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., only_active_plans: builtins.bool=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + only_active_plans: builtins.bool = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "name", + b"name", + "only_active_plans", + b"only_active_plans", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'only_active_plans', b'only_active_plans']) -> None: - ... global___ListPlanStatusesRequest = ListPlanStatusesRequest @typing_extensions.final class ListPlanStatusesResponse(google.protobuf.message.Message): """Status of all executed / executing plan statuses with associated IDs within the 24 hour TTL""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor PLAN_STATUSES_WITH_IDS_FIELD_NUMBER: builtins.int @property - def plan_statuses_with_ids(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatusWithID]: + def plan_statuses_with_ids( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___PlanStatusWithID + ]: """List of last known statuses with the associated IDs of all plans within the TTL ordered by timestamp in ascending order """ - def __init__(self, *, plan_statuses_with_ids: collections.abc.Iterable[global___PlanStatusWithID] | None=...) -> None: - ... + def __init__( + self, + *, + plan_statuses_with_ids: collections.abc.Iterable[global___PlanStatusWithID] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "plan_statuses_with_ids", b"plan_statuses_with_ids" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['plan_statuses_with_ids', b'plan_statuses_with_ids']) -> None: - ... global___ListPlanStatusesResponse = ListPlanStatusesResponse @typing_extensions.final @@ -469,31 +780,63 @@ class GetPlanRequest(google.protobuf.message.Message): EXECUTION_ID_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'The name of the motion service' + "The name of the motion service" @property def component_name(self) -> common.v1.common_pb2.ResourceName: """The name of the component which was requested to be moved.""" last_plan_only: builtins.bool - 'If supplied, the response will only return\n the the last plan for the component / execution\n ' + "If supplied, the response will only return\n the the last plan for the component / execution\n " execution_id: builtins.str - 'If you want to know about the plans of a previous execution' + "If you want to know about the plans of a previous execution" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., last_plan_only: builtins.bool=..., execution_id: builtins.str | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_execution_id', b'_execution_id', 'component_name', b'component_name', 'execution_id', b'execution_id', 'extra', b'extra', 'last_plan_only', b'last_plan_only', 'name', b'name']) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + last_plan_only: builtins.bool = ..., + execution_id: builtins.str | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_execution_id", + b"_execution_id", + "component_name", + b"component_name", + "execution_id", + b"execution_id", + "extra", + b"extra", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_execution_id", + b"_execution_id", + "component_name", + b"component_name", + "execution_id", + b"execution_id", + "extra", + b"extra", + "last_plan_only", + b"last_plan_only", + "name", + b"name", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_execution_id", b"_execution_id"] + ) -> typing_extensions.Literal["execution_id"] | None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal['_execution_id', b'_execution_id']) -> typing_extensions.Literal['execution_id'] | None: - ... global___GetPlanRequest = GetPlanRequest @typing_extensions.final @@ -507,48 +850,96 @@ class GetPlanResponse(google.protobuf.message.Message): """The current plan and status that matches the request query""" @property - def replan_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanWithStatus]: + def replan_history( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___PlanWithStatus + ]: """Returns the history of all previous plans that were generated in ascending order. This field will be empty if the motion service did not need to re-plan. """ - def __init__(self, *, current_plan_with_status: global___PlanWithStatus | None=..., replan_history: collections.abc.Iterable[global___PlanWithStatus] | None=...) -> None: - ... + def __init__( + self, + *, + current_plan_with_status: global___PlanWithStatus | None = ..., + replan_history: collections.abc.Iterable[global___PlanWithStatus] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "current_plan_with_status", b"current_plan_with_status" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "current_plan_with_status", + b"current_plan_with_status", + "replan_history", + b"replan_history", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['current_plan_with_status', b'current_plan_with_status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['current_plan_with_status', b'current_plan_with_status', 'replan_history', b'replan_history']) -> None: - ... global___GetPlanResponse = GetPlanResponse @typing_extensions.final class Constraints(google.protobuf.message.Message): """Constraints specifies all enumerated constraints to be passed to Viam's motion planning, along with any optional parameters""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor LINEAR_CONSTRAINT_FIELD_NUMBER: builtins.int ORIENTATION_CONSTRAINT_FIELD_NUMBER: builtins.int COLLISION_SPECIFICATION_FIELD_NUMBER: builtins.int @property - def linear_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___LinearConstraint]: + def linear_constraint( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___LinearConstraint + ]: """Typed message for a specific constraint""" @property - def orientation_constraint(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___OrientationConstraint]: - ... - + def orientation_constraint( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___OrientationConstraint + ]: ... @property - def collision_specification(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CollisionSpecification]: + def collision_specification( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___CollisionSpecification + ]: """Arc constraint, Time constraint, and others will be added here when they are supported""" - def __init__(self, *, linear_constraint: collections.abc.Iterable[global___LinearConstraint] | None=..., orientation_constraint: collections.abc.Iterable[global___OrientationConstraint] | None=..., collision_specification: collections.abc.Iterable[global___CollisionSpecification] | None=...) -> None: - ... + def __init__( + self, + *, + linear_constraint: collections.abc.Iterable[global___LinearConstraint] + | None = ..., + orientation_constraint: collections.abc.Iterable[global___OrientationConstraint] + | None = ..., + collision_specification: collections.abc.Iterable[ + global___CollisionSpecification + ] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "collision_specification", + b"collision_specification", + "linear_constraint", + b"linear_constraint", + "orientation_constraint", + b"orientation_constraint", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['collision_specification', b'collision_specification', 'linear_constraint', b'linear_constraint', 'orientation_constraint', b'orientation_constraint']) -> None: - ... global___Constraints = Constraints @typing_extensions.final @@ -556,30 +947,62 @@ class LinearConstraint(google.protobuf.message.Message): """LinearConstraint specifies that the component being moved should move linearly relative to its goal. It does not constrain the motion of components other than the `component_name` specified in motion.Move """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor LINE_TOLERANCE_MM_FIELD_NUMBER: builtins.int ORIENTATION_TOLERANCE_DEGS_FIELD_NUMBER: builtins.int line_tolerance_mm: builtins.float - 'Max linear deviation from straight-line between start and goal, in mm.' + "Max linear deviation from straight-line between start and goal, in mm." orientation_tolerance_degs: builtins.float - 'Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states' - - def __init__(self, *, line_tolerance_mm: builtins.float | None=..., orientation_tolerance_degs: builtins.float | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_line_tolerance_mm', b'_line_tolerance_mm', '_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'line_tolerance_mm', b'line_tolerance_mm', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_line_tolerance_mm', b'_line_tolerance_mm', '_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'line_tolerance_mm', b'line_tolerance_mm', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> None: - ... - + "Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states" + + def __init__( + self, + *, + line_tolerance_mm: builtins.float | None = ..., + orientation_tolerance_degs: builtins.float | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_line_tolerance_mm", + b"_line_tolerance_mm", + "_orientation_tolerance_degs", + b"_orientation_tolerance_degs", + "line_tolerance_mm", + b"line_tolerance_mm", + "orientation_tolerance_degs", + b"orientation_tolerance_degs", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_line_tolerance_mm", + b"_line_tolerance_mm", + "_orientation_tolerance_degs", + b"_orientation_tolerance_degs", + "line_tolerance_mm", + b"line_tolerance_mm", + "orientation_tolerance_degs", + b"orientation_tolerance_degs", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_line_tolerance_mm', b'_line_tolerance_mm']) -> typing_extensions.Literal['line_tolerance_mm'] | None: - ... - + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_line_tolerance_mm", b"_line_tolerance_mm" + ], + ) -> typing_extensions.Literal["line_tolerance_mm"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs']) -> typing_extensions.Literal['orientation_tolerance_degs'] | None: - ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_orientation_tolerance_degs", b"_orientation_tolerance_degs" + ], + ) -> typing_extensions.Literal["orientation_tolerance_degs"] | None: ... + global___LinearConstraint = LinearConstraint @typing_extensions.final @@ -587,27 +1010,46 @@ class OrientationConstraint(google.protobuf.message.Message): """OrientationConstraint specifies that the component being moved will not deviate its orientation beyond some threshold relative to the goal. It does not constrain the motion of components other than the `component_name` specified in motion.Move """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor ORIENTATION_TOLERANCE_DEGS_FIELD_NUMBER: builtins.int orientation_tolerance_degs: builtins.float - 'Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states' - - def __init__(self, *, orientation_tolerance_degs: builtins.float | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> builtins.bool: - ... + "Max allowable orientation deviation, in degrees, while on the shortest path between start / goal states" + + def __init__( + self, *, orientation_tolerance_degs: builtins.float | None = ... + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_orientation_tolerance_degs", + b"_orientation_tolerance_degs", + "orientation_tolerance_degs", + b"orientation_tolerance_degs", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_orientation_tolerance_degs", + b"_orientation_tolerance_degs", + "orientation_tolerance_degs", + b"orientation_tolerance_degs", + ], + ) -> None: ... + def WhichOneof( + self, + oneof_group: typing_extensions.Literal[ + "_orientation_tolerance_degs", b"_orientation_tolerance_degs" + ], + ) -> typing_extensions.Literal["orientation_tolerance_degs"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs', 'orientation_tolerance_degs', b'orientation_tolerance_degs']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_orientation_tolerance_degs', b'_orientation_tolerance_degs']) -> typing_extensions.Literal['orientation_tolerance_degs'] | None: - ... global___OrientationConstraint = OrientationConstraint @typing_extensions.final class CollisionSpecification(google.protobuf.message.Message): """CollisionSpecification is used to selectively apply obstacle avoidance to specific parts of the robot""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor @typing_extensions.final @@ -618,22 +1060,37 @@ class CollisionSpecification(google.protobuf.message.Message): frame1: builtins.str frame2: builtins.str - def __init__(self, *, frame1: builtins.str=..., frame2: builtins.str=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['frame1', b'frame1', 'frame2', b'frame2']) -> None: - ... + def __init__( + self, *, frame1: builtins.str = ..., frame2: builtins.str = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "frame1", b"frame1", "frame2", b"frame2" + ], + ) -> None: ... ALLOWS_FIELD_NUMBER: builtins.int @property - def allows(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CollisionSpecification.AllowedFrameCollisions]: + def allows( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___CollisionSpecification.AllowedFrameCollisions + ]: """Pairs of frame which should be allowed to collide with one another""" - def __init__(self, *, allows: collections.abc.Iterable[global___CollisionSpecification.AllowedFrameCollisions] | None=...) -> None: - ... + def __init__( + self, + *, + allows: collections.abc.Iterable[ + global___CollisionSpecification.AllowedFrameCollisions + ] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["allows", b"allows"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['allows', b'allows']) -> None: - ... global___CollisionSpecification = CollisionSpecification @typing_extensions.final @@ -641,6 +1098,7 @@ class PlanWithStatus(google.protobuf.message.Message): """Describes a plan, its current status & all status changes that have occured previously on that plan """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor PLAN_FIELD_NUMBER: builtins.int STATUS_FIELD_NUMBER: builtins.int @@ -655,17 +1113,31 @@ class PlanWithStatus(google.protobuf.message.Message): """The current status of the plan""" @property - def status_history(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStatus]: + def status_history( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___PlanStatus + ]: """The prior status changes that have happened during plan execution""" - def __init__(self, *, plan: global___Plan | None=..., status: global___PlanStatus | None=..., status_history: collections.abc.Iterable[global___PlanStatus] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['plan', b'plan', 'status', b'status']) -> builtins.bool: - ... + def __init__( + self, + *, + plan: global___Plan | None = ..., + status: global___PlanStatus | None = ..., + status_history: collections.abc.Iterable[global___PlanStatus] | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal["plan", b"plan", "status", b"status"], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "plan", b"plan", "status", b"status", "status_history", b"status_history" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['plan', b'plan', 'status', b'status', 'status_history', b'status_history']) -> None: - ... global___PlanWithStatus = PlanWithStatus @typing_extensions.final @@ -674,13 +1146,14 @@ class PlanStatusWithID(google.protobuf.message.Message): point in time plus the plan_id, component_name and execution_id the status is associated with """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor PLAN_ID_FIELD_NUMBER: builtins.int COMPONENT_NAME_FIELD_NUMBER: builtins.int EXECUTION_ID_FIELD_NUMBER: builtins.int STATUS_FIELD_NUMBER: builtins.int plan_id: builtins.str - 'The unique ID of the plan' + "The unique ID of the plan" @property def component_name(self) -> common.v1.common_pb2.ResourceName: @@ -690,20 +1163,38 @@ class PlanStatusWithID(google.protobuf.message.Message): component_name. """ execution_id: builtins.str - 'The unique ID which identifies the plan execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n ' + "The unique ID which identifies the plan execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning.\n " @property - def status(self) -> global___PlanStatus: - ... + def status(self) -> global___PlanStatus: ... + def __init__( + self, + *, + plan_id: builtins.str = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + execution_id: builtins.str = ..., + status: global___PlanStatus | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "component_name", b"component_name", "status", b"status" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "execution_id", + b"execution_id", + "plan_id", + b"plan_id", + "status", + b"status", + ], + ) -> None: ... - def __init__(self, *, plan_id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., status: global___PlanStatus | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'status', b'status']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'plan_id', b'plan_id', 'status', b'status']) -> None: - ... global___PlanStatusWithID = PlanStatusWithID @typing_extensions.final @@ -711,35 +1202,56 @@ class PlanStatus(google.protobuf.message.Message): """Plan status describes the state of a given plan at a point in time """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor STATE_FIELD_NUMBER: builtins.int TIMESTAMP_FIELD_NUMBER: builtins.int REASON_FIELD_NUMBER: builtins.int state: global___PlanState.ValueType - 'The state of the plan execution' + "The state of the plan execution" @property def timestamp(self) -> google.protobuf.timestamp_pb2.Timestamp: """The time the executing plan transtioned to the state""" reason: builtins.str - 'The reason for the state change. If motion plan failed\n this will return the error message.\n If motion needed to re-plan, this will return\n the re-plan reason.\n ' - - def __init__(self, *, state: global___PlanState.ValueType=..., timestamp: google.protobuf.timestamp_pb2.Timestamp | None=..., reason: builtins.str | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_reason', b'_reason', 'reason', b'reason', 'timestamp', b'timestamp']) -> builtins.bool: - ... + "The reason for the state change. If motion plan failed\n this will return the error message.\n If motion needed to re-plan, this will return\n the re-plan reason.\n " + + def __init__( + self, + *, + state: global___PlanState.ValueType = ..., + timestamp: google.protobuf.timestamp_pb2.Timestamp | None = ..., + reason: builtins.str | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_reason", b"_reason", "reason", b"reason", "timestamp", b"timestamp" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_reason", + b"_reason", + "reason", + b"reason", + "state", + b"state", + "timestamp", + b"timestamp", + ], + ) -> None: ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_reason", b"_reason"] + ) -> typing_extensions.Literal["reason"] | None: ... - def ClearField(self, field_name: typing_extensions.Literal['_reason', b'_reason', 'reason', b'reason', 'state', b'state', 'timestamp', b'timestamp']) -> None: - ... - - def WhichOneof(self, oneof_group: typing_extensions.Literal['_reason', b'_reason']) -> typing_extensions.Literal['reason'] | None: - ... global___PlanStatus = PlanStatus @typing_extensions.final class Plan(google.protobuf.message.Message): """A plan describes a motion plan""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor ID_FIELD_NUMBER: builtins.int COMPONENT_NAME_FIELD_NUMBER: builtins.int @@ -756,20 +1268,41 @@ class Plan(google.protobuf.message.Message): root component. """ execution_id: builtins.str - 'The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning\n ' + "The unique ID which identifies the execution.\n Multiple plans will share the same execution_id if they were\n generated due to replanning\n " @property - def steps(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___PlanStep]: + def steps( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___PlanStep + ]: """The steps of a plan is an ordered list of plan steps""" - def __init__(self, *, id: builtins.str=..., component_name: common.v1.common_pb2.ResourceName | None=..., execution_id: builtins.str=..., steps: collections.abc.Iterable[global___PlanStep] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['component_name', b'component_name']) -> builtins.bool: - ... + def __init__( + self, + *, + id: builtins.str = ..., + component_name: common.v1.common_pb2.ResourceName | None = ..., + execution_id: builtins.str = ..., + steps: collections.abc.Iterable[global___PlanStep] | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["component_name", b"component_name"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_name", + b"component_name", + "execution_id", + b"execution_id", + "id", + b"id", + "steps", + b"steps", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['component_name', b'component_name', 'execution_id', b'execution_id', 'id', b'id', 'steps', b'steps']) -> None: - ... global___Plan = Plan @typing_extensions.final @@ -784,50 +1317,61 @@ class PlanStep(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> global___ComponentState: - ... - - def __init__(self, *, key: builtins.str=..., value: global___ComponentState | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> global___ComponentState: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: global___ComponentState | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... STEP_FIELD_NUMBER: builtins.int @property - def step(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ComponentState]: + def step( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, global___ComponentState + ]: """A step is the component state each component resource should reach while executing that step of the plan. Keys are the fully qualified component name. """ - def __init__(self, *, step: collections.abc.Mapping[builtins.str, global___ComponentState] | None=...) -> None: - ... + def __init__( + self, + *, + step: collections.abc.Mapping[builtins.str, global___ComponentState] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["step", b"step"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['step', b'step']) -> None: - ... global___PlanStep = PlanStep @typing_extensions.final class ComponentState(google.protobuf.message.Message): """A pose""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor POSE_FIELD_NUMBER: builtins.int @property - def pose(self) -> common.v1.common_pb2.Pose: - ... - - def __init__(self, *, pose: common.v1.common_pb2.Pose | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['pose', b'pose']) -> None: - ... -global___ComponentState = ComponentState \ No newline at end of file + def pose(self) -> common.v1.common_pb2.Pose: ... + def __init__(self, *, pose: common.v1.common_pb2.Pose | None = ...) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["pose", b"pose"] + ) -> None: ... + +global___ComponentState = ComponentState diff --git a/src/viam/gen/service/navigation/v1/navigation_grpc.py b/src/viam/gen/service/navigation/v1/navigation_grpc.py index af446e915..f501e4b74 100644 --- a/src/viam/gen/service/navigation/v1/navigation_grpc.py +++ b/src/viam/gen/service/navigation/v1/navigation_grpc.py @@ -1,69 +1,212 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class NavigationServiceBase(abc.ABC): +from .... import common, service + +class NavigationServiceBase(abc.ABC): @abc.abstractmethod - async def GetMode(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetModeRequest, service.navigation.v1.navigation_pb2.GetModeResponse]') -> None: + async def GetMode( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetModeRequest, service.navigation.v1.navigation_pb2.GetModeResponse]", + ) -> None: pass @abc.abstractmethod - async def SetMode(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.SetModeRequest, service.navigation.v1.navigation_pb2.SetModeResponse]') -> None: + async def SetMode( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.SetModeRequest, service.navigation.v1.navigation_pb2.SetModeResponse]", + ) -> None: pass @abc.abstractmethod - async def GetLocation(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetLocationRequest, service.navigation.v1.navigation_pb2.GetLocationResponse]') -> None: + async def GetLocation( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetLocationRequest, service.navigation.v1.navigation_pb2.GetLocationResponse]", + ) -> None: pass @abc.abstractmethod - async def GetWaypoints(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetWaypointsRequest, service.navigation.v1.navigation_pb2.GetWaypointsResponse]') -> None: + async def GetWaypoints( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetWaypointsRequest, service.navigation.v1.navigation_pb2.GetWaypointsResponse]", + ) -> None: pass @abc.abstractmethod - async def AddWaypoint(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.AddWaypointRequest, service.navigation.v1.navigation_pb2.AddWaypointResponse]') -> None: + async def AddWaypoint( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.AddWaypointRequest, service.navigation.v1.navigation_pb2.AddWaypointResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveWaypoint(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.RemoveWaypointRequest, service.navigation.v1.navigation_pb2.RemoveWaypointResponse]') -> None: + async def RemoveWaypoint( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.RemoveWaypointRequest, service.navigation.v1.navigation_pb2.RemoveWaypointResponse]", + ) -> None: pass @abc.abstractmethod - async def GetObstacles(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetObstaclesRequest, service.navigation.v1.navigation_pb2.GetObstaclesResponse]') -> None: + async def GetObstacles( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetObstaclesRequest, service.navigation.v1.navigation_pb2.GetObstaclesResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPaths(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetPathsRequest, service.navigation.v1.navigation_pb2.GetPathsResponse]') -> None: + async def GetPaths( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetPathsRequest, service.navigation.v1.navigation_pb2.GetPathsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetPropertiesRequest, service.navigation.v1.navigation_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[service.navigation.v1.navigation_pb2.GetPropertiesRequest, service.navigation.v1.navigation_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.navigation.v1.NavigationService/GetMode': grpclib.const.Handler(self.GetMode, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetModeRequest, service.navigation.v1.navigation_pb2.GetModeResponse), '/viam.service.navigation.v1.NavigationService/SetMode': grpclib.const.Handler(self.SetMode, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.SetModeRequest, service.navigation.v1.navigation_pb2.SetModeResponse), '/viam.service.navigation.v1.NavigationService/GetLocation': grpclib.const.Handler(self.GetLocation, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetLocationRequest, service.navigation.v1.navigation_pb2.GetLocationResponse), '/viam.service.navigation.v1.NavigationService/GetWaypoints': grpclib.const.Handler(self.GetWaypoints, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetWaypointsRequest, service.navigation.v1.navigation_pb2.GetWaypointsResponse), '/viam.service.navigation.v1.NavigationService/AddWaypoint': grpclib.const.Handler(self.AddWaypoint, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.AddWaypointRequest, service.navigation.v1.navigation_pb2.AddWaypointResponse), '/viam.service.navigation.v1.NavigationService/RemoveWaypoint': grpclib.const.Handler(self.RemoveWaypoint, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.RemoveWaypointRequest, service.navigation.v1.navigation_pb2.RemoveWaypointResponse), '/viam.service.navigation.v1.NavigationService/GetObstacles': grpclib.const.Handler(self.GetObstacles, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetObstaclesRequest, service.navigation.v1.navigation_pb2.GetObstaclesResponse), '/viam.service.navigation.v1.NavigationService/GetPaths': grpclib.const.Handler(self.GetPaths, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetPathsRequest, service.navigation.v1.navigation_pb2.GetPathsResponse), '/viam.service.navigation.v1.NavigationService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, service.navigation.v1.navigation_pb2.GetPropertiesRequest, service.navigation.v1.navigation_pb2.GetPropertiesResponse), '/viam.service.navigation.v1.NavigationService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.navigation.v1.NavigationService/GetMode": grpclib.const.Handler( + self.GetMode, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetModeRequest, + service.navigation.v1.navigation_pb2.GetModeResponse, + ), + "/viam.service.navigation.v1.NavigationService/SetMode": grpclib.const.Handler( + self.SetMode, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.SetModeRequest, + service.navigation.v1.navigation_pb2.SetModeResponse, + ), + "/viam.service.navigation.v1.NavigationService/GetLocation": grpclib.const.Handler( + self.GetLocation, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetLocationRequest, + service.navigation.v1.navigation_pb2.GetLocationResponse, + ), + "/viam.service.navigation.v1.NavigationService/GetWaypoints": grpclib.const.Handler( + self.GetWaypoints, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetWaypointsRequest, + service.navigation.v1.navigation_pb2.GetWaypointsResponse, + ), + "/viam.service.navigation.v1.NavigationService/AddWaypoint": grpclib.const.Handler( + self.AddWaypoint, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.AddWaypointRequest, + service.navigation.v1.navigation_pb2.AddWaypointResponse, + ), + "/viam.service.navigation.v1.NavigationService/RemoveWaypoint": grpclib.const.Handler( + self.RemoveWaypoint, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.RemoveWaypointRequest, + service.navigation.v1.navigation_pb2.RemoveWaypointResponse, + ), + "/viam.service.navigation.v1.NavigationService/GetObstacles": grpclib.const.Handler( + self.GetObstacles, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetObstaclesRequest, + service.navigation.v1.navigation_pb2.GetObstaclesResponse, + ), + "/viam.service.navigation.v1.NavigationService/GetPaths": grpclib.const.Handler( + self.GetPaths, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetPathsRequest, + service.navigation.v1.navigation_pb2.GetPathsResponse, + ), + "/viam.service.navigation.v1.NavigationService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + service.navigation.v1.navigation_pb2.GetPropertiesRequest, + service.navigation.v1.navigation_pb2.GetPropertiesResponse, + ), + "/viam.service.navigation.v1.NavigationService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class NavigationServiceStub: +class NavigationServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetMode = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetMode', service.navigation.v1.navigation_pb2.GetModeRequest, service.navigation.v1.navigation_pb2.GetModeResponse) - self.SetMode = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/SetMode', service.navigation.v1.navigation_pb2.SetModeRequest, service.navigation.v1.navigation_pb2.SetModeResponse) - self.GetLocation = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetLocation', service.navigation.v1.navigation_pb2.GetLocationRequest, service.navigation.v1.navigation_pb2.GetLocationResponse) - self.GetWaypoints = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetWaypoints', service.navigation.v1.navigation_pb2.GetWaypointsRequest, service.navigation.v1.navigation_pb2.GetWaypointsResponse) - self.AddWaypoint = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/AddWaypoint', service.navigation.v1.navigation_pb2.AddWaypointRequest, service.navigation.v1.navigation_pb2.AddWaypointResponse) - self.RemoveWaypoint = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/RemoveWaypoint', service.navigation.v1.navigation_pb2.RemoveWaypointRequest, service.navigation.v1.navigation_pb2.RemoveWaypointResponse) - self.GetObstacles = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetObstacles', service.navigation.v1.navigation_pb2.GetObstaclesRequest, service.navigation.v1.navigation_pb2.GetObstaclesResponse) - self.GetPaths = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetPaths', service.navigation.v1.navigation_pb2.GetPathsRequest, service.navigation.v1.navigation_pb2.GetPathsResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/GetProperties', service.navigation.v1.navigation_pb2.GetPropertiesRequest, service.navigation.v1.navigation_pb2.GetPropertiesResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.navigation.v1.NavigationService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.GetMode = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetMode", + service.navigation.v1.navigation_pb2.GetModeRequest, + service.navigation.v1.navigation_pb2.GetModeResponse, + ) + self.SetMode = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/SetMode", + service.navigation.v1.navigation_pb2.SetModeRequest, + service.navigation.v1.navigation_pb2.SetModeResponse, + ) + self.GetLocation = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetLocation", + service.navigation.v1.navigation_pb2.GetLocationRequest, + service.navigation.v1.navigation_pb2.GetLocationResponse, + ) + self.GetWaypoints = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetWaypoints", + service.navigation.v1.navigation_pb2.GetWaypointsRequest, + service.navigation.v1.navigation_pb2.GetWaypointsResponse, + ) + self.AddWaypoint = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/AddWaypoint", + service.navigation.v1.navigation_pb2.AddWaypointRequest, + service.navigation.v1.navigation_pb2.AddWaypointResponse, + ) + self.RemoveWaypoint = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/RemoveWaypoint", + service.navigation.v1.navigation_pb2.RemoveWaypointRequest, + service.navigation.v1.navigation_pb2.RemoveWaypointResponse, + ) + self.GetObstacles = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetObstacles", + service.navigation.v1.navigation_pb2.GetObstaclesRequest, + service.navigation.v1.navigation_pb2.GetObstaclesResponse, + ) + self.GetPaths = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetPaths", + service.navigation.v1.navigation_pb2.GetPathsRequest, + service.navigation.v1.navigation_pb2.GetPathsResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/GetProperties", + service.navigation.v1.navigation_pb2.GetPropertiesRequest, + service.navigation.v1.navigation_pb2.GetPropertiesResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.navigation.v1.NavigationService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/navigation/v1/navigation_pb2.py b/src/viam/gen/service/navigation/v1/navigation_pb2.py index f370b9afb..18776a663 100644 --- a/src/viam/gen/service/navigation/v1/navigation_pb2.py +++ b/src/viam/gen/service/navigation/v1/navigation_pb2.py @@ -1,38 +1,85 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&service/navigation/v1/navigation.proto\x12\x1aviam.service.navigation.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"S\n\x0eGetModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"G\n\x0fGetModeResponse\x124\n\x04mode\x18\x01 \x01(\x0e2 .viam.service.navigation.v1.ModeR\x04mode"\x89\x01\n\x0eSetModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x04mode\x18\x02 \x01(\x0e2 .viam.service.navigation.v1.ModeR\x04mode\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetModeResponse"P\n\x08Waypoint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x124\n\x08location\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location"W\n\x12GetLocationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"t\n\x13GetLocationResponse\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x12\'\n\x0fcompass_heading\x18\x02 \x01(\x01R\x0ecompassHeading"X\n\x13GetWaypointsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x14GetWaypointsResponse\x12B\n\twaypoints\x18\x01 \x03(\x0b2$.viam.service.navigation.v1.WaypointR\twaypoints"\x8d\x01\n\x12AddWaypointRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x08location\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13AddWaypointResponse"j\n\x15RemoveWaypointRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16RemoveWaypointResponse"X\n\x13GetObstaclesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x14GetObstaclesResponse\x129\n\tobstacles\x18\x01 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles"v\n\x04Path\x126\n\x17destination_waypoint_id\x18\x01 \x01(\tR\x15destinationWaypointId\x126\n\tgeopoints\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeoPointR\tgeopoints"T\n\x0fGetPathsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"J\n\x10GetPathsResponse\x126\n\x05paths\x18\x01 \x03(\x0b2 .viam.service.navigation.v1.PathR\x05paths"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"W\n\x15GetPropertiesResponse\x12>\n\x08map_type\x18\x01 \x01(\x0e2#.viam.service.navigation.v1.MapTypeR\x07mapType*H\n\x07MapType\x12\x18\n\x14MAP_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rMAP_TYPE_NONE\x10\x01\x12\x10\n\x0cMAP_TYPE_GPS\x10\x02*R\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_MANUAL\x10\x01\x12\x11\n\rMODE_WAYPOINT\x10\x02\x12\x10\n\x0cMODE_EXPLORE\x10\x032\x97\r\n\x11NavigationService\x12\x97\x01\n\x07GetMode\x12*.viam.service.navigation.v1.GetModeRequest\x1a+.viam.service.navigation.v1.GetModeResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/navigation/{name}/mode\x12\x97\x01\n\x07SetMode\x12*.viam.service.navigation.v1.SetModeRequest\x1a+.viam.service.navigation.v1.SetModeResponse"3\x82\xd3\xe4\x93\x02-\x1a+/viam/api/v1/service/navigation/{name}/mode\x12\xa7\x01\n\x0bGetLocation\x12..viam.service.navigation.v1.GetLocationRequest\x1a/.viam.service.navigation.v1.GetLocationResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/navigation/{name}/location\x12\xab\x01\n\x0cGetWaypoints\x12/.viam.service.navigation.v1.GetWaypointsRequest\x1a0.viam.service.navigation.v1.GetWaypointsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/waypoints\x12\xa8\x01\n\x0bAddWaypoint\x12..viam.service.navigation.v1.AddWaypointRequest\x1a/.viam.service.navigation.v1.AddWaypointResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/navigation/{name}/waypoints\x12\xb6\x01\n\x0eRemoveWaypoint\x121.viam.service.navigation.v1.RemoveWaypointRequest\x1a2.viam.service.navigation.v1.RemoveWaypointResponse"=\x82\xd3\xe4\x93\x027*5/viam/api/v1/service/navigation/{name}/waypoints/{id}\x12\xaf\x01\n\x0cGetObstacles\x12/.viam.service.navigation.v1.GetObstaclesRequest\x1a0.viam.service.navigation.v1.GetObstaclesResponse"<\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/navigation/{name}/get_obstacles\x12\x9f\x01\n\x08GetPaths\x12+.viam.service.navigation.v1.GetPathsRequest\x1a,.viam.service.navigation.v1.GetPathsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/get_paths\x12\xaf\x01\n\rGetProperties\x120.viam.service.navigation.v1.GetPropertiesRequest\x1a1.viam.service.navigation.v1.GetPropertiesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/navigation/{name}/properties\x12\x8b\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"9\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/navigation/{name}/do_commandBG\n\x1ecom.viam.service.navigation.v1Z%go.viam.com/api/service/navigation/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n&service/navigation/v1/navigation.proto\x12\x1aviam.service.navigation.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"S\n\x0eGetModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"G\n\x0fGetModeResponse\x124\n\x04mode\x18\x01 \x01(\x0e2 .viam.service.navigation.v1.ModeR\x04mode"\x89\x01\n\x0eSetModeRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x04mode\x18\x02 \x01(\x0e2 .viam.service.navigation.v1.ModeR\x04mode\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x11\n\x0fSetModeResponse"P\n\x08Waypoint\x12\x0e\n\x02id\x18\x01 \x01(\tR\x02id\x124\n\x08location\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location"W\n\x12GetLocationRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"t\n\x13GetLocationResponse\x124\n\x08location\x18\x01 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x12\'\n\x0fcompass_heading\x18\x02 \x01(\x01R\x0ecompassHeading"X\n\x13GetWaypointsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x14GetWaypointsResponse\x12B\n\twaypoints\x18\x01 \x03(\x0b2$.viam.service.navigation.v1.WaypointR\twaypoints"\x8d\x01\n\x12AddWaypointRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x124\n\x08location\x18\x02 \x01(\x0b2\x18.viam.common.v1.GeoPointR\x08location\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x15\n\x13AddWaypointResponse"j\n\x15RemoveWaypointRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x0e\n\x02id\x18\x02 \x01(\tR\x02id\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"\x18\n\x16RemoveWaypointResponse"X\n\x13GetObstaclesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Q\n\x14GetObstaclesResponse\x129\n\tobstacles\x18\x01 \x03(\x0b2\x1b.viam.common.v1.GeoObstacleR\tobstacles"v\n\x04Path\x126\n\x17destination_waypoint_id\x18\x01 \x01(\tR\x15destinationWaypointId\x126\n\tgeopoints\x18\x02 \x03(\x0b2\x18.viam.common.v1.GeoPointR\tgeopoints"T\n\x0fGetPathsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"J\n\x10GetPathsResponse\x126\n\x05paths\x18\x01 \x03(\x0b2 .viam.service.navigation.v1.PathR\x05paths"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"W\n\x15GetPropertiesResponse\x12>\n\x08map_type\x18\x01 \x01(\x0e2#.viam.service.navigation.v1.MapTypeR\x07mapType*H\n\x07MapType\x12\x18\n\x14MAP_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rMAP_TYPE_NONE\x10\x01\x12\x10\n\x0cMAP_TYPE_GPS\x10\x02*R\n\x04Mode\x12\x14\n\x10MODE_UNSPECIFIED\x10\x00\x12\x0f\n\x0bMODE_MANUAL\x10\x01\x12\x11\n\rMODE_WAYPOINT\x10\x02\x12\x10\n\x0cMODE_EXPLORE\x10\x032\x97\r\n\x11NavigationService\x12\x97\x01\n\x07GetMode\x12*.viam.service.navigation.v1.GetModeRequest\x1a+.viam.service.navigation.v1.GetModeResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/navigation/{name}/mode\x12\x97\x01\n\x07SetMode\x12*.viam.service.navigation.v1.SetModeRequest\x1a+.viam.service.navigation.v1.SetModeResponse"3\x82\xd3\xe4\x93\x02-\x1a+/viam/api/v1/service/navigation/{name}/mode\x12\xa7\x01\n\x0bGetLocation\x12..viam.service.navigation.v1.GetLocationRequest\x1a/.viam.service.navigation.v1.GetLocationResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/navigation/{name}/location\x12\xab\x01\n\x0cGetWaypoints\x12/.viam.service.navigation.v1.GetWaypointsRequest\x1a0.viam.service.navigation.v1.GetWaypointsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/waypoints\x12\xa8\x01\n\x0bAddWaypoint\x12..viam.service.navigation.v1.AddWaypointRequest\x1a/.viam.service.navigation.v1.AddWaypointResponse"8\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/navigation/{name}/waypoints\x12\xb6\x01\n\x0eRemoveWaypoint\x121.viam.service.navigation.v1.RemoveWaypointRequest\x1a2.viam.service.navigation.v1.RemoveWaypointResponse"=\x82\xd3\xe4\x93\x027*5/viam/api/v1/service/navigation/{name}/waypoints/{id}\x12\xaf\x01\n\x0cGetObstacles\x12/.viam.service.navigation.v1.GetObstaclesRequest\x1a0.viam.service.navigation.v1.GetObstaclesResponse"<\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/navigation/{name}/get_obstacles\x12\x9f\x01\n\x08GetPaths\x12+.viam.service.navigation.v1.GetPathsRequest\x1a,.viam.service.navigation.v1.GetPathsResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/get_paths\x12\xaf\x01\n\rGetProperties\x120.viam.service.navigation.v1.GetPropertiesRequest\x1a1.viam.service.navigation.v1.GetPropertiesResponse"9\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/navigation/{name}/properties\x12\x8b\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"9\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/navigation/{name}/do_commandBG\n\x1ecom.viam.service.navigation.v1Z%go.viam.com/api/service/navigation/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.navigation.v1.navigation_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.navigation.v1.navigation_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1ecom.viam.service.navigation.v1Z%go.viam.com/api/service/navigation/v1' - _NAVIGATIONSERVICE.methods_by_name['GetMode']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetMode']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/navigation/{name}/mode' - _NAVIGATIONSERVICE.methods_by_name['SetMode']._options = None - _NAVIGATIONSERVICE.methods_by_name['SetMode']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x1a+/viam/api/v1/service/navigation/{name}/mode' - _NAVIGATIONSERVICE.methods_by_name['GetLocation']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetLocation']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/navigation/{name}/location' - _NAVIGATIONSERVICE.methods_by_name['GetWaypoints']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetWaypoints']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/waypoints' - _NAVIGATIONSERVICE.methods_by_name['AddWaypoint']._options = None - _NAVIGATIONSERVICE.methods_by_name['AddWaypoint']._serialized_options = b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/navigation/{name}/waypoints' - _NAVIGATIONSERVICE.methods_by_name['RemoveWaypoint']._options = None - _NAVIGATIONSERVICE.methods_by_name['RemoveWaypoint']._serialized_options = b'\x82\xd3\xe4\x93\x027*5/viam/api/v1/service/navigation/{name}/waypoints/{id}' - _NAVIGATIONSERVICE.methods_by_name['GetObstacles']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetObstacles']._serialized_options = b'\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/navigation/{name}/get_obstacles' - _NAVIGATIONSERVICE.methods_by_name['GetPaths']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetPaths']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/get_paths' - _NAVIGATIONSERVICE.methods_by_name['GetProperties']._options = None - _NAVIGATIONSERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/navigation/{name}/properties' - _NAVIGATIONSERVICE.methods_by_name['DoCommand']._options = None - _NAVIGATIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/navigation/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b"\n\x1ecom.viam.service.navigation.v1Z%go.viam.com/api/service/navigation/v1" + ) + _NAVIGATIONSERVICE.methods_by_name["GetMode"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetMode" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/navigation/{name}/mode" + ) + _NAVIGATIONSERVICE.methods_by_name["SetMode"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "SetMode" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x1a+/viam/api/v1/service/navigation/{name}/mode" + ) + _NAVIGATIONSERVICE.methods_by_name["GetLocation"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetLocation" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/navigation/{name}/location" + ) + _NAVIGATIONSERVICE.methods_by_name["GetWaypoints"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetWaypoints" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/waypoints" + ) + _NAVIGATIONSERVICE.methods_by_name["AddWaypoint"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "AddWaypoint" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x022"0/viam/api/v1/service/navigation/{name}/waypoints' + ) + _NAVIGATIONSERVICE.methods_by_name["RemoveWaypoint"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "RemoveWaypoint" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x027*5/viam/api/v1/service/navigation/{name}/waypoints/{id}" + ) + _NAVIGATIONSERVICE.methods_by_name["GetObstacles"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetObstacles" + ]._serialized_options = b"\x82\xd3\xe4\x93\x026\x124/viam/api/v1/service/navigation/{name}/get_obstacles" + _NAVIGATIONSERVICE.methods_by_name["GetPaths"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetPaths" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/navigation/{name}/get_paths" + ) + _NAVIGATIONSERVICE.methods_by_name["GetProperties"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x023\x121/viam/api/v1/service/navigation/{name}/properties" + ) + _NAVIGATIONSERVICE.methods_by_name["DoCommand"]._options = None + _NAVIGATIONSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x023"1/viam/api/v1/service/navigation/{name}/do_command' + ) _MAPTYPE._serialized_start = 1831 _MAPTYPE._serialized_end = 1903 _MODE._serialized_start = 1905 @@ -78,4 +125,4 @@ _GETPROPERTIESRESPONSE._serialized_start = 1742 _GETPROPERTIESRESPONSE._serialized_end = 1829 _NAVIGATIONSERVICE._serialized_start = 1990 - _NAVIGATIONSERVICE._serialized_end = 3677 \ No newline at end of file + _NAVIGATIONSERVICE._serialized_end = 3677 diff --git a/src/viam/gen/service/navigation/v1/navigation_pb2.pyi b/src/viam/gen/service/navigation/v1/navigation_pb2.pyi index f394a7d3e..6d39d0c95 100644 --- a/src/viam/gen/service/navigation/v1/navigation_pb2.pyi +++ b/src/viam/gen/service/navigation/v1/navigation_pb2.pyi @@ -4,14 +4,17 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -19,10 +22,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _MapType: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _MapTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MapType.ValueType], builtins.type): +class _MapTypeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MapType.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor MAP_TYPE_UNSPECIFIED: _MapType.ValueType MAP_TYPE_NONE: _MapType.ValueType @@ -30,24 +36,28 @@ class _MapTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTy class MapType(_MapType, metaclass=_MapTypeEnumTypeWrapper): """MapType represents the various types of maps the navigation service can ingest.""" + MAP_TYPE_UNSPECIFIED: MapType.ValueType MAP_TYPE_NONE: MapType.ValueType MAP_TYPE_GPS: MapType.ValueType global___MapType = MapType class _Mode: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _ModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Mode.ValueType], builtins.type): +class _ModeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_Mode.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor MODE_UNSPECIFIED: _Mode.ValueType MODE_MANUAL: _Mode.ValueType MODE_WAYPOINT: _Mode.ValueType MODE_EXPLORE: _Mode.ValueType -class Mode(_Mode, metaclass=_ModeEnumTypeWrapper): - ... +class Mode(_Mode, metaclass=_ModeEnumTypeWrapper): ... + MODE_UNSPECIFIED: Mode.ValueType MODE_MANUAL: Mode.ValueType MODE_WAYPOINT: Mode.ValueType @@ -65,14 +75,19 @@ class GetModeRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetModeRequest = GetModeRequest @typing_extensions.final @@ -81,11 +96,11 @@ class GetModeResponse(google.protobuf.message.Message): MODE_FIELD_NUMBER: builtins.int mode: global___Mode.ValueType - def __init__(self, *, mode: global___Mode.ValueType=...) -> None: - ... + def __init__(self, *, mode: global___Mode.ValueType = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["mode", b"mode"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['mode', b'mode']) -> None: - ... global___GetModeResponse = GetModeResponse @typing_extensions.final @@ -101,22 +116,31 @@ class SetModeRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., mode: global___Mode.ValueType=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + mode: global___Mode.ValueType = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "mode", b"mode", "name", b"name" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'mode', b'mode', 'name', b'name']) -> None: - ... global___SetModeRequest = SetModeRequest @typing_extensions.final class SetModeResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___SetModeResponse = SetModeResponse @typing_extensions.final @@ -127,17 +151,21 @@ class Waypoint(google.protobuf.message.Message): id: builtins.str @property - def location(self) -> common.v1.common_pb2.GeoPoint: - ... + def location(self) -> common.v1.common_pb2.GeoPoint: ... + def __init__( + self, + *, + id: builtins.str = ..., + location: common.v1.common_pb2.GeoPoint | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["id", b"id", "location", b"location"], + ) -> None: ... - def __init__(self, *, id: builtins.str=..., location: common.v1.common_pb2.GeoPoint | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['id', b'id', 'location', b'location']) -> None: - ... global___Waypoint = Waypoint @typing_extensions.final @@ -151,14 +179,19 @@ class GetLocationRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetLocationRequest = GetLocationRequest @typing_extensions.final @@ -168,19 +201,26 @@ class GetLocationResponse(google.protobuf.message.Message): COMPASS_HEADING_FIELD_NUMBER: builtins.int @property - def location(self) -> common.v1.common_pb2.GeoPoint: - ... + def location(self) -> common.v1.common_pb2.GeoPoint: ... compass_heading: builtins.float - 'A number from [0-360) where 0 is north\n 90 is east, 180 is south, 270 is west\n ' - - def __init__(self, *, location: common.v1.common_pb2.GeoPoint | None=..., compass_heading: builtins.float=...) -> None: - ... + "A number from [0-360) where 0 is north\n 90 is east, 180 is south, 270 is west\n " + + def __init__( + self, + *, + location: common.v1.common_pb2.GeoPoint | None = ..., + compass_heading: builtins.float = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["location", b"location"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "compass_heading", b"compass_heading", "location", b"location" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['location', b'location']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['compass_heading', b'compass_heading', 'location', b'location']) -> None: - ... global___GetLocationResponse = GetLocationResponse @typing_extensions.final @@ -194,14 +234,19 @@ class GetWaypointsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetWaypointsRequest = GetWaypointsRequest @typing_extensions.final @@ -210,14 +255,18 @@ class GetWaypointsResponse(google.protobuf.message.Message): WAYPOINTS_FIELD_NUMBER: builtins.int @property - def waypoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Waypoint]: - ... - - def __init__(self, *, waypoints: collections.abc.Iterable[global___Waypoint] | None=...) -> None: - ... + def waypoints( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Waypoint + ]: ... + def __init__( + self, *, waypoints: collections.abc.Iterable[global___Waypoint] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["waypoints", b"waypoints"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['waypoints', b'waypoints']) -> None: - ... global___GetWaypointsResponse = GetWaypointsResponse @typing_extensions.final @@ -229,29 +278,39 @@ class AddWaypointRequest(google.protobuf.message.Message): name: builtins.str @property - def location(self) -> common.v1.common_pb2.GeoPoint: - ... - + def location(self) -> common.v1.common_pb2.GeoPoint: ... @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., location: common.v1.common_pb2.GeoPoint | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'location', b'location']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + location: common.v1.common_pb2.GeoPoint | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "location", b"location" + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "location", b"location", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'location', b'location', 'name', b'name']) -> None: - ... global___AddWaypointRequest = AddWaypointRequest @typing_extensions.final class AddWaypointResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddWaypointResponse = AddWaypointResponse @typing_extensions.final @@ -267,22 +326,31 @@ class RemoveWaypointRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., id: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + id: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "id", b"id", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'id', b'id', 'name', b'name']) -> None: - ... global___RemoveWaypointRequest = RemoveWaypointRequest @typing_extensions.final class RemoveWaypointResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___RemoveWaypointResponse = RemoveWaypointResponse @typing_extensions.final @@ -292,6 +360,7 @@ class GetObstaclesRequest(google.protobuf.message.Message): through the vision service will only be returned if this endpoint is called when the robot is sensing the obstacle """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int @@ -301,14 +370,19 @@ class GetObstaclesRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetObstaclesRequest = GetObstaclesRequest @typing_extensions.final @@ -317,14 +391,23 @@ class GetObstaclesResponse(google.protobuf.message.Message): OBSTACLES_FIELD_NUMBER: builtins.int @property - def obstacles(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoObstacle]: + def obstacles( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.GeoObstacle + ]: """List of all known geometries""" - def __init__(self, *, obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoObstacle] | None=...) -> None: - ... + def __init__( + self, + *, + obstacles: collections.abc.Iterable[common.v1.common_pb2.GeoObstacle] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["obstacles", b"obstacles"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['obstacles', b'obstacles']) -> None: - ... global___GetObstaclesResponse = GetObstaclesResponse @typing_extensions.final @@ -332,46 +415,66 @@ class Path(google.protobuf.message.Message): """A user provided destination and the set of geopoints that the robot is expected to take to get there """ + DESCRIPTOR: google.protobuf.descriptor.Descriptor DESTINATION_WAYPOINT_ID_FIELD_NUMBER: builtins.int GEOPOINTS_FIELD_NUMBER: builtins.int destination_waypoint_id: builtins.str - 'The id of the user specified waypoint' + "The id of the user specified waypoint" @property - def geopoints(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.GeoPoint]: + def geopoints( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.GeoPoint + ]: """List of geopoints that the motion planner output to reach the destination The first geopoint is the starting position of the robot for that path """ - def __init__(self, *, destination_waypoint_id: builtins.str=..., geopoints: collections.abc.Iterable[common.v1.common_pb2.GeoPoint] | None=...) -> None: - ... + def __init__( + self, + *, + destination_waypoint_id: builtins.str = ..., + geopoints: collections.abc.Iterable[common.v1.common_pb2.GeoPoint] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "destination_waypoint_id", + b"destination_waypoint_id", + "geopoints", + b"geopoints", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['destination_waypoint_id', b'destination_waypoint_id', 'geopoints', b'geopoints']) -> None: - ... global___Path = Path @typing_extensions.final class GetPathsRequest(google.protobuf.message.Message): """Returns all the paths known to the navigation service""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the navigation service' + "Name of the navigation service" @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetPathsRequest = GetPathsRequest @typing_extensions.final @@ -380,14 +483,18 @@ class GetPathsResponse(google.protobuf.message.Message): PATHS_FIELD_NUMBER: builtins.int @property - def paths(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Path]: - ... + def paths( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Path + ]: ... + def __init__( + self, *, paths: collections.abc.Iterable[global___Path] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["paths", b"paths"] + ) -> None: ... - def __init__(self, *, paths: collections.abc.Iterable[global___Path] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['paths', b'paths']) -> None: - ... global___GetPathsResponse = GetPathsResponse @typing_extensions.final @@ -395,25 +502,26 @@ class GetPropertiesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the navigation service' + "Name of the navigation service" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final class GetPropertiesResponse(google.protobuf.message.Message): """Returns properties information for the named navigation service""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor MAP_TYPE_FIELD_NUMBER: builtins.int map_type: global___MapType.ValueType - def __init__(self, *, map_type: global___MapType.ValueType=...) -> None: - ... + def __init__(self, *, map_type: global___MapType.ValueType = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["map_type", b"map_type"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['map_type', b'map_type']) -> None: - ... -global___GetPropertiesResponse = GetPropertiesResponse \ No newline at end of file +global___GetPropertiesResponse = GetPropertiesResponse diff --git a/src/viam/gen/service/sensors/v1/sensors_grpc.py b/src/viam/gen/service/sensors/v1/sensors_grpc.py index 98e85d18d..3deb455c3 100644 --- a/src/viam/gen/service/sensors/v1/sensors_grpc.py +++ b/src/viam/gen/service/sensors/v1/sensors_grpc.py @@ -1,34 +1,79 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class SensorsServiceBase(abc.ABC): +from .... import common, service + +class SensorsServiceBase(abc.ABC): @abc.abstractmethod - async def GetSensors(self, stream: 'grpclib.server.Stream[service.sensors.v1.sensors_pb2.GetSensorsRequest, service.sensors.v1.sensors_pb2.GetSensorsResponse]') -> None: + async def GetSensors( + self, + stream: "grpclib.server.Stream[service.sensors.v1.sensors_pb2.GetSensorsRequest, service.sensors.v1.sensors_pb2.GetSensorsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetReadings(self, stream: 'grpclib.server.Stream[service.sensors.v1.sensors_pb2.GetReadingsRequest, service.sensors.v1.sensors_pb2.GetReadingsResponse]') -> None: + async def GetReadings( + self, + stream: "grpclib.server.Stream[service.sensors.v1.sensors_pb2.GetReadingsRequest, service.sensors.v1.sensors_pb2.GetReadingsResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.sensors.v1.SensorsService/GetSensors': grpclib.const.Handler(self.GetSensors, grpclib.const.Cardinality.UNARY_UNARY, service.sensors.v1.sensors_pb2.GetSensorsRequest, service.sensors.v1.sensors_pb2.GetSensorsResponse), '/viam.service.sensors.v1.SensorsService/GetReadings': grpclib.const.Handler(self.GetReadings, grpclib.const.Cardinality.UNARY_UNARY, service.sensors.v1.sensors_pb2.GetReadingsRequest, service.sensors.v1.sensors_pb2.GetReadingsResponse), '/viam.service.sensors.v1.SensorsService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.sensors.v1.SensorsService/GetSensors": grpclib.const.Handler( + self.GetSensors, + grpclib.const.Cardinality.UNARY_UNARY, + service.sensors.v1.sensors_pb2.GetSensorsRequest, + service.sensors.v1.sensors_pb2.GetSensorsResponse, + ), + "/viam.service.sensors.v1.SensorsService/GetReadings": grpclib.const.Handler( + self.GetReadings, + grpclib.const.Cardinality.UNARY_UNARY, + service.sensors.v1.sensors_pb2.GetReadingsRequest, + service.sensors.v1.sensors_pb2.GetReadingsResponse, + ), + "/viam.service.sensors.v1.SensorsService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class SensorsServiceStub: +class SensorsServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetSensors = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.sensors.v1.SensorsService/GetSensors', service.sensors.v1.sensors_pb2.GetSensorsRequest, service.sensors.v1.sensors_pb2.GetSensorsResponse) - self.GetReadings = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.sensors.v1.SensorsService/GetReadings', service.sensors.v1.sensors_pb2.GetReadingsRequest, service.sensors.v1.sensors_pb2.GetReadingsResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.sensors.v1.SensorsService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.GetSensors = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.sensors.v1.SensorsService/GetSensors", + service.sensors.v1.sensors_pb2.GetSensorsRequest, + service.sensors.v1.sensors_pb2.GetSensorsResponse, + ) + self.GetReadings = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.sensors.v1.SensorsService/GetReadings", + service.sensors.v1.sensors_pb2.GetReadingsRequest, + service.sensors.v1.sensors_pb2.GetReadingsResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.sensors.v1.SensorsService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/sensors/v1/sensors_pb2.py b/src/viam/gen/service/sensors/v1/sensors_pb2.py index 8c4fac9dd..aca20e267 100644 --- a/src/viam/gen/service/sensors/v1/sensors_pb2.py +++ b/src/viam/gen/service/sensors/v1/sensors_pb2.py @@ -1,54 +1,69 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n service/sensors/v1/sensors.proto\x12\x17viam.service.sensors.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"b\n\x11GetSensorsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"]\n\x12GetSensorsResponse\x12C\n\x0csensor_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames:\x02\x18\x01"\xa8\x01\n\x12GetReadingsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x12C\n\x0csensor_names\x18\x02 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"\xea\x01\n\x08Readings\x124\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x04name\x12O\n\x08readings\x18\x02 \x03(\x0b2/.viam.service.sensors.v1.Readings.ReadingsEntryB\x02\x18\x01R\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01:\x02\x18\x01"\\\n\x13GetReadingsResponse\x12A\n\x08readings\x18\x01 \x03(\x0b2!.viam.service.sensors.v1.ReadingsB\x02\x18\x01R\x08readings:\x02\x18\x012\xda\x03\n\x0eSensorsService\x12\x95\x01\n\nGetSensors\x12*.viam.service.sensors.v1.GetSensorsRequest\x1a+.viam.service.sensors.v1.GetSensorsResponse".\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors\x12\xa1\x01\n\x0bGetReadings\x12+.viam.service.sensors.v1.GetReadingsRequest\x1a,.viam.service.sensors.v1.GetReadingsResponse"7\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings\x12\x8b\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"9\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_commandBD\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1\xb8\x01\x01b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n service/sensors/v1/sensors.proto\x12\x17viam.service.sensors.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"b\n\x11GetSensorsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"]\n\x12GetSensorsResponse\x12C\n\x0csensor_names\x18\x01 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames:\x02\x18\x01"\xa8\x01\n\x12GetReadingsRequest\x12\x16\n\x04name\x18\x01 \x01(\tB\x02\x18\x01R\x04name\x12C\n\x0csensor_names\x18\x02 \x03(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x0bsensorNames\x121\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructB\x02\x18\x01R\x05extra:\x02\x18\x01"\xea\x01\n\x08Readings\x124\n\x04name\x18\x01 \x01(\x0b2\x1c.viam.common.v1.ResourceNameB\x02\x18\x01R\x04name\x12O\n\x08readings\x18\x02 \x03(\x0b2/.viam.service.sensors.v1.Readings.ReadingsEntryB\x02\x18\x01R\x08readings\x1aS\n\rReadingsEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12,\n\x05value\x18\x02 \x01(\x0b2\x16.google.protobuf.ValueR\x05value:\x028\x01:\x02\x18\x01"\\\n\x13GetReadingsResponse\x12A\n\x08readings\x18\x01 \x03(\x0b2!.viam.service.sensors.v1.ReadingsB\x02\x18\x01R\x08readings:\x02\x18\x012\xda\x03\n\x0eSensorsService\x12\x95\x01\n\nGetSensors\x12*.viam.service.sensors.v1.GetSensorsRequest\x1a+.viam.service.sensors.v1.GetSensorsResponse".\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors\x12\xa1\x01\n\x0bGetReadings\x12+.viam.service.sensors.v1.GetReadingsRequest\x1a,.viam.service.sensors.v1.GetReadingsResponse"7\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings\x12\x8b\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"9\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_commandBD\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1\xb8\x01\x01b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.sensors.v1.sensors_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.sensors.v1.sensors_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None DESCRIPTOR._serialized_options = b'\n\x1bcom.viam.service.sensors.v1Z"go.viam.com/api/service/sensors/v1\xb8\x01\x01' - _GETSENSORSREQUEST.fields_by_name['name']._options = None - _GETSENSORSREQUEST.fields_by_name['name']._serialized_options = b'\x18\x01' - _GETSENSORSREQUEST.fields_by_name['extra']._options = None - _GETSENSORSREQUEST.fields_by_name['extra']._serialized_options = b'\x18\x01' + _GETSENSORSREQUEST.fields_by_name["name"]._options = None + _GETSENSORSREQUEST.fields_by_name["name"]._serialized_options = b"\x18\x01" + _GETSENSORSREQUEST.fields_by_name["extra"]._options = None + _GETSENSORSREQUEST.fields_by_name["extra"]._serialized_options = b"\x18\x01" _GETSENSORSREQUEST._options = None - _GETSENSORSREQUEST._serialized_options = b'\x18\x01' - _GETSENSORSRESPONSE.fields_by_name['sensor_names']._options = None - _GETSENSORSRESPONSE.fields_by_name['sensor_names']._serialized_options = b'\x18\x01' + _GETSENSORSREQUEST._serialized_options = b"\x18\x01" + _GETSENSORSRESPONSE.fields_by_name["sensor_names"]._options = None + _GETSENSORSRESPONSE.fields_by_name["sensor_names"]._serialized_options = b"\x18\x01" _GETSENSORSRESPONSE._options = None - _GETSENSORSRESPONSE._serialized_options = b'\x18\x01' - _GETREADINGSREQUEST.fields_by_name['name']._options = None - _GETREADINGSREQUEST.fields_by_name['name']._serialized_options = b'\x18\x01' - _GETREADINGSREQUEST.fields_by_name['sensor_names']._options = None - _GETREADINGSREQUEST.fields_by_name['sensor_names']._serialized_options = b'\x18\x01' - _GETREADINGSREQUEST.fields_by_name['extra']._options = None - _GETREADINGSREQUEST.fields_by_name['extra']._serialized_options = b'\x18\x01' + _GETSENSORSRESPONSE._serialized_options = b"\x18\x01" + _GETREADINGSREQUEST.fields_by_name["name"]._options = None + _GETREADINGSREQUEST.fields_by_name["name"]._serialized_options = b"\x18\x01" + _GETREADINGSREQUEST.fields_by_name["sensor_names"]._options = None + _GETREADINGSREQUEST.fields_by_name["sensor_names"]._serialized_options = b"\x18\x01" + _GETREADINGSREQUEST.fields_by_name["extra"]._options = None + _GETREADINGSREQUEST.fields_by_name["extra"]._serialized_options = b"\x18\x01" _GETREADINGSREQUEST._options = None - _GETREADINGSREQUEST._serialized_options = b'\x18\x01' + _GETREADINGSREQUEST._serialized_options = b"\x18\x01" _READINGS_READINGSENTRY._options = None - _READINGS_READINGSENTRY._serialized_options = b'8\x01' - _READINGS.fields_by_name['name']._options = None - _READINGS.fields_by_name['name']._serialized_options = b'\x18\x01' - _READINGS.fields_by_name['readings']._options = None - _READINGS.fields_by_name['readings']._serialized_options = b'\x18\x01' + _READINGS_READINGSENTRY._serialized_options = b"8\x01" + _READINGS.fields_by_name["name"]._options = None + _READINGS.fields_by_name["name"]._serialized_options = b"\x18\x01" + _READINGS.fields_by_name["readings"]._options = None + _READINGS.fields_by_name["readings"]._serialized_options = b"\x18\x01" _READINGS._options = None - _READINGS._serialized_options = b'\x18\x01' - _GETREADINGSRESPONSE.fields_by_name['readings']._options = None - _GETREADINGSRESPONSE.fields_by_name['readings']._serialized_options = b'\x18\x01' + _READINGS._serialized_options = b"\x18\x01" + _GETREADINGSRESPONSE.fields_by_name["readings"]._options = None + _GETREADINGSRESPONSE.fields_by_name["readings"]._serialized_options = b"\x18\x01" _GETREADINGSRESPONSE._options = None - _GETREADINGSRESPONSE._serialized_options = b'\x18\x01' - _SENSORSSERVICE.methods_by_name['GetSensors']._options = None - _SENSORSSERVICE.methods_by_name['GetSensors']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors' - _SENSORSSERVICE.methods_by_name['GetReadings']._options = None - _SENSORSSERVICE.methods_by_name['GetReadings']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings' - _SENSORSSERVICE.methods_by_name['DoCommand']._options = None - _SENSORSSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_command' + _GETREADINGSRESPONSE._serialized_options = b"\x18\x01" + _SENSORSSERVICE.methods_by_name["GetSensors"]._options = None + _SENSORSSERVICE.methods_by_name[ + "GetSensors" + ]._serialized_options = ( + b"\x88\x02\x01\x82\xd3\xe4\x93\x02%\x12#/viam/api/v1/service/{name}/sensors" + ) + _SENSORSSERVICE.methods_by_name["GetReadings"]._options = None + _SENSORSSERVICE.methods_by_name[ + "GetReadings" + ]._serialized_options = b"\x88\x02\x01\x82\xd3\xe4\x93\x02.\x12,/viam/api/v1/service/sensors/{name}/readings" + _SENSORSSERVICE.methods_by_name["DoCommand"]._options = None + _SENSORSSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = b'\x88\x02\x01\x82\xd3\xe4\x93\x020"./viam/api/v1/service/sensors/{name}/do_command' _GETSENSORSREQUEST._serialized_start = 145 _GETSENSORSREQUEST._serialized_end = 243 _GETSENSORSRESPONSE._serialized_start = 245 @@ -62,4 +77,4 @@ _GETREADINGSRESPONSE._serialized_start = 748 _GETREADINGSRESPONSE._serialized_end = 840 _SENSORSSERVICE._serialized_start = 843 - _SENSORSSERVICE._serialized_end = 1317 \ No newline at end of file + _SENSORSSERVICE._serialized_end = 1317 diff --git a/src/viam/gen/service/sensors/v1/sensors_pb2.pyi b/src/viam/gen/service/sensors/v1/sensors_pb2.pyi index 92dee1fa9..0a4be6e52 100644 --- a/src/viam/gen/service/sensors/v1/sensors_pb2.pyi +++ b/src/viam/gen/service/sensors/v1/sensors_pb2.pyi @@ -4,12 +4,15 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 -import sys + +from .... import common + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -19,6 +22,7 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing_extensions.final class GetSensorsRequest(google.protobuf.message.Message): """The sensors service messages are deprecated""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int @@ -28,14 +32,19 @@ class GetSensorsRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, field_name: typing_extensions.Literal["extra", b"extra", "name", b"name"] + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name']) -> None: - ... global___GetSensorsRequest = GetSensorsRequest @typing_extensions.final @@ -44,14 +53,21 @@ class GetSensorsResponse(google.protobuf.message.Message): SENSOR_NAMES_FIELD_NUMBER: builtins.int @property - def sensor_names(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.ResourceName]: - ... - - def __init__(self, *, sensor_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] | None=...) -> None: - ... + def sensor_names( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.ResourceName + ]: ... + def __init__( + self, + *, + sensor_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] + | None = ..., + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["sensor_names", b"sensor_names"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['sensor_names', b'sensor_names']) -> None: - ... global___GetSensorsResponse = GetSensorsResponse @typing_extensions.final @@ -63,21 +79,33 @@ class GetReadingsRequest(google.protobuf.message.Message): name: builtins.str @property - def sensor_names(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.ResourceName]: - ... - + def sensor_names( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.ResourceName + ]: ... @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., sensor_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] | None=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + sensor_names: collections.abc.Iterable[common.v1.common_pb2.ResourceName] + | None = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", b"extra", "name", b"name", "sensor_names", b"sensor_names" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'name', b'name', 'sensor_names', b'sensor_names']) -> None: - ... global___GetReadingsRequest = GetReadingsRequest @typing_extensions.final @@ -92,36 +120,48 @@ class Readings(google.protobuf.message.Message): key: builtins.str @property - def value(self) -> google.protobuf.struct_pb2.Value: - ... - - def __init__(self, *, key: builtins.str=..., value: google.protobuf.struct_pb2.Value | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['value', b'value']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['key', b'key', 'value', b'value']) -> None: - ... + def value(self) -> google.protobuf.struct_pb2.Value: ... + def __init__( + self, + *, + key: builtins.str = ..., + value: google.protobuf.struct_pb2.Value | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["value", b"value"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["key", b"key", "value", b"value"], + ) -> None: ... NAME_FIELD_NUMBER: builtins.int READINGS_FIELD_NUMBER: builtins.int @property - def name(self) -> common.v1.common_pb2.ResourceName: - ... - + def name(self) -> common.v1.common_pb2.ResourceName: ... @property - def readings(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, google.protobuf.struct_pb2.Value]: - ... - - def __init__(self, *, name: common.v1.common_pb2.ResourceName | None=..., readings: collections.abc.Mapping[builtins.str, google.protobuf.struct_pb2.Value] | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['name', b'name']) -> builtins.bool: - ... + def readings( + self, + ) -> google.protobuf.internal.containers.MessageMap[ + builtins.str, google.protobuf.struct_pb2.Value + ]: ... + def __init__( + self, + *, + name: common.v1.common_pb2.ResourceName | None = ..., + readings: collections.abc.Mapping[ + builtins.str, google.protobuf.struct_pb2.Value + ] + | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal["name", b"name", "readings", b"readings"], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name', 'readings', b'readings']) -> None: - ... global___Readings = Readings @typing_extensions.final @@ -130,12 +170,16 @@ class GetReadingsResponse(google.protobuf.message.Message): READINGS_FIELD_NUMBER: builtins.int @property - def readings(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Readings]: - ... - - def __init__(self, *, readings: collections.abc.Iterable[global___Readings] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['readings', b'readings']) -> None: - ... -global___GetReadingsResponse = GetReadingsResponse \ No newline at end of file + def readings( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Readings + ]: ... + def __init__( + self, *, readings: collections.abc.Iterable[global___Readings] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["readings", b"readings"] + ) -> None: ... + +global___GetReadingsResponse = GetReadingsResponse diff --git a/src/viam/gen/service/shell/v1/shell_grpc.py b/src/viam/gen/service/shell/v1/shell_grpc.py index f3f63d8a8..cb46ed293 100644 --- a/src/viam/gen/service/shell/v1/shell_grpc.py +++ b/src/viam/gen/service/shell/v1/shell_grpc.py @@ -1,29 +1,60 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class ShellServiceBase(abc.ABC): +from .... import common, service + +class ShellServiceBase(abc.ABC): @abc.abstractmethod - async def Shell(self, stream: 'grpclib.server.Stream[service.shell.v1.shell_pb2.ShellRequest, service.shell.v1.shell_pb2.ShellResponse]') -> None: + async def Shell( + self, + stream: "grpclib.server.Stream[service.shell.v1.shell_pb2.ShellRequest, service.shell.v1.shell_pb2.ShellResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.shell.v1.ShellService/Shell': grpclib.const.Handler(self.Shell, grpclib.const.Cardinality.STREAM_STREAM, service.shell.v1.shell_pb2.ShellRequest, service.shell.v1.shell_pb2.ShellResponse), '/viam.service.shell.v1.ShellService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.shell.v1.ShellService/Shell": grpclib.const.Handler( + self.Shell, + grpclib.const.Cardinality.STREAM_STREAM, + service.shell.v1.shell_pb2.ShellRequest, + service.shell.v1.shell_pb2.ShellResponse, + ), + "/viam.service.shell.v1.ShellService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class ShellServiceStub: +class ShellServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.Shell = grpclib.client.StreamStreamMethod(channel, '/viam.service.shell.v1.ShellService/Shell', service.shell.v1.shell_pb2.ShellRequest, service.shell.v1.shell_pb2.ShellResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.shell.v1.ShellService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.Shell = grpclib.client.StreamStreamMethod( + channel, + "/viam.service.shell.v1.ShellService/Shell", + service.shell.v1.shell_pb2.ShellRequest, + service.shell.v1.shell_pb2.ShellResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.shell.v1.ShellService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/shell/v1/shell_pb2.py b/src/viam/gen/service/shell/v1/shell_pb2.py index 067ff46e8..d9159c356 100644 --- a/src/viam/gen/service/shell/v1/shell_pb2.py +++ b/src/viam/gen/service/shell/v1/shell_pb2.py @@ -1,23 +1,36 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1cservice/shell/v1/shell.proto\x12\x15viam.service.shell.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"j\n\x0cShellRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x07data_in\x18\x02 \x01(\tR\x06dataIn\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\rShellResponse\x12\x19\n\x08data_out\x18\x01 \x01(\tR\x07dataOut\x12\x19\n\x08data_err\x18\x02 \x01(\tR\x07dataErr\x12\x10\n\x03eof\x18\x03 \x01(\x08R\x03eof2\xef\x01\n\x0cShellService\x12V\n\x05Shell\x12#.viam.service.shell.v1.ShellRequest\x1a$.viam.service.shell.v1.ShellResponse(\x010\x01\x12\x86\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"4\x82\xd3\xe4\x93\x02.",/viam/api/v1/service/shell/{name}/do_commandB=\n\x19com.viam.service.shell.v1Z go.viam.com/api/service/shell/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1cservice/shell/v1/shell.proto\x12\x15viam.service.shell.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"j\n\x0cShellRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x17\n\x07data_in\x18\x02 \x01(\tR\x06dataIn\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"W\n\rShellResponse\x12\x19\n\x08data_out\x18\x01 \x01(\tR\x07dataOut\x12\x19\n\x08data_err\x18\x02 \x01(\tR\x07dataErr\x12\x10\n\x03eof\x18\x03 \x01(\x08R\x03eof2\xef\x01\n\x0cShellService\x12V\n\x05Shell\x12#.viam.service.shell.v1.ShellRequest\x1a$.viam.service.shell.v1.ShellResponse(\x010\x01\x12\x86\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"4\x82\xd3\xe4\x93\x02.",/viam/api/v1/service/shell/{name}/do_commandB=\n\x19com.viam.service.shell.v1Z go.viam.com/api/service/shell/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.shell.v1.shell_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.shell.v1.shell_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x19com.viam.service.shell.v1Z go.viam.com/api/service/shell/v1' - _SHELLSERVICE.methods_by_name['DoCommand']._options = None - _SHELLSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02.",/viam/api/v1/service/shell/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b"\n\x19com.viam.service.shell.v1Z go.viam.com/api/service/shell/v1" + ) + _SHELLSERVICE.methods_by_name["DoCommand"]._options = None + _SHELLSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02.",/viam/api/v1/service/shell/{name}/do_command' + ) _SHELLREQUEST._serialized_start = 139 _SHELLREQUEST._serialized_end = 245 _SHELLRESPONSE._serialized_start = 247 _SHELLRESPONSE._serialized_end = 334 _SHELLSERVICE._serialized_start = 337 - _SHELLSERVICE._serialized_end = 576 \ No newline at end of file + _SHELLSERVICE._serialized_end = 576 diff --git a/src/viam/gen/service/shell/v1/shell_pb2.pyi b/src/viam/gen/service/shell/v1/shell_pb2.pyi index 35fee2edd..0df006b1e 100644 --- a/src/viam/gen/service/shell/v1/shell_pb2.pyi +++ b/src/viam/gen/service/shell/v1/shell_pb2.pyi @@ -3,10 +3,12 @@ isort:skip_file """ import builtins +import sys + import google.protobuf.descriptor import google.protobuf.message import google.protobuf.struct_pb2 -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -26,14 +28,23 @@ class ShellRequest(google.protobuf.message.Message): def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., data_in: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + data_in: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "data_in", b"data_in", "extra", b"extra", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data_in', b'data_in', 'extra', b'extra', 'name', b'name']) -> None: - ... global___ShellRequest = ShellRequest @typing_extensions.final @@ -46,9 +57,18 @@ class ShellResponse(google.protobuf.message.Message): data_err: builtins.str eof: builtins.bool - def __init__(self, *, data_out: builtins.str=..., data_err: builtins.str=..., eof: builtins.bool=...) -> None: - ... + def __init__( + self, + *, + data_out: builtins.str = ..., + data_err: builtins.str = ..., + eof: builtins.bool = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "data_err", b"data_err", "data_out", b"data_out", "eof", b"eof" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['data_err', b'data_err', 'data_out', b'data_out', 'eof', b'eof']) -> None: - ... -global___ShellResponse = ShellResponse \ No newline at end of file +global___ShellResponse = ShellResponse diff --git a/src/viam/gen/service/slam/v1/slam_grpc.py b/src/viam/gen/service/slam/v1/slam_grpc.py index 567cd9b39..76d4adffa 100644 --- a/src/viam/gen/service/slam/v1/slam_grpc.py +++ b/src/viam/gen/service/slam/v1/slam_grpc.py @@ -1,44 +1,117 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class SLAMServiceBase(abc.ABC): +from .... import common, service + +class SLAMServiceBase(abc.ABC): @abc.abstractmethod - async def GetPosition(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse]') -> None: + async def GetPosition( + self, + stream: "grpclib.server.Stream[service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse]", + ) -> None: pass @abc.abstractmethod - async def GetPointCloudMap(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse]') -> None: + async def GetPointCloudMap( + self, + stream: "grpclib.server.Stream[service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse]", + ) -> None: pass @abc.abstractmethod - async def GetInternalState(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse]') -> None: + async def GetInternalState( + self, + stream: "grpclib.server.Stream[service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse]", + ) -> None: pass @abc.abstractmethod - async def GetProperties(self, stream: 'grpclib.server.Stream[service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse]') -> None: + async def GetProperties( + self, + stream: "grpclib.server.Stream[service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.slam.v1.SLAMService/GetPosition': grpclib.const.Handler(self.GetPosition, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse), '/viam.service.slam.v1.SLAMService/GetPointCloudMap': grpclib.const.Handler(self.GetPointCloudMap, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse), '/viam.service.slam.v1.SLAMService/GetInternalState': grpclib.const.Handler(self.GetInternalState, grpclib.const.Cardinality.UNARY_STREAM, service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse), '/viam.service.slam.v1.SLAMService/GetProperties': grpclib.const.Handler(self.GetProperties, grpclib.const.Cardinality.UNARY_UNARY, service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse), '/viam.service.slam.v1.SLAMService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.slam.v1.SLAMService/GetPosition": grpclib.const.Handler( + self.GetPosition, + grpclib.const.Cardinality.UNARY_UNARY, + service.slam.v1.slam_pb2.GetPositionRequest, + service.slam.v1.slam_pb2.GetPositionResponse, + ), + "/viam.service.slam.v1.SLAMService/GetPointCloudMap": grpclib.const.Handler( + self.GetPointCloudMap, + grpclib.const.Cardinality.UNARY_STREAM, + service.slam.v1.slam_pb2.GetPointCloudMapRequest, + service.slam.v1.slam_pb2.GetPointCloudMapResponse, + ), + "/viam.service.slam.v1.SLAMService/GetInternalState": grpclib.const.Handler( + self.GetInternalState, + grpclib.const.Cardinality.UNARY_STREAM, + service.slam.v1.slam_pb2.GetInternalStateRequest, + service.slam.v1.slam_pb2.GetInternalStateResponse, + ), + "/viam.service.slam.v1.SLAMService/GetProperties": grpclib.const.Handler( + self.GetProperties, + grpclib.const.Cardinality.UNARY_UNARY, + service.slam.v1.slam_pb2.GetPropertiesRequest, + service.slam.v1.slam_pb2.GetPropertiesResponse, + ), + "/viam.service.slam.v1.SLAMService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class SLAMServiceStub: +class SLAMServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetPosition = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetPosition', service.slam.v1.slam_pb2.GetPositionRequest, service.slam.v1.slam_pb2.GetPositionResponse) - self.GetPointCloudMap = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetPointCloudMap', service.slam.v1.slam_pb2.GetPointCloudMapRequest, service.slam.v1.slam_pb2.GetPointCloudMapResponse) - self.GetInternalState = grpclib.client.UnaryStreamMethod(channel, '/viam.service.slam.v1.SLAMService/GetInternalState', service.slam.v1.slam_pb2.GetInternalStateRequest, service.slam.v1.slam_pb2.GetInternalStateResponse) - self.GetProperties = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/GetProperties', service.slam.v1.slam_pb2.GetPropertiesRequest, service.slam.v1.slam_pb2.GetPropertiesResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.slam.v1.SLAMService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.GetPosition = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.slam.v1.SLAMService/GetPosition", + service.slam.v1.slam_pb2.GetPositionRequest, + service.slam.v1.slam_pb2.GetPositionResponse, + ) + self.GetPointCloudMap = grpclib.client.UnaryStreamMethod( + channel, + "/viam.service.slam.v1.SLAMService/GetPointCloudMap", + service.slam.v1.slam_pb2.GetPointCloudMapRequest, + service.slam.v1.slam_pb2.GetPointCloudMapResponse, + ) + self.GetInternalState = grpclib.client.UnaryStreamMethod( + channel, + "/viam.service.slam.v1.SLAMService/GetInternalState", + service.slam.v1.slam_pb2.GetInternalStateRequest, + service.slam.v1.slam_pb2.GetInternalStateResponse, + ) + self.GetProperties = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.slam.v1.SLAMService/GetProperties", + service.slam.v1.slam_pb2.GetPropertiesRequest, + service.slam.v1.slam_pb2.GetPropertiesResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.slam.v1.SLAMService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/slam/v1/slam_pb2.py b/src/viam/gen/service/slam/v1/slam_pb2.py index 5b4da01bc..2580e914f 100644 --- a/src/viam/gen/service/slam/v1/slam_pb2.py +++ b/src/viam/gen/service/slam/v1/slam_pb2.py @@ -1,28 +1,57 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1aservice/slam/v1/slam.proto\x12\x14viam.service.slam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"(\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9f\x01\n\x13GetPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose\x12/\n\x13component_reference\x18\x02 \x01(\tR\x12componentReference\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x17GetPointCloudMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"M\n\x18GetPointCloudMapResponse\x121\n\x15point_cloud_pcd_chunk\x18\x01 \x01(\x0cR\x12pointCloudPcdChunk"-\n\x17GetInternalStateRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"L\n\x18GetInternalStateResponse\x120\n\x14internal_state_chunk\x18\x01 \x01(\x0cR\x12internalStateChunk"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"|\n\x15GetPropertiesResponse\x12\x1d\n\ncloud_slam\x18\x01 \x01(\x08R\tcloudSlam\x12D\n\x0cmapping_mode\x18\x02 \x01(\x0e2!.viam.service.slam.v1.MappingModeR\x0bmappingMode*\x92\x01\n\x0bMappingMode\x12\x1c\n\x18MAPPING_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bMAPPING_MODE_CREATE_NEW_MAP\x10\x01\x12\x1e\n\x1aMAPPING_MODE_LOCALIZE_ONLY\x10\x02\x12$\n MAPPING_MODE_UPDATE_EXISTING_MAP\x10\x032\xac\x06\n\x0bSLAMService\x12\x95\x01\n\x0bGetPosition\x12(.viam.service.slam.v1.GetPositionRequest\x1a).viam.service.slam.v1.GetPositionResponse"1\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position\x12\xad\x01\n\x10GetPointCloudMap\x12-.viam.service.slam.v1.GetPointCloudMapRequest\x1a..viam.service.slam.v1.GetPointCloudMapResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map0\x01\x12\xac\x01\n\x10GetInternalState\x12-.viam.service.slam.v1.GetInternalStateRequest\x1a..viam.service.slam.v1.GetInternalStateResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state0\x01\x12\x9d\x01\n\rGetProperties\x12*.viam.service.slam.v1.GetPropertiesRequest\x1a+.viam.service.slam.v1.GetPropertiesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties\x12\x85\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_commandB;\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1aservice/slam/v1/slam.proto\x12\x14viam.service.slam.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"(\n\x12GetPositionRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x9f\x01\n\x13GetPositionResponse\x12(\n\x04pose\x18\x01 \x01(\x0b2\x14.viam.common.v1.PoseR\x04pose\x12/\n\x13component_reference\x18\x02 \x01(\tR\x12componentReference\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"-\n\x17GetPointCloudMapRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"M\n\x18GetPointCloudMapResponse\x121\n\x15point_cloud_pcd_chunk\x18\x01 \x01(\x0cR\x12pointCloudPcdChunk"-\n\x17GetInternalStateRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"L\n\x18GetInternalStateResponse\x120\n\x14internal_state_chunk\x18\x01 \x01(\x0cR\x12internalStateChunk"*\n\x14GetPropertiesRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"|\n\x15GetPropertiesResponse\x12\x1d\n\ncloud_slam\x18\x01 \x01(\x08R\tcloudSlam\x12D\n\x0cmapping_mode\x18\x02 \x01(\x0e2!.viam.service.slam.v1.MappingModeR\x0bmappingMode*\x92\x01\n\x0bMappingMode\x12\x1c\n\x18MAPPING_MODE_UNSPECIFIED\x10\x00\x12\x1f\n\x1bMAPPING_MODE_CREATE_NEW_MAP\x10\x01\x12\x1e\n\x1aMAPPING_MODE_LOCALIZE_ONLY\x10\x02\x12$\n MAPPING_MODE_UPDATE_EXISTING_MAP\x10\x032\xac\x06\n\x0bSLAMService\x12\x95\x01\n\x0bGetPosition\x12(.viam.service.slam.v1.GetPositionRequest\x1a).viam.service.slam.v1.GetPositionResponse"1\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position\x12\xad\x01\n\x10GetPointCloudMap\x12-.viam.service.slam.v1.GetPointCloudMapRequest\x1a..viam.service.slam.v1.GetPointCloudMapResponse"8\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map0\x01\x12\xac\x01\n\x10GetInternalState\x12-.viam.service.slam.v1.GetInternalStateRequest\x1a..viam.service.slam.v1.GetInternalStateResponse"7\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state0\x01\x12\x9d\x01\n\rGetProperties\x12*.viam.service.slam.v1.GetPropertiesRequest\x1a+.viam.service.slam.v1.GetPropertiesResponse"3\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties\x12\x85\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"3\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_commandB;\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.slam.v1.slam_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.slam.v1.slam_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1' - _SLAMSERVICE.methods_by_name['GetPosition']._options = None - _SLAMSERVICE.methods_by_name['GetPosition']._serialized_options = b'\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position' - _SLAMSERVICE.methods_by_name['GetPointCloudMap']._options = None - _SLAMSERVICE.methods_by_name['GetPointCloudMap']._serialized_options = b'\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map' - _SLAMSERVICE.methods_by_name['GetInternalState']._options = None - _SLAMSERVICE.methods_by_name['GetInternalState']._serialized_options = b'\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state' - _SLAMSERVICE.methods_by_name['GetProperties']._options = None - _SLAMSERVICE.methods_by_name['GetProperties']._serialized_options = b'\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties' - _SLAMSERVICE.methods_by_name['DoCommand']._options = None - _SLAMSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b"\n\x18com.viam.service.slam.v1Z\x1fgo.viam.com/api/service/slam/v1" + ) + _SLAMSERVICE.methods_by_name["GetPosition"]._options = None + _SLAMSERVICE.methods_by_name[ + "GetPosition" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02+\x12)/viam/api/v1/service/slam/{name}/position" + ) + _SLAMSERVICE.methods_by_name["GetPointCloudMap"]._options = None + _SLAMSERVICE.methods_by_name[ + "GetPointCloudMap" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x022\x120/viam/api/v1/service/slam/{name}/point_cloud_map" + ) + _SLAMSERVICE.methods_by_name["GetInternalState"]._options = None + _SLAMSERVICE.methods_by_name[ + "GetInternalState" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x021\x12//viam/api/v1/service/slam/{name}/internal_state" + ) + _SLAMSERVICE.methods_by_name["GetProperties"]._options = None + _SLAMSERVICE.methods_by_name[ + "GetProperties" + ]._serialized_options = ( + b"\x82\xd3\xe4\x93\x02-\x12+/viam/api/v1/service/slam/{name}/properties" + ) + _SLAMSERVICE.methods_by_name["DoCommand"]._options = None + _SLAMSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02-"+/viam/api/v1/service/slam/{name}/do_command' + ) _MAPPINGMODE._serialized_start = 762 _MAPPINGMODE._serialized_end = 908 _GETPOSITIONREQUEST._serialized_start = 136 @@ -42,4 +71,4 @@ _GETPROPERTIESRESPONSE._serialized_start = 635 _GETPROPERTIESRESPONSE._serialized_end = 759 _SLAMSERVICE._serialized_start = 911 - _SLAMSERVICE._serialized_end = 1723 \ No newline at end of file + _SLAMSERVICE._serialized_end = 1723 diff --git a/src/viam/gen/service/slam/v1/slam_pb2.pyi b/src/viam/gen/service/slam/v1/slam_pb2.pyi index 74e92d413..b888af107 100644 --- a/src/viam/gen/service/slam/v1/slam_pb2.pyi +++ b/src/viam/gen/service/slam/v1/slam_pb2.pyi @@ -3,13 +3,16 @@ isort:skip_file """ import builtins -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 10): import typing as typing_extensions else: @@ -17,10 +20,13 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor class _MappingMode: - ValueType = typing.NewType('ValueType', builtins.int) + ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType -class _MappingModeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MappingMode.ValueType], builtins.type): +class _MappingModeEnumTypeWrapper( + google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_MappingMode.ValueType], + builtins.type, +): DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor MAPPING_MODE_UNSPECIFIED: _MappingMode.ValueType MAPPING_MODE_CREATE_NEW_MAP: _MappingMode.ValueType @@ -32,6 +38,7 @@ class MappingMode(_MappingMode, metaclass=_MappingModeEnumTypeWrapper): These include, creating a new map, localizing on an existiing map and updating an exisiting map. """ + MAPPING_MODE_UNSPECIFIED: MappingMode.ValueType MAPPING_MODE_CREATE_NEW_MAP: MappingMode.ValueType MAPPING_MODE_LOCALIZE_ONLY: MappingMode.ValueType @@ -43,13 +50,13 @@ class GetPositionRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of slam service' + "Name of slam service" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetPositionRequest = GetPositionRequest @typing_extensions.final @@ -63,20 +70,34 @@ class GetPositionResponse(google.protobuf.message.Message): def pose(self) -> common.v1.common_pb2.Pose: """Current position of the specified component in the SLAM Map""" component_reference: builtins.str - 'This is usually the name of the camera that is in the SLAM config' + "This is usually the name of the camera that is in the SLAM config" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional information in the response""" - def __init__(self, *, pose: common.v1.common_pb2.Pose | None=..., component_reference: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def __init__( + self, + *, + pose: common.v1.common_pb2.Pose | None = ..., + component_reference: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra", "pose", b"pose"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "component_reference", + b"component_reference", + "extra", + b"extra", + "pose", + b"pose", + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra', 'pose', b'pose']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['component_reference', b'component_reference', 'extra', b'extra', 'pose', b'pose']) -> None: - ... global___GetPositionResponse = GetPositionResponse @typing_extensions.final @@ -84,13 +105,13 @@ class GetPointCloudMapRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of slam service' + "Name of slam service" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetPointCloudMapRequest = GetPointCloudMapRequest @typing_extensions.final @@ -100,11 +121,14 @@ class GetPointCloudMapResponse(google.protobuf.message.Message): point_cloud_pcd_chunk: builtins.bytes 'One chunk of the PointCloud.\n For a given GetPointCloudMap request, concatenating all\n GetPointCloudMapResponse.point_cloud_pcd_chunk values in the\n order received result in the complete pointcloud in standard PCD\n format where XY is the ground plane and positive Z is up, following\n the Right Hand Rule.\n\n Read more about the pointcloud format here:\n https://pointclouds.org/documentation/tutorials/pcd_file_format.html\n\n Viam expects pointcloud data with fields "x y z" or "x y z rgb", and for\n this to be specified in the pointcloud header in the FIELDS entry. If color\n data is included in the pointcloud, Viam\'s services assume that the color\n value encodes a confidence score for that data point. Viam expects the\n confidence score to be encoded in the blue parameter of the RGB value, on a\n scale from 1-100.\n\n Pointclouds are little endian encoded.\n ' - def __init__(self, *, point_cloud_pcd_chunk: builtins.bytes=...) -> None: - ... + def __init__(self, *, point_cloud_pcd_chunk: builtins.bytes = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "point_cloud_pcd_chunk", b"point_cloud_pcd_chunk" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['point_cloud_pcd_chunk', b'point_cloud_pcd_chunk']) -> None: - ... global___GetPointCloudMapResponse = GetPointCloudMapResponse @typing_extensions.final @@ -112,13 +136,13 @@ class GetInternalStateRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of slam service' + "Name of slam service" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetInternalStateRequest = GetInternalStateRequest @typing_extensions.final @@ -126,13 +150,16 @@ class GetInternalStateResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor INTERNAL_STATE_CHUNK_FIELD_NUMBER: builtins.int internal_state_chunk: builtins.bytes - 'Chunk of the internal state of the SLAM algorithm required to continue\n mapping/localization\n ' + "Chunk of the internal state of the SLAM algorithm required to continue\n mapping/localization\n " - def __init__(self, *, internal_state_chunk: builtins.bytes=...) -> None: - ... + def __init__(self, *, internal_state_chunk: builtins.bytes = ...) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "internal_state_chunk", b"internal_state_chunk" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['internal_state_chunk', b'internal_state_chunk']) -> None: - ... global___GetInternalStateResponse = GetInternalStateResponse @typing_extensions.final @@ -140,27 +167,36 @@ class GetPropertiesRequest(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - 'Name of the slam service' + "Name of the slam service" - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___GetPropertiesRequest = GetPropertiesRequest @typing_extensions.final class GetPropertiesResponse(google.protobuf.message.Message): """Returns properties information for the named slam service""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor CLOUD_SLAM_FIELD_NUMBER: builtins.int MAPPING_MODE_FIELD_NUMBER: builtins.int cloud_slam: builtins.bool mapping_mode: global___MappingMode.ValueType - def __init__(self, *, cloud_slam: builtins.bool=..., mapping_mode: global___MappingMode.ValueType=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['cloud_slam', b'cloud_slam', 'mapping_mode', b'mapping_mode']) -> None: - ... -global___GetPropertiesResponse = GetPropertiesResponse \ No newline at end of file + def __init__( + self, + *, + cloud_slam: builtins.bool = ..., + mapping_mode: global___MappingMode.ValueType = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "cloud_slam", b"cloud_slam", "mapping_mode", b"mapping_mode" + ], + ) -> None: ... + +global___GetPropertiesResponse = GetPropertiesResponse diff --git a/src/viam/gen/service/vision/v1/vision_grpc.py b/src/viam/gen/service/vision/v1/vision_grpc.py index 7424bbeea..de59868d4 100644 --- a/src/viam/gen/service/vision/v1/vision_grpc.py +++ b/src/viam/gen/service/vision/v1/vision_grpc.py @@ -1,49 +1,136 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server -from .... import common import google.api.annotations_pb2 import google.protobuf.struct_pb2 -from .... import service -class VisionServiceBase(abc.ABC): +from .... import common, service + +class VisionServiceBase(abc.ABC): @abc.abstractmethod - async def GetDetectionsFromCamera(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse]') -> None: + async def GetDetectionsFromCamera( + self, + stream: "grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse]", + ) -> None: pass @abc.abstractmethod - async def GetDetections(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse]') -> None: + async def GetDetections( + self, + stream: "grpclib.server.Stream[service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetClassificationsFromCamera(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse]') -> None: + async def GetClassificationsFromCamera( + self, + stream: "grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse]", + ) -> None: pass @abc.abstractmethod - async def GetClassifications(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse]') -> None: + async def GetClassifications( + self, + stream: "grpclib.server.Stream[service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse]", + ) -> None: pass @abc.abstractmethod - async def GetObjectPointClouds(self, stream: 'grpclib.server.Stream[service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse]') -> None: + async def GetObjectPointClouds( + self, + stream: "grpclib.server.Stream[service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse]", + ) -> None: pass @abc.abstractmethod - async def DoCommand(self, stream: 'grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]') -> None: + async def DoCommand( + self, + stream: "grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/viam.service.vision.v1.VisionService/GetDetectionsFromCamera': grpclib.const.Handler(self.GetDetectionsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetDetections': grpclib.const.Handler(self.GetDetections, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse), '/viam.service.vision.v1.VisionService/GetClassificationsFromCamera': grpclib.const.Handler(self.GetClassificationsFromCamera, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse), '/viam.service.vision.v1.VisionService/GetClassifications': grpclib.const.Handler(self.GetClassifications, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse), '/viam.service.vision.v1.VisionService/GetObjectPointClouds': grpclib.const.Handler(self.GetObjectPointClouds, grpclib.const.Cardinality.UNARY_UNARY, service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse), '/viam.service.vision.v1.VisionService/DoCommand': grpclib.const.Handler(self.DoCommand, grpclib.const.Cardinality.UNARY_UNARY, common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse)} + return { + "/viam.service.vision.v1.VisionService/GetDetectionsFromCamera": grpclib.const.Handler( + self.GetDetectionsFromCamera, + grpclib.const.Cardinality.UNARY_UNARY, + service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, + service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse, + ), + "/viam.service.vision.v1.VisionService/GetDetections": grpclib.const.Handler( + self.GetDetections, + grpclib.const.Cardinality.UNARY_UNARY, + service.vision.v1.vision_pb2.GetDetectionsRequest, + service.vision.v1.vision_pb2.GetDetectionsResponse, + ), + "/viam.service.vision.v1.VisionService/GetClassificationsFromCamera": grpclib.const.Handler( + self.GetClassificationsFromCamera, + grpclib.const.Cardinality.UNARY_UNARY, + service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, + service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse, + ), + "/viam.service.vision.v1.VisionService/GetClassifications": grpclib.const.Handler( + self.GetClassifications, + grpclib.const.Cardinality.UNARY_UNARY, + service.vision.v1.vision_pb2.GetClassificationsRequest, + service.vision.v1.vision_pb2.GetClassificationsResponse, + ), + "/viam.service.vision.v1.VisionService/GetObjectPointClouds": grpclib.const.Handler( + self.GetObjectPointClouds, + grpclib.const.Cardinality.UNARY_UNARY, + service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, + service.vision.v1.vision_pb2.GetObjectPointCloudsResponse, + ), + "/viam.service.vision.v1.VisionService/DoCommand": grpclib.const.Handler( + self.DoCommand, + grpclib.const.Cardinality.UNARY_UNARY, + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ), + } -class VisionServiceStub: +class VisionServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.GetDetectionsFromCamera = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetDetectionsFromCamera', service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse) - self.GetDetections = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetDetections', service.vision.v1.vision_pb2.GetDetectionsRequest, service.vision.v1.vision_pb2.GetDetectionsResponse) - self.GetClassificationsFromCamera = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetClassificationsFromCamera', service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse) - self.GetClassifications = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetClassifications', service.vision.v1.vision_pb2.GetClassificationsRequest, service.vision.v1.vision_pb2.GetClassificationsResponse) - self.GetObjectPointClouds = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/GetObjectPointClouds', service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, service.vision.v1.vision_pb2.GetObjectPointCloudsResponse) - self.DoCommand = grpclib.client.UnaryUnaryMethod(channel, '/viam.service.vision.v1.VisionService/DoCommand', common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse) \ No newline at end of file + self.GetDetectionsFromCamera = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/GetDetectionsFromCamera", + service.vision.v1.vision_pb2.GetDetectionsFromCameraRequest, + service.vision.v1.vision_pb2.GetDetectionsFromCameraResponse, + ) + self.GetDetections = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/GetDetections", + service.vision.v1.vision_pb2.GetDetectionsRequest, + service.vision.v1.vision_pb2.GetDetectionsResponse, + ) + self.GetClassificationsFromCamera = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/GetClassificationsFromCamera", + service.vision.v1.vision_pb2.GetClassificationsFromCameraRequest, + service.vision.v1.vision_pb2.GetClassificationsFromCameraResponse, + ) + self.GetClassifications = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/GetClassifications", + service.vision.v1.vision_pb2.GetClassificationsRequest, + service.vision.v1.vision_pb2.GetClassificationsResponse, + ) + self.GetObjectPointClouds = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/GetObjectPointClouds", + service.vision.v1.vision_pb2.GetObjectPointCloudsRequest, + service.vision.v1.vision_pb2.GetObjectPointCloudsResponse, + ) + self.DoCommand = grpclib.client.UnaryUnaryMethod( + channel, + "/viam.service.vision.v1.VisionService/DoCommand", + common.v1.common_pb2.DoCommandRequest, + common.v1.common_pb2.DoCommandResponse, + ) diff --git a/src/viam/gen/service/vision/v1/vision_pb2.py b/src/viam/gen/service/vision/v1/vision_pb2.py index 8c70fe37f..f82b7ae8f 100644 --- a/src/viam/gen/service/vision/v1/vision_pb2.py +++ b/src/viam/gen/service/vision/v1/vision_pb2.py @@ -1,30 +1,61 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 from google.protobuf import struct_pb2 as google_dot_protobuf_dot_struct__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xba\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\x84\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xda\x01\n\tDetection\x12\x18\n\x05x_min\x18\x01 \x01(\x03H\x00R\x04xMin\x88\x01\x01\x12\x18\n\x05y_min\x18\x02 \x01(\x03H\x01R\x04yMin\x88\x01\x01\x12\x18\n\x05x_max\x18\x03 \x01(\x03H\x02R\x04xMax\x88\x01\x01\x12\x18\n\x05y_max\x18\x04 \x01(\x03H\x03R\x04yMax\x88\x01\x01\x12\x1e\n\nconfidence\x18\x05 \x01(\x01R\nconfidence\x12\x1d\n\nclass_name\x18\x06 \x01(\tR\tclassNameB\x08\n\x06_x_minB\x08\n\x06_y_minB\x08\n\x06_x_maxB\x08\n\x06_y_max"\xcd\x01\n\x19GetClassificationsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12\x0c\n\x01n\x18\x06 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x1aGetClassificationsResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"\x97\x01\n#GetClassificationsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x0c\n\x01n\x18\x03 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"x\n$GetClassificationsFromCameraResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"O\n\x0eClassification\x12\x1d\n\nclass_name\x18\x01 \x01(\tR\tclassName\x12\x1e\n\nconfidence\x18\x02 \x01(\x01R\nconfidence"\x9e\x01\n\x1bGetObjectPointCloudsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"w\n\x1cGetObjectPointCloudsResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12:\n\x07objects\x18\x02 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects2\xe7\x08\n\rVisionService\x12\xc8\x01\n\x17GetDetectionsFromCamera\x126.viam.service.vision.v1.GetDetectionsFromCameraRequest\x1a7.viam.service.vision.v1.GetDetectionsFromCameraResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections\x12\xa3\x01\n\rGetDetections\x12,.viam.service.vision.v1.GetDetectionsRequest\x1a-.viam.service.vision.v1.GetDetectionsResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections\x12\xdc\x01\n\x1cGetClassificationsFromCamera\x12;.viam.service.vision.v1.GetClassificationsFromCameraRequest\x1a<.viam.service.vision.v1.GetClassificationsFromCameraResponse"A\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications\x12\xb7\x01\n\x12GetClassifications\x121.viam.service.vision.v1.GetClassificationsRequest\x1a2.viam.service.vision.v1.GetClassificationsResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications\x12\xc1\x01\n\x14GetObjectPointClouds\x123.viam.service.vision.v1.GetObjectPointCloudsRequest\x1a4.viam.service.vision.v1.GetObjectPointCloudsResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_commandB?\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1b\x06proto3') + +from ....common.v1 import common_pb2 as common_dot_v1_dot_common__pb2 + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x1eservice/vision/v1/vision.proto\x12\x16viam.service.vision.v1\x1a\x16common/v1/common.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1cgoogle/protobuf/struct.proto"\xba\x01\n\x14GetDetectionsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x03R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x03R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"Z\n\x15GetDetectionsResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\x84\x01\n\x1eGetDetectionsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"d\n\x1fGetDetectionsFromCameraResponse\x12A\n\ndetections\x18\x01 \x03(\x0b2!.viam.service.vision.v1.DetectionR\ndetections"\xda\x01\n\tDetection\x12\x18\n\x05x_min\x18\x01 \x01(\x03H\x00R\x04xMin\x88\x01\x01\x12\x18\n\x05y_min\x18\x02 \x01(\x03H\x01R\x04yMin\x88\x01\x01\x12\x18\n\x05x_max\x18\x03 \x01(\x03H\x02R\x04xMax\x88\x01\x01\x12\x18\n\x05y_max\x18\x04 \x01(\x03H\x03R\x04yMax\x88\x01\x01\x12\x1e\n\nconfidence\x18\x05 \x01(\x01R\nconfidence\x12\x1d\n\nclass_name\x18\x06 \x01(\tR\tclassNameB\x08\n\x06_x_minB\x08\n\x06_y_minB\x08\n\x06_x_maxB\x08\n\x06_y_max"\xcd\x01\n\x19GetClassificationsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n\x05image\x18\x02 \x01(\x0cR\x05image\x12\x14\n\x05width\x18\x03 \x01(\x05R\x05width\x12\x16\n\x06height\x18\x04 \x01(\x05R\x06height\x12\x1b\n\tmime_type\x18\x05 \x01(\tR\x08mimeType\x12\x0c\n\x01n\x18\x06 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"n\n\x1aGetClassificationsResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"\x97\x01\n#GetClassificationsFromCameraRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x0c\n\x01n\x18\x03 \x01(\x05R\x01n\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"x\n$GetClassificationsFromCameraResponse\x12P\n\x0fclassifications\x18\x01 \x03(\x0b2&.viam.service.vision.v1.ClassificationR\x0fclassifications"O\n\x0eClassification\x12\x1d\n\nclass_name\x18\x01 \x01(\tR\tclassName\x12\x1e\n\nconfidence\x18\x02 \x01(\x01R\nconfidence"\x9e\x01\n\x1bGetObjectPointCloudsRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12\x1f\n\x0bcamera_name\x18\x02 \x01(\tR\ncameraName\x12\x1b\n\tmime_type\x18\x03 \x01(\tR\x08mimeType\x12-\n\x05extra\x18c \x01(\x0b2\x17.google.protobuf.StructR\x05extra"w\n\x1cGetObjectPointCloudsResponse\x12\x1b\n\tmime_type\x18\x01 \x01(\tR\x08mimeType\x12:\n\x07objects\x18\x02 \x03(\x0b2 .viam.common.v1.PointCloudObjectR\x07objects2\xe7\x08\n\rVisionService\x12\xc8\x01\n\x17GetDetectionsFromCamera\x126.viam.service.vision.v1.GetDetectionsFromCameraRequest\x1a7.viam.service.vision.v1.GetDetectionsFromCameraResponse"<\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections\x12\xa3\x01\n\rGetDetections\x12,.viam.service.vision.v1.GetDetectionsRequest\x1a-.viam.service.vision.v1.GetDetectionsResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections\x12\xdc\x01\n\x1cGetClassificationsFromCamera\x12;.viam.service.vision.v1.GetClassificationsFromCameraRequest\x1a<.viam.service.vision.v1.GetClassificationsFromCameraResponse"A\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications\x12\xb7\x01\n\x12GetClassifications\x121.viam.service.vision.v1.GetClassificationsRequest\x1a2.viam.service.vision.v1.GetClassificationsResponse":\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications\x12\xc1\x01\n\x14GetObjectPointClouds\x123.viam.service.vision.v1.GetObjectPointCloudsRequest\x1a4.viam.service.vision.v1.GetObjectPointCloudsResponse">\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds\x12\x87\x01\n\tDoCommand\x12 .viam.common.v1.DoCommandRequest\x1a!.viam.common.v1.DoCommandResponse"5\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_commandB?\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'service.vision.v1.vision_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages( + DESCRIPTOR, "service.vision.v1.vision_pb2", globals() +) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1' - _VISIONSERVICE.methods_by_name['GetDetectionsFromCamera']._options = None - _VISIONSERVICE.methods_by_name['GetDetectionsFromCamera']._serialized_options = b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections' - _VISIONSERVICE.methods_by_name['GetDetections']._options = None - _VISIONSERVICE.methods_by_name['GetDetections']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections' - _VISIONSERVICE.methods_by_name['GetClassificationsFromCamera']._options = None - _VISIONSERVICE.methods_by_name['GetClassificationsFromCamera']._serialized_options = b'\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications' - _VISIONSERVICE.methods_by_name['GetClassifications']._options = None - _VISIONSERVICE.methods_by_name['GetClassifications']._serialized_options = b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications' - _VISIONSERVICE.methods_by_name['GetObjectPointClouds']._options = None - _VISIONSERVICE.methods_by_name['GetObjectPointClouds']._serialized_options = b'\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds' - _VISIONSERVICE.methods_by_name['DoCommand']._options = None - _VISIONSERVICE.methods_by_name['DoCommand']._serialized_options = b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_command' + DESCRIPTOR._serialized_options = ( + b"\n\x1acom.viam.service.vision.v1Z!go.viam.com/api/service/vision/v1" + ) + _VISIONSERVICE.methods_by_name["GetDetectionsFromCamera"]._options = None + _VISIONSERVICE.methods_by_name[ + "GetDetectionsFromCamera" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x026"4/viam/api/v1/service/vision/{name}/camera_detections' + ) + _VISIONSERVICE.methods_by_name["GetDetections"]._options = None + _VISIONSERVICE.methods_by_name[ + "GetDetections" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/detections' + ) + _VISIONSERVICE.methods_by_name["GetClassificationsFromCamera"]._options = None + _VISIONSERVICE.methods_by_name[ + "GetClassificationsFromCamera" + ]._serialized_options = b'\x82\xd3\xe4\x93\x02;"9/viam/api/v1/service/vision/{name}/camera_classifications' + _VISIONSERVICE.methods_by_name["GetClassifications"]._options = None + _VISIONSERVICE.methods_by_name[ + "GetClassifications" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x024"2/viam/api/v1/service/vision/{name}/classifications' + ) + _VISIONSERVICE.methods_by_name["GetObjectPointClouds"]._options = None + _VISIONSERVICE.methods_by_name[ + "GetObjectPointClouds" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x028"6/viam/api/v1/service/vision/{name}/object_point_clouds' + ) + _VISIONSERVICE.methods_by_name["DoCommand"]._options = None + _VISIONSERVICE.methods_by_name[ + "DoCommand" + ]._serialized_options = ( + b'\x82\xd3\xe4\x93\x02/"-/viam/api/v1/service/vision/{name}/do_command' + ) _GETDETECTIONSREQUEST._serialized_start = 143 _GETDETECTIONSREQUEST._serialized_end = 329 _GETDETECTIONSRESPONSE._serialized_start = 331 @@ -50,4 +81,4 @@ _GETOBJECTPOINTCLOUDSRESPONSE._serialized_start = 1719 _GETOBJECTPOINTCLOUDSRESPONSE._serialized_end = 1838 _VISIONSERVICE._serialized_start = 1841 - _VISIONSERVICE._serialized_end = 2968 \ No newline at end of file + _VISIONSERVICE._serialized_end = 2968 diff --git a/src/viam/gen/service/vision/v1/vision_pb2.pyi b/src/viam/gen/service/vision/v1/vision_pb2.pyi index 0c85af934..6ae14cb03 100644 --- a/src/viam/gen/service/vision/v1/vision_pb2.pyi +++ b/src/viam/gen/service/vision/v1/vision_pb2.pyi @@ -4,13 +4,16 @@ isort:skip_file """ import builtins import collections.abc -from .... import common +import sys +import typing + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message import google.protobuf.struct_pb2 -import sys -import typing + +from .... import common + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -27,28 +30,51 @@ class GetDetectionsRequest(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the vision service' + "name of the vision service" image: builtins.bytes - 'the image, encoded as bytes' + "the image, encoded as bytes" width: builtins.int - 'the width of the image' + "the width of the image" height: builtins.int - 'the height of the image' + "the height of the image" mime_type: builtins.str - 'the actual MIME type of image' + "the actual MIME type of image" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + image: builtins.bytes = ..., + width: builtins.int = ..., + height: builtins.int = ..., + mime_type: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "height", + b"height", + "image", + b"image", + "mime_type", + b"mime_type", + "name", + b"name", + "width", + b"width", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'name', b'name', 'width', b'width']) -> None: - ... global___GetDetectionsRequest = GetDetectionsRequest @typing_extensions.final @@ -57,14 +83,20 @@ class GetDetectionsResponse(google.protobuf.message.Message): DETECTIONS_FIELD_NUMBER: builtins.int @property - def detections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Detection]: + def detections( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Detection + ]: """the bounding boxes and labels""" - def __init__(self, *, detections: collections.abc.Iterable[global___Detection] | None=...) -> None: - ... + def __init__( + self, *, detections: collections.abc.Iterable[global___Detection] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["detections", b"detections"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['detections', b'detections']) -> None: - ... global___GetDetectionsResponse = GetDetectionsResponse @typing_extensions.final @@ -74,22 +106,29 @@ class GetDetectionsFromCameraRequest(google.protobuf.message.Message): CAMERA_NAME_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the vision service' + "name of the vision service" camera_name: builtins.str - 'name of camera source to use as input' + "name of camera source to use as input" @property - def extra(self) -> google.protobuf.struct_pb2.Struct: - ... - - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... + def extra(self) -> google.protobuf.struct_pb2.Struct: ... + def __init__( + self, + *, + name: builtins.str = ..., + camera_name: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "camera_name", b"camera_name", "extra", b"extra", "name", b"name" + ], + ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'name', b'name']) -> None: - ... global___GetDetectionsFromCameraRequest = GetDetectionsFromCameraRequest @typing_extensions.final @@ -98,14 +137,20 @@ class GetDetectionsFromCameraResponse(google.protobuf.message.Message): DETECTIONS_FIELD_NUMBER: builtins.int @property - def detections(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Detection]: + def detections( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Detection + ]: """the bounding boxes and labels""" - def __init__(self, *, detections: collections.abc.Iterable[global___Detection] | None=...) -> None: - ... + def __init__( + self, *, detections: collections.abc.Iterable[global___Detection] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["detections", b"detections"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['detections', b'detections']) -> None: - ... global___GetDetectionsFromCameraResponse = GetDetectionsFromCameraResponse @typing_extensions.final @@ -118,39 +163,88 @@ class Detection(google.protobuf.message.Message): CONFIDENCE_FIELD_NUMBER: builtins.int CLASS_NAME_FIELD_NUMBER: builtins.int x_min: builtins.int - 'the four corners of the box' + "the four corners of the box" y_min: builtins.int x_max: builtins.int y_max: builtins.int confidence: builtins.float - 'the confidence of the detection' + "the confidence of the detection" class_name: builtins.str - 'label associated with the detected object' - - def __init__(self, *, x_min: builtins.int | None=..., y_min: builtins.int | None=..., x_max: builtins.int | None=..., y_max: builtins.int | None=..., confidence: builtins.float=..., class_name: builtins.str=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['_x_max', b'_x_max', '_x_min', b'_x_min', '_y_max', b'_y_max', '_y_min', b'_y_min', 'x_max', b'x_max', 'x_min', b'x_min', 'y_max', b'y_max', 'y_min', b'y_min']) -> builtins.bool: - ... - - def ClearField(self, field_name: typing_extensions.Literal['_x_max', b'_x_max', '_x_min', b'_x_min', '_y_max', b'_y_max', '_y_min', b'_y_min', 'class_name', b'class_name', 'confidence', b'confidence', 'x_max', b'x_max', 'x_min', b'x_min', 'y_max', b'y_max', 'y_min', b'y_min']) -> None: - ... - + "label associated with the detected object" + + def __init__( + self, + *, + x_min: builtins.int | None = ..., + y_min: builtins.int | None = ..., + x_max: builtins.int | None = ..., + y_max: builtins.int | None = ..., + confidence: builtins.float = ..., + class_name: builtins.str = ..., + ) -> None: ... + def HasField( + self, + field_name: typing_extensions.Literal[ + "_x_max", + b"_x_max", + "_x_min", + b"_x_min", + "_y_max", + b"_y_max", + "_y_min", + b"_y_min", + "x_max", + b"x_max", + "x_min", + b"x_min", + "y_max", + b"y_max", + "y_min", + b"y_min", + ], + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "_x_max", + b"_x_max", + "_x_min", + b"_x_min", + "_y_max", + b"_y_max", + "_y_min", + b"_y_min", + "class_name", + b"class_name", + "confidence", + b"confidence", + "x_max", + b"x_max", + "x_min", + b"x_min", + "y_max", + b"y_max", + "y_min", + b"y_min", + ], + ) -> None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_x_max', b'_x_max']) -> typing_extensions.Literal['x_max'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_x_max", b"_x_max"] + ) -> typing_extensions.Literal["x_max"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_x_min', b'_x_min']) -> typing_extensions.Literal['x_min'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_x_min", b"_x_min"] + ) -> typing_extensions.Literal["x_min"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_y_max', b'_y_max']) -> typing_extensions.Literal['y_max'] | None: - ... - + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_y_max", b"_y_max"] + ) -> typing_extensions.Literal["y_max"] | None: ... @typing.overload - def WhichOneof(self, oneof_group: typing_extensions.Literal['_y_min', b'_y_min']) -> typing_extensions.Literal['y_min'] | None: - ... + def WhichOneof( + self, oneof_group: typing_extensions.Literal["_y_min", b"_y_min"] + ) -> typing_extensions.Literal["y_min"] | None: ... + global___Detection = Detection @typing_extensions.final @@ -164,30 +258,56 @@ class GetClassificationsRequest(google.protobuf.message.Message): N_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the vision service' + "name of the vision service" image: builtins.bytes - 'the image encoded as bytes' + "the image encoded as bytes" width: builtins.int - 'the width of the image' + "the width of the image" height: builtins.int - 'the height of the image' + "the height of the image" mime_type: builtins.str - 'the actual MIME type of image' + "the actual MIME type of image" n: builtins.int - 'the number of classifications desired' + "the number of classifications desired" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., image: builtins.bytes=..., width: builtins.int=..., height: builtins.int=..., mime_type: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + image: builtins.bytes = ..., + width: builtins.int = ..., + height: builtins.int = ..., + mime_type: builtins.str = ..., + n: builtins.int = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "extra", + b"extra", + "height", + b"height", + "image", + b"image", + "mime_type", + b"mime_type", + "n", + b"n", + "name", + b"name", + "width", + b"width", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['extra', b'extra', 'height', b'height', 'image', b'image', 'mime_type', b'mime_type', 'n', b'n', 'name', b'name', 'width', b'width']) -> None: - ... global___GetClassificationsRequest = GetClassificationsRequest @typing_extensions.final @@ -196,14 +316,21 @@ class GetClassificationsResponse(google.protobuf.message.Message): CLASSIFICATIONS_FIELD_NUMBER: builtins.int @property - def classifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Classification]: - ... + def classifications( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Classification + ]: ... + def __init__( + self, + *, + classifications: collections.abc.Iterable[global___Classification] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["classifications", b"classifications"], + ) -> None: ... - def __init__(self, *, classifications: collections.abc.Iterable[global___Classification] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['classifications', b'classifications']) -> None: - ... global___GetClassificationsResponse = GetClassificationsResponse @typing_extensions.final @@ -214,24 +341,34 @@ class GetClassificationsFromCameraRequest(google.protobuf.message.Message): N_FIELD_NUMBER: builtins.int EXTRA_FIELD_NUMBER: builtins.int name: builtins.str - 'name of the vision service' + "name of the vision service" camera_name: builtins.str - 'the image encoded as bytes' + "the image encoded as bytes" n: builtins.int - 'the number of classifications desired' + "the number of classifications desired" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., n: builtins.int=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + camera_name: builtins.str = ..., + n: builtins.int = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "camera_name", b"camera_name", "extra", b"extra", "n", b"n", "name", b"name" + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'n', b'n', 'name', b'name']) -> None: - ... global___GetClassificationsFromCameraRequest = GetClassificationsFromCameraRequest @typing_extensions.final @@ -240,32 +377,45 @@ class GetClassificationsFromCameraResponse(google.protobuf.message.Message): CLASSIFICATIONS_FIELD_NUMBER: builtins.int @property - def classifications(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Classification]: - ... + def classifications( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + global___Classification + ]: ... + def __init__( + self, + *, + classifications: collections.abc.Iterable[global___Classification] | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal["classifications", b"classifications"], + ) -> None: ... - def __init__(self, *, classifications: collections.abc.Iterable[global___Classification] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['classifications', b'classifications']) -> None: - ... global___GetClassificationsFromCameraResponse = GetClassificationsFromCameraResponse @typing_extensions.final class Classification(google.protobuf.message.Message): """the general form of the output from a classifier""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor CLASS_NAME_FIELD_NUMBER: builtins.int CONFIDENCE_FIELD_NUMBER: builtins.int class_name: builtins.str - 'the class name' + "the class name" confidence: builtins.float - 'the confidence score of the classification' + "the confidence score of the classification" + + def __init__( + self, *, class_name: builtins.str = ..., confidence: builtins.float = ... + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "class_name", b"class_name", "confidence", b"confidence" + ], + ) -> None: ... - def __init__(self, *, class_name: builtins.str=..., confidence: builtins.float=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['class_name', b'class_name', 'confidence', b'confidence']) -> None: - ... global___Classification = Classification @typing_extensions.final @@ -277,22 +427,39 @@ class GetObjectPointCloudsRequest(google.protobuf.message.Message): EXTRA_FIELD_NUMBER: builtins.int name: builtins.str camera_name: builtins.str - 'Name of a camera' + "Name of a camera" mime_type: builtins.str - 'Requested MIME type of response' + "Requested MIME type of response" @property def extra(self) -> google.protobuf.struct_pb2.Struct: """Additional arguments to the method""" - def __init__(self, *, name: builtins.str=..., camera_name: builtins.str=..., mime_type: builtins.str=..., extra: google.protobuf.struct_pb2.Struct | None=...) -> None: - ... - - def HasField(self, field_name: typing_extensions.Literal['extra', b'extra']) -> builtins.bool: - ... + def __init__( + self, + *, + name: builtins.str = ..., + camera_name: builtins.str = ..., + mime_type: builtins.str = ..., + extra: google.protobuf.struct_pb2.Struct | None = ..., + ) -> None: ... + def HasField( + self, field_name: typing_extensions.Literal["extra", b"extra"] + ) -> builtins.bool: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "camera_name", + b"camera_name", + "extra", + b"extra", + "mime_type", + b"mime_type", + "name", + b"name", + ], + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['camera_name', b'camera_name', 'extra', b'extra', 'mime_type', b'mime_type', 'name', b'name']) -> None: - ... global___GetObjectPointCloudsRequest = GetObjectPointCloudsRequest @typing_extensions.final @@ -301,15 +468,28 @@ class GetObjectPointCloudsResponse(google.protobuf.message.Message): MIME_TYPE_FIELD_NUMBER: builtins.int OBJECTS_FIELD_NUMBER: builtins.int mime_type: builtins.str - 'Actual MIME type of response' + "Actual MIME type of response" @property - def objects(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[common.v1.common_pb2.PointCloudObject]: + def objects( + self, + ) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[ + common.v1.common_pb2.PointCloudObject + ]: """List of objects in the scene""" - def __init__(self, *, mime_type: builtins.str=..., objects: collections.abc.Iterable[common.v1.common_pb2.PointCloudObject] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['mime_type', b'mime_type', 'objects', b'objects']) -> None: - ... -global___GetObjectPointCloudsResponse = GetObjectPointCloudsResponse \ No newline at end of file + def __init__( + self, + *, + mime_type: builtins.str = ..., + objects: collections.abc.Iterable[common.v1.common_pb2.PointCloudObject] + | None = ..., + ) -> None: ... + def ClearField( + self, + field_name: typing_extensions.Literal[ + "mime_type", b"mime_type", "objects", b"objects" + ], + ) -> None: ... + +global___GetObjectPointCloudsResponse = GetObjectPointCloudsResponse diff --git a/src/viam/gen/stream/v1/stream_grpc.py b/src/viam/gen/stream/v1/stream_grpc.py index 14ef32608..32f5de39c 100644 --- a/src/viam/gen/stream/v1/stream_grpc.py +++ b/src/viam/gen/stream/v1/stream_grpc.py @@ -1,31 +1,76 @@ import abc import typing -import grpclib.const + import grpclib.client +import grpclib.const + if typing.TYPE_CHECKING: import grpclib.server from ... import stream -class StreamServiceBase(abc.ABC): +class StreamServiceBase(abc.ABC): @abc.abstractmethod - async def ListStreams(self, stream: 'grpclib.server.Stream[stream.v1.stream_pb2.ListStreamsRequest, stream.v1.stream_pb2.ListStreamsResponse]') -> None: + async def ListStreams( + self, + stream: "grpclib.server.Stream[stream.v1.stream_pb2.ListStreamsRequest, stream.v1.stream_pb2.ListStreamsResponse]", + ) -> None: pass @abc.abstractmethod - async def AddStream(self, stream: 'grpclib.server.Stream[stream.v1.stream_pb2.AddStreamRequest, stream.v1.stream_pb2.AddStreamResponse]') -> None: + async def AddStream( + self, + stream: "grpclib.server.Stream[stream.v1.stream_pb2.AddStreamRequest, stream.v1.stream_pb2.AddStreamResponse]", + ) -> None: pass @abc.abstractmethod - async def RemoveStream(self, stream: 'grpclib.server.Stream[stream.v1.stream_pb2.RemoveStreamRequest, stream.v1.stream_pb2.RemoveStreamResponse]') -> None: + async def RemoveStream( + self, + stream: "grpclib.server.Stream[stream.v1.stream_pb2.RemoveStreamRequest, stream.v1.stream_pb2.RemoveStreamResponse]", + ) -> None: pass def __mapping__(self) -> typing.Dict[str, grpclib.const.Handler]: - return {'/proto.stream.v1.StreamService/ListStreams': grpclib.const.Handler(self.ListStreams, grpclib.const.Cardinality.UNARY_UNARY, stream.v1.stream_pb2.ListStreamsRequest, stream.v1.stream_pb2.ListStreamsResponse), '/proto.stream.v1.StreamService/AddStream': grpclib.const.Handler(self.AddStream, grpclib.const.Cardinality.UNARY_UNARY, stream.v1.stream_pb2.AddStreamRequest, stream.v1.stream_pb2.AddStreamResponse), '/proto.stream.v1.StreamService/RemoveStream': grpclib.const.Handler(self.RemoveStream, grpclib.const.Cardinality.UNARY_UNARY, stream.v1.stream_pb2.RemoveStreamRequest, stream.v1.stream_pb2.RemoveStreamResponse)} + return { + "/proto.stream.v1.StreamService/ListStreams": grpclib.const.Handler( + self.ListStreams, + grpclib.const.Cardinality.UNARY_UNARY, + stream.v1.stream_pb2.ListStreamsRequest, + stream.v1.stream_pb2.ListStreamsResponse, + ), + "/proto.stream.v1.StreamService/AddStream": grpclib.const.Handler( + self.AddStream, + grpclib.const.Cardinality.UNARY_UNARY, + stream.v1.stream_pb2.AddStreamRequest, + stream.v1.stream_pb2.AddStreamResponse, + ), + "/proto.stream.v1.StreamService/RemoveStream": grpclib.const.Handler( + self.RemoveStream, + grpclib.const.Cardinality.UNARY_UNARY, + stream.v1.stream_pb2.RemoveStreamRequest, + stream.v1.stream_pb2.RemoveStreamResponse, + ), + } -class StreamServiceStub: +class StreamServiceStub: def __init__(self, channel: grpclib.client.Channel) -> None: - self.ListStreams = grpclib.client.UnaryUnaryMethod(channel, '/proto.stream.v1.StreamService/ListStreams', stream.v1.stream_pb2.ListStreamsRequest, stream.v1.stream_pb2.ListStreamsResponse) - self.AddStream = grpclib.client.UnaryUnaryMethod(channel, '/proto.stream.v1.StreamService/AddStream', stream.v1.stream_pb2.AddStreamRequest, stream.v1.stream_pb2.AddStreamResponse) - self.RemoveStream = grpclib.client.UnaryUnaryMethod(channel, '/proto.stream.v1.StreamService/RemoveStream', stream.v1.stream_pb2.RemoveStreamRequest, stream.v1.stream_pb2.RemoveStreamResponse) \ No newline at end of file + self.ListStreams = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.stream.v1.StreamService/ListStreams", + stream.v1.stream_pb2.ListStreamsRequest, + stream.v1.stream_pb2.ListStreamsResponse, + ) + self.AddStream = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.stream.v1.StreamService/AddStream", + stream.v1.stream_pb2.AddStreamRequest, + stream.v1.stream_pb2.AddStreamResponse, + ) + self.RemoveStream = grpclib.client.UnaryUnaryMethod( + channel, + "/proto.stream.v1.StreamService/RemoveStream", + stream.v1.stream_pb2.RemoveStreamRequest, + stream.v1.stream_pb2.RemoveStreamResponse, + ) diff --git a/src/viam/gen/stream/v1/stream_pb2.py b/src/viam/gen/stream/v1/stream_pb2.py index 31f641c59..12cf94216 100644 --- a/src/viam/gen/stream/v1/stream_pb2.py +++ b/src/viam/gen/stream/v1/stream_pb2.py @@ -1,15 +1,18 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16stream/v1/stream.proto\x12\x0fproto.stream.v1"\x14\n\x12ListStreamsRequest"+\n\x13ListStreamsResponse\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names"&\n\x10AddStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x13\n\x11AddStreamResponse")\n\x13RemoveStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x16\n\x14RemoveStreamResponse2\x9a\x02\n\rStreamService\x12X\n\x0bListStreams\x12#.proto.stream.v1.ListStreamsRequest\x1a$.proto.stream.v1.ListStreamsResponse\x12R\n\tAddStream\x12!.proto.stream.v1.AddStreamRequest\x1a".proto.stream.v1.AddStreamResponse\x12[\n\x0cRemoveStream\x12$.proto.stream.v1.RemoveStreamRequest\x1a%.proto.stream.v1.RemoveStreamResponseB.Z,github.com/edaniels/gostream/proto/stream/v1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b'\n\x16stream/v1/stream.proto\x12\x0fproto.stream.v1"\x14\n\x12ListStreamsRequest"+\n\x13ListStreamsResponse\x12\x14\n\x05names\x18\x01 \x03(\tR\x05names"&\n\x10AddStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x13\n\x11AddStreamResponse")\n\x13RemoveStreamRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name"\x16\n\x14RemoveStreamResponse2\x9a\x02\n\rStreamService\x12X\n\x0bListStreams\x12#.proto.stream.v1.ListStreamsRequest\x1a$.proto.stream.v1.ListStreamsResponse\x12R\n\tAddStream\x12!.proto.stream.v1.AddStreamRequest\x1a".proto.stream.v1.AddStreamResponse\x12[\n\x0cRemoveStream\x12$.proto.stream.v1.RemoveStreamRequest\x1a%.proto.stream.v1.RemoveStreamResponseB.Z,github.com/edaniels/gostream/proto/stream/v1b\x06proto3' +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'stream.v1.stream_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "stream.v1.stream_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z,github.com/edaniels/gostream/proto/stream/v1' + DESCRIPTOR._serialized_options = b"Z,github.com/edaniels/gostream/proto/stream/v1" _LISTSTREAMSREQUEST._serialized_start = 43 _LISTSTREAMSREQUEST._serialized_end = 63 _LISTSTREAMSRESPONSE._serialized_start = 65 @@ -23,4 +26,4 @@ _REMOVESTREAMRESPONSE._serialized_start = 214 _REMOVESTREAMRESPONSE._serialized_end = 236 _STREAMSERVICE._serialized_start = 239 - _STREAMSERVICE._serialized_end = 521 \ No newline at end of file + _STREAMSERVICE._serialized_end = 521 diff --git a/src/viam/gen/stream/v1/stream_pb2.pyi b/src/viam/gen/stream/v1/stream_pb2.pyi index d48ff7b3e..1c6ca11ab 100644 --- a/src/viam/gen/stream/v1/stream_pb2.pyi +++ b/src/viam/gen/stream/v1/stream_pb2.pyi @@ -4,10 +4,12 @@ isort:skip_file """ import builtins import collections.abc +import sys + import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.message -import sys + if sys.version_info >= (3, 8): import typing as typing_extensions else: @@ -17,71 +19,81 @@ DESCRIPTOR: google.protobuf.descriptor.FileDescriptor @typing_extensions.final class ListStreamsRequest(google.protobuf.message.Message): """ListStreamsRequest requests all streams registered.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___ListStreamsRequest = ListStreamsRequest @typing_extensions.final class ListStreamsResponse(google.protobuf.message.Message): """A ListStreamsResponse details streams registered.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAMES_FIELD_NUMBER: builtins.int @property - def names(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: - ... + def names( + self, + ) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[ + builtins.str + ]: ... + def __init__( + self, *, names: collections.abc.Iterable[builtins.str] | None = ... + ) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["names", b"names"] + ) -> None: ... - def __init__(self, *, names: collections.abc.Iterable[builtins.str] | None=...) -> None: - ... - - def ClearField(self, field_name: typing_extensions.Literal['names', b'names']) -> None: - ... global___ListStreamsResponse = ListStreamsResponse @typing_extensions.final class AddStreamRequest(google.protobuf.message.Message): """A AddStreamRequest requests the given stream be added to the connection.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___AddStreamRequest = AddStreamRequest @typing_extensions.final class AddStreamResponse(google.protobuf.message.Message): """AddStreamResponse is returned after a successful AddStreamRequest.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... + def __init__(self) -> None: ... + global___AddStreamResponse = AddStreamResponse @typing_extensions.final class RemoveStreamRequest(google.protobuf.message.Message): """A RemoveStreamRequest requests the given stream be removed from the connection.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor NAME_FIELD_NUMBER: builtins.int name: builtins.str - def __init__(self, *, name: builtins.str=...) -> None: - ... + def __init__(self, *, name: builtins.str = ...) -> None: ... + def ClearField( + self, field_name: typing_extensions.Literal["name", b"name"] + ) -> None: ... - def ClearField(self, field_name: typing_extensions.Literal['name', b'name']) -> None: - ... global___RemoveStreamRequest = RemoveStreamRequest @typing_extensions.final class RemoveStreamResponse(google.protobuf.message.Message): """RemoveStreamResponse is returned after a successful RemoveStreamRequest.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor - def __init__(self) -> None: - ... -global___RemoveStreamResponse = RemoveStreamResponse \ No newline at end of file + def __init__(self) -> None: ... + +global___RemoveStreamResponse = RemoveStreamResponse diff --git a/src/viam/gen/tagger/v1/tagger_pb2.py b/src/viam/gen/tagger/v1/tagger_pb2.py index 30afd97a3..2e8b70b3d 100644 --- a/src/viam/gen/tagger/v1/tagger_pb2.py +++ b/src/viam/gen/tagger/v1/tagger_pb2.py @@ -1,15 +1,21 @@ """Generated protocol buffer code.""" -from google.protobuf.internal import builder as _builder from google.protobuf import descriptor as _descriptor from google.protobuf import descriptor_pool as _descriptor_pool from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder + _sym_db = _symbol_database.Default() from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16tagger/v1/tagger.proto\x12\ttagger.v1\x1a google/protobuf/descriptor.proto:3\n\x04tags\x12\x1d.google.protobuf.FieldOptions\x18\xc3\xe03 \x01(\tR\x04tags:>\n\noneof_tags\x12\x1d.google.protobuf.OneofOptions\x18\xc3\xe03 \x01(\tR\toneofTagsB4Z2github.com/srikrsna/protoc-gen-gotag/tagger;taggerb\x06proto3') + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile( + b"\n\x16tagger/v1/tagger.proto\x12\ttagger.v1\x1a google/protobuf/descriptor.proto:3\n\x04tags\x12\x1d.google.protobuf.FieldOptions\x18\xc3\xe03 \x01(\tR\x04tags:>\n\noneof_tags\x12\x1d.google.protobuf.OneofOptions\x18\xc3\xe03 \x01(\tR\toneofTagsB4Z2github.com/srikrsna/protoc-gen-gotag/tagger;taggerb\x06proto3" +) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'tagger.v1.tagger_pb2', globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "tagger.v1.tagger_pb2", globals()) if _descriptor._USE_C_DESCRIPTORS == False: google_dot_protobuf_dot_descriptor__pb2.FieldOptions.RegisterExtension(tags) google_dot_protobuf_dot_descriptor__pb2.OneofOptions.RegisterExtension(oneof_tags) DESCRIPTOR._options = None - DESCRIPTOR._serialized_options = b'Z2github.com/srikrsna/protoc-gen-gotag/tagger;tagger' \ No newline at end of file + DESCRIPTOR._serialized_options = ( + b"Z2github.com/srikrsna/protoc-gen-gotag/tagger;tagger" + ) diff --git a/src/viam/gen/tagger/v1/tagger_pb2.pyi b/src/viam/gen/tagger/v1/tagger_pb2.pyi index fb3f00a25..8c5ea51af 100644 --- a/src/viam/gen/tagger/v1/tagger_pb2.pyi +++ b/src/viam/gen/tagger/v1/tagger_pb2.pyi @@ -3,13 +3,19 @@ isort:skip_file """ import builtins + import google.protobuf.descriptor import google.protobuf.descriptor_pb2 import google.protobuf.internal.extension_dict + DESCRIPTOR: google.protobuf.descriptor.FileDescriptor TAGS_FIELD_NUMBER: builtins.int ONEOF_TAGS_FIELD_NUMBER: builtins.int -tags: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.FieldOptions, builtins.str] -'Multiple Tags can be spcified.' -oneof_tags: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.OneofOptions, builtins.str] -'Multiple Tags can be spcified.' \ No newline at end of file +tags: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[ + google.protobuf.descriptor_pb2.FieldOptions, builtins.str +] +"Multiple Tags can be spcified." +oneof_tags: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[ + google.protobuf.descriptor_pb2.OneofOptions, builtins.str +] +"Multiple Tags can be spcified." diff --git a/src/viam/logging.py b/src/viam/logging.py index 1d7b369c3..22034e5ba 100644 --- a/src/viam/logging.py +++ b/src/viam/logging.py @@ -46,7 +46,12 @@ def getLogger(name: str) -> logging.Logger: def addHandlers(logger: logging.Logger): logger.handlers.clear() - format = ColorFormatter("%(asctime)s\t\t" + "%(levelname)s\t" + "%(name)s (%(filename)s:%(lineno)d)\t" + "%(message)s\t") + format = ColorFormatter( + "%(asctime)s\t\t" + + "%(levelname)s\t" + + "%(name)s (%(filename)s:%(lineno)d)\t" + + "%(message)s\t" + ) handler = logging.StreamHandler(stream=sys.stdout) handler.setFormatter(format) diff --git a/src/viam/media/__init__.py b/src/viam/media/__init__.py index fc98358df..ddb7b1837 100644 --- a/src/viam/media/__init__.py +++ b/src/viam/media/__init__.py @@ -1,4 +1,10 @@ -from .media import MediaReader, MediaSource, MediaStream, MediaStreamWithIterator, MediaType +from .media import ( + MediaReader, + MediaSource, + MediaStream, + MediaStreamWithIterator, + MediaType, +) __all__ = [ "MediaReader", diff --git a/src/viam/media/viam_rgba_plugin.py b/src/viam/media/viam_rgba_plugin.py index 620701328..058f14bd2 100644 --- a/src/viam/media/viam_rgba_plugin.py +++ b/src/viam/media/viam_rgba_plugin.py @@ -1,8 +1,15 @@ from typing import ClassVar, Tuple from PIL import Image -from PIL.ImageFile import ImageFile, PyDecoder, PyEncoder, _safe_read # type: ignore -- (njooma) this exists, manually checked -from PIL.ImageFile import _save as image_save # type: ignore -- (njooma) this exists, manually checked +from PIL.ImageFile import ( # type: ignore -- (njooma) this exists, manually checked + ImageFile, + PyDecoder, + PyEncoder, + _safe_read, +) +from PIL.ImageFile import ( + _save as image_save, # type: ignore -- (njooma) this exists, manually checked +) # Viam uses a special header prepended to raw RGBA data. The header is composed of a # 4-byte magic number followed by a 4-byte line of the width as a uint32 number @@ -42,7 +49,9 @@ def _save_rgba(img, fp, filename): fp.write(width.to_bytes(4, byteorder="big")) fp.write(height.to_bytes(4, byteorder="big")) - image_save(img, fp, [(RGBAEncoder.ENCODER_NAME, (0, 0, width, height), 0, ("RGBA", 0, 1))]) + image_save( + img, fp, [(RGBAEncoder.ENCODER_NAME, (0, 0, width, height), 0, ("RGBA", 0, 1))] + ) class RGBAImage(ImageFile): @@ -61,7 +70,14 @@ def _open(self): self.mode = "RGBA" # type: ignore -- (njooma) newer versions of PIL hide this behind _mode, which is why we check # data descriptor - self.tile = [(RGBAEncoder.ENCODER_NAME, (0, 0, width, height), RGBA_HEADER_LENGTH, (self.mode, 0, 1))] + self.tile = [ + ( + RGBAEncoder.ENCODER_NAME, + (0, 0, width, height), + RGBA_HEADER_LENGTH, + (self.mode, 0, 1), + ) + ] class RGBADecoder(PyDecoder): diff --git a/src/viam/media/video.py b/src/viam/media/video.py index a74db0cf9..2355a2fe1 100644 --- a/src/viam/media/video.py +++ b/src/viam/media/video.py @@ -51,14 +51,19 @@ def bytes_to_depth_array(self) -> List[List[int]]: List[List[int]]: The standard representation of the image. """ if self.mime_type != CameraMimeType.VIAM_RAW_DEPTH.value: - raise NotSupportedError("Type must be `image/vnd.viam.dep` to use bytes_to_depth_array()") + raise NotSupportedError( + "Type must be `image/vnd.viam.dep` to use bytes_to_depth_array()" + ) width = int.from_bytes(self.data[8:16], "big") height = int.from_bytes(self.data[16:24], "big") depth_arr = array("H", self.data[24:]) depth_arr.byteswap() - depth_arr_2d = [[depth_arr[row * width + col] for col in range(width)] for row in range(height)] + depth_arr_2d = [ + [depth_arr[row * width + col] for col in range(width)] + for row in range(height) + ] return depth_arr_2d @@ -100,9 +105,11 @@ def encode_image(self, image: Union[Image.Image, RawImage]) -> bytes: @property def _should_be_raw(self) -> bool: - return self in [CameraMimeType.UNSUPPORTED, CameraMimeType.PCD, CameraMimeType.VIAM_RAW_DEPTH] or not CameraMimeType.is_supported( - self - ) + return self in [ + CameraMimeType.UNSUPPORTED, + CameraMimeType.PCD, + CameraMimeType.VIAM_RAW_DEPTH, + ] or not CameraMimeType.is_supported(self) @classmethod def is_supported(cls, mime_type: str) -> bool: @@ -196,7 +203,9 @@ def image(self) -> Optional[Image.Image]: return self._image try: - self._image = Image.open(BytesIO(self.data), formats=LIBRARY_SUPPORTED_FORMATS) + self._image = Image.open( + BytesIO(self.data), formats=LIBRARY_SUPPORTED_FORMATS + ) except UnidentifiedImageError: self._image = None self._image_decoded = True @@ -218,14 +227,19 @@ def bytes_to_depth_array(self) -> List[List[int]]: List[List[int]]: The standard representation of the image. """ if self.mime_type != CameraMimeType.VIAM_RAW_DEPTH.value: - raise NotSupportedError("Type must be `image/vnd.viam.dep` to use bytes_to_depth_array()") + raise NotSupportedError( + "Type must be `image/vnd.viam.dep` to use bytes_to_depth_array()" + ) width = int.from_bytes(self.data[8:16], "big") height = int.from_bytes(self.data[16:24], "big") depth_arr = array("H", self.data[24:]) depth_arr.byteswap() - depth_arr_2d = [[depth_arr[row * width + col] for col in range(width)] for row in range(height)] + depth_arr_2d = [ + [depth_arr[row * width + col] for col in range(width)] + for row in range(height) + ] return depth_arr_2d diff --git a/src/viam/module/module.py b/src/viam/module/module.py index d129dfe14..91f8ed9ae 100644 --- a/src/viam/module/module.py +++ b/src/viam/module/module.py @@ -23,7 +23,14 @@ from viam.proto.robot import ResourceRPCSubtype from viam.resource.base import ResourceBase from viam.resource.registry import Registry -from viam.resource.types import RESOURCE_TYPE_COMPONENT, RESOURCE_TYPE_SERVICE, Model, ResourceName, Subtype, resource_name_from_string +from viam.resource.types import ( + RESOURCE_TYPE_COMPONENT, + RESOURCE_TYPE_SERVICE, + Model, + ResourceName, + Subtype, + resource_name_from_string, +) from viam.robot.client import RobotClient from viam.rpc.dial import DialOptions from viam.rpc.server import Server @@ -60,7 +67,11 @@ def from_args(cls) -> Self: if len(args) < 2: raise Exception("Need socket path as command line argument") address = args[1] - log_level = logging.DEBUG if (len(args) == 3 and "=debug" in args[2].lower()) else logging.INFO + log_level = ( + logging.DEBUG + if (len(args) == 3 and "=debug" in args[2].lower()) + else logging.INFO + ) return cls(address, log_level=log_level) def __init__(self, address: str, *, log_level: int = logging.INFO) -> None: @@ -92,7 +103,9 @@ async def _get_resource(self, name: ResourceName) -> ResourceBase: return self.parent.get_service(name) raise ValueError("Dependency does not describe a component nor a service") - async def _get_dependencies(self, dependencies: Sequence[str]) -> Mapping[ResourceName, ResourceBase]: + async def _get_dependencies( + self, dependencies: Sequence[str] + ) -> Mapping[ResourceName, ResourceBase]: deps: Mapping[ResourceName, ResourceBase] = {} for dep in dependencies: rn = resource_name_from_string(dep) @@ -139,7 +152,12 @@ async def reconfigure_resource(self, request: ReconfigureResourceRequest): config: ComponentConfig = request.config subtype = Subtype.from_string(config.api) name = config.name - rn = ResourceName(namespace=subtype.namespace, type=subtype.resource_type, subtype=subtype.resource_subtype, name=name) + rn = ResourceName( + namespace=subtype.namespace, + type=subtype.resource_type, + subtype=subtype.resource_subtype, + name=name, + ) resource = self.server.get_resource(ResourceBase, rn) if isinstance(resource, Reconfigurable): resource.reconfigure(config, dependencies) @@ -149,7 +167,9 @@ async def reconfigure_resource(self, request: ReconfigureResourceRequest): await resource.stop() else: resource.stop() - add_request = AddResourceRequest(config=request.config, dependencies=request.dependencies) + add_request = AddResourceRequest( + config=request.config, dependencies=request.dependencies + ) await self.server.remove_resource(rn) await self.add_resource(add_request) @@ -192,10 +212,14 @@ async def ready(self, request: ReadyRequest) -> ReadyResponse: ), proto_service=svc_name, ) - handler_def = HandlerDefinition(subtype=rpc_subtype, models=[str(model) for model in value]) + handler_def = HandlerDefinition( + subtype=rpc_subtype, models=[str(model) for model in value] + ) handlers.append(handler_def) - return ReadyResponse(ready=self._ready, handlermap=HandlerMap(handlers=handlers)) + return ReadyResponse( + ready=self._ready, handlermap=HandlerMap(handlers=handlers) + ) def add_model_from_registry(self, subtype: Subtype, model: Model): """Add a pre-registered model to this Module""" @@ -204,9 +228,13 @@ def add_model_from_registry(self, subtype: Subtype, model: Model): try: Registry.lookup_resource_creator(subtype, model) except ResourceNotFoundError: - raise ValueError(f"Cannot add model because it has not been registered. Subtype: {subtype}. Model: {model}") + raise ValueError( + f"Cannot add model because it has not been registered. Subtype: {subtype}. Model: {model}" + ) - async def validate_config(self, request: ValidateConfigRequest) -> ValidateConfigResponse: + async def validate_config( + self, request: ValidateConfigRequest + ) -> ValidateConfigResponse: config: ComponentConfig = request.config subtype = Subtype.from_string(config.api) model = Model.from_string(config.model) diff --git a/src/viam/module/service.py b/src/viam/module/service.py index de8e3556c..746a2b791 100644 --- a/src/viam/module/service.py +++ b/src/viam/module/service.py @@ -26,19 +26,25 @@ class ModuleRPCService(ModuleServiceBase): def __init__(self, module: "Module") -> None: self._module = module - async def AddResource(self, stream: Stream[AddResourceRequest, AddResourceResponse]) -> None: + async def AddResource( + self, stream: Stream[AddResourceRequest, AddResourceResponse] + ) -> None: request = await stream.recv_message() assert request is not None await self._module.add_resource(request) await stream.send_message(AddResourceResponse()) - async def ReconfigureResource(self, stream: Stream[ReconfigureResourceRequest, ReconfigureResourceResponse]) -> None: + async def ReconfigureResource( + self, stream: Stream[ReconfigureResourceRequest, ReconfigureResourceResponse] + ) -> None: request = await stream.recv_message() assert request is not None await self._module.reconfigure_resource(request) await stream.send_message(ReconfigureResourceResponse()) - async def RemoveResource(self, stream: Stream[RemoveResourceRequest, RemoveResourceResponse]) -> None: + async def RemoveResource( + self, stream: Stream[RemoveResourceRequest, RemoveResourceResponse] + ) -> None: request = await stream.recv_message() assert request is not None await self._module.remove_resource(request) @@ -50,7 +56,9 @@ async def Ready(self, stream: Stream[ReadyRequest, ReadyResponse]) -> None: response = await self._module.ready(request) await stream.send_message(response) - async def ValidateConfig(self, stream: Stream[ValidateConfigRequest, ValidateConfigResponse]) -> None: + async def ValidateConfig( + self, stream: Stream[ValidateConfigRequest, ValidateConfigResponse] + ) -> None: request = await stream.recv_message() assert request is not None response = await self._module.validate_config(request) diff --git a/src/viam/module/types.py b/src/viam/module/types.py index 5186fc8ab..45be10df2 100644 --- a/src/viam/module/types.py +++ b/src/viam/module/types.py @@ -9,7 +9,9 @@ class Reconfigurable(Protocol): """The Reconfigurable protocol defines the requirements for making a resource Reconfigurable""" - def reconfigure(self, config: ComponentConfig, dependencies: Mapping[ResourceName, ResourceBase]): + def reconfigure( + self, config: ComponentConfig, dependencies: Mapping[ResourceName, ResourceBase] + ): ... @@ -21,5 +23,11 @@ class Stoppable(Protocol): All resources that physically move should be Stoppable. """ - def stop(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None, **kwargs): + def stop( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + **kwargs, + ): ... diff --git a/src/viam/operations.py b/src/viam/operations.py index cc82510cf..9be9e516e 100644 --- a/src/viam/operations.py +++ b/src/viam/operations.py @@ -28,7 +28,9 @@ class Operation: _cancel_event: asyncio.Event _cancelled: bool - def __init__(self, method: str, cancel_event: asyncio.Event, opid: Optional[UUID] = None) -> None: + def __init__( + self, method: str, cancel_event: asyncio.Event, opid: Optional[UUID] = None + ) -> None: self.id = uuid4() if opid is None else opid self.method = method self.time_started = time.time() @@ -76,7 +78,9 @@ def opid_from_metadata(metadata: Optional[Mapping[str, str]]) -> Optional[UUID]: return UUID(opid) -def run_with_operation(func: Callable[P, Coroutine[Any, Any, T]]) -> Callable[P, Coroutine[Any, Any, T]]: +def run_with_operation( + func: Callable[P, Coroutine[Any, Any, T]], +) -> Callable[P, Coroutine[Any, Any, T]]: """Run a component function with an ``Operation``. Running a function with an Operation will allow the function to know if/when the calling task was cancelled and take appropriate action @@ -103,7 +107,9 @@ async def wrapper(*args: P.args, **kwargs: P.kwargs) -> T: func_name = func.__qualname__ arg_names = ", ".join([str(a) for a in args]) kwarg_names = ", ".join([f"{key}={value}" for (key, value) in kwargs.items()]) - method = f"{func_name}({arg_names}{', ' if len(arg_names) else ''}{kwarg_names})" + method = ( + f"{func_name}({arg_names}{', ' if len(arg_names) else ''}{kwarg_names})" + ) opid = opid_from_metadata(kwargs.get("metadata")) # type: ignore operation = Operation(method, event, opid=opid) kwargs[Operation.ARG_NAME] = operation diff --git a/src/viam/proto/app/agent/__init__.py b/src/viam/proto/app/agent/__init__.py index 9c81383cd..79dfd18a9 100644 --- a/src/viam/proto/app/agent/__init__.py +++ b/src/viam/proto/app/agent/__init__.py @@ -2,7 +2,12 @@ @generated by Viam. Do not edit manually! """ -from ....gen.app.agent.v1.agent_grpc import AgentAppServiceBase, AgentAppServiceStub, AgentDeviceServiceBase, AgentDeviceServiceStub +from ....gen.app.agent.v1.agent_grpc import ( + AgentAppServiceBase, + AgentAppServiceStub, + AgentDeviceServiceBase, + AgentDeviceServiceStub, +) from ....gen.app.agent.v1.agent_pb2 import ( AppAgentConfig, AppSubsystemConfig, diff --git a/src/viam/proto/app/cloudslam/__init__.py b/src/viam/proto/app/cloudslam/__init__.py index 1d214b4b0..b2dcad934 100644 --- a/src/viam/proto/app/cloudslam/__init__.py +++ b/src/viam/proto/app/cloudslam/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.app.cloudslam.v1.cloud_slam_grpc import CloudSLAMServiceBase, CloudSLAMServiceStub +from ....gen.app.cloudslam.v1.cloud_slam_grpc import ( + CloudSLAMServiceBase, + CloudSLAMServiceStub, +) from ....gen.app.cloudslam.v1.cloud_slam_pb2 import ( CaptureInterval, EndStatus, diff --git a/src/viam/proto/app/datasync/__init__.py b/src/viam/proto/app/datasync/__init__.py index a43cc58b5..91e108d91 100644 --- a/src/viam/proto/app/datasync/__init__.py +++ b/src/viam/proto/app/datasync/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.app.datasync.v1.data_sync_grpc import DataSyncServiceBase, DataSyncServiceStub +from ....gen.app.datasync.v1.data_sync_grpc import ( + DataSyncServiceBase, + DataSyncServiceStub, +) from ....gen.app.datasync.v1.data_sync_pb2 import ( CaptureInterval, DataCaptureMetadata, diff --git a/src/viam/proto/app/end_user.py b/src/viam/proto/app/end_user.py index 1b23460a2..b58578011 100644 --- a/src/viam/proto/app/end_user.py +++ b/src/viam/proto/app/end_user.py @@ -3,7 +3,12 @@ Do not edit manually! """ from ...gen.app.v1.end_user_grpc import EndUserServiceBase, EndUserServiceStub -from ...gen.app.v1.end_user_pb2 import AcceptLegalRequest, AcceptLegalResponse, IsLegalAcceptedRequest, IsLegalAcceptedResponse +from ...gen.app.v1.end_user_pb2 import ( + AcceptLegalRequest, + AcceptLegalResponse, + IsLegalAcceptedRequest, + IsLegalAcceptedResponse, +) __all__ = [ "EndUserServiceBase", diff --git a/src/viam/proto/app/mltraining/__init__.py b/src/viam/proto/app/mltraining/__init__.py index f52602fb8..c5c252267 100644 --- a/src/viam/proto/app/mltraining/__init__.py +++ b/src/viam/proto/app/mltraining/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.app.mltraining.v1.ml_training_grpc import MLTrainingServiceBase, MLTrainingServiceStub +from ....gen.app.mltraining.v1.ml_training_grpc import ( + MLTrainingServiceBase, + MLTrainingServiceStub, +) from ....gen.app.mltraining.v1.ml_training_pb2 import ( CancelTrainingJobRequest, CancelTrainingJobResponse, diff --git a/src/viam/proto/component/audioinput/__init__.py b/src/viam/proto/component/audioinput/__init__.py index e9dceb099..2adfb00dc 100644 --- a/src/viam/proto/component/audioinput/__init__.py +++ b/src/viam/proto/component/audioinput/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.audioinput.v1.audioinput_grpc import AudioInputServiceBase, AudioInputServiceStub +from ....gen.component.audioinput.v1.audioinput_grpc import ( + AudioInputServiceBase, + AudioInputServiceStub, +) from ....gen.component.audioinput.v1.audioinput_pb2 import ( AudioChunk, AudioChunkInfo, diff --git a/src/viam/proto/component/encoder/__init__.py b/src/viam/proto/component/encoder/__init__.py index f0b1494cf..19d297f98 100644 --- a/src/viam/proto/component/encoder/__init__.py +++ b/src/viam/proto/component/encoder/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.encoder.v1.encoder_grpc import EncoderServiceBase, EncoderServiceStub +from ....gen.component.encoder.v1.encoder_grpc import ( + EncoderServiceBase, + EncoderServiceStub, +) from ....gen.component.encoder.v1.encoder_pb2 import ( GetPositionRequest, GetPositionResponse, diff --git a/src/viam/proto/component/generic/__init__.py b/src/viam/proto/component/generic/__init__.py index 29c5e6c71..05fc1d750 100644 --- a/src/viam/proto/component/generic/__init__.py +++ b/src/viam/proto/component/generic/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.generic.v1.generic_grpc import GenericServiceBase, GenericServiceStub +from ....gen.component.generic.v1.generic_grpc import ( + GenericServiceBase, + GenericServiceStub, +) __all__ = [ "GenericServiceBase", diff --git a/src/viam/proto/component/gripper/__init__.py b/src/viam/proto/component/gripper/__init__.py index 12f5ccbb2..9e2d19cfc 100644 --- a/src/viam/proto/component/gripper/__init__.py +++ b/src/viam/proto/component/gripper/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.gripper.v1.gripper_grpc import GripperServiceBase, GripperServiceStub +from ....gen.component.gripper.v1.gripper_grpc import ( + GripperServiceBase, + GripperServiceStub, +) from ....gen.component.gripper.v1.gripper_pb2 import ( GrabRequest, GrabResponse, diff --git a/src/viam/proto/component/inputcontroller/__init__.py b/src/viam/proto/component/inputcontroller/__init__.py index e91791faf..6a0985e93 100644 --- a/src/viam/proto/component/inputcontroller/__init__.py +++ b/src/viam/proto/component/inputcontroller/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.inputcontroller.v1.input_controller_grpc import InputControllerServiceBase, InputControllerServiceStub +from ....gen.component.inputcontroller.v1.input_controller_grpc import ( + InputControllerServiceBase, + InputControllerServiceStub, +) from ....gen.component.inputcontroller.v1.input_controller_pb2 import ( Event, GetControlsRequest, diff --git a/src/viam/proto/component/movementsensor/__init__.py b/src/viam/proto/component/movementsensor/__init__.py index 62719b809..9e03e8947 100644 --- a/src/viam/proto/component/movementsensor/__init__.py +++ b/src/viam/proto/component/movementsensor/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.movementsensor.v1.movementsensor_grpc import MovementSensorServiceBase, MovementSensorServiceStub +from ....gen.component.movementsensor.v1.movementsensor_grpc import ( + MovementSensorServiceBase, + MovementSensorServiceStub, +) from ....gen.component.movementsensor.v1.movementsensor_pb2 import ( GetAccuracyRequest, GetAccuracyResponse, diff --git a/src/viam/proto/component/posetracker/__init__.py b/src/viam/proto/component/posetracker/__init__.py index 7b81b96de..a16e76d95 100644 --- a/src/viam/proto/component/posetracker/__init__.py +++ b/src/viam/proto/component/posetracker/__init__.py @@ -2,8 +2,14 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.posetracker.v1.pose_tracker_grpc import PoseTrackerServiceBase, PoseTrackerServiceStub -from ....gen.component.posetracker.v1.pose_tracker_pb2 import GetPosesRequest, GetPosesResponse +from ....gen.component.posetracker.v1.pose_tracker_grpc import ( + PoseTrackerServiceBase, + PoseTrackerServiceStub, +) +from ....gen.component.posetracker.v1.pose_tracker_pb2 import ( + GetPosesRequest, + GetPosesResponse, +) __all__ = [ "PoseTrackerServiceBase", diff --git a/src/viam/proto/component/powersensor/__init__.py b/src/viam/proto/component/powersensor/__init__.py index 60b2e01e1..cb3a09738 100644 --- a/src/viam/proto/component/powersensor/__init__.py +++ b/src/viam/proto/component/powersensor/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.powersensor.v1.powersensor_grpc import PowerSensorServiceBase, PowerSensorServiceStub +from ....gen.component.powersensor.v1.powersensor_grpc import ( + PowerSensorServiceBase, + PowerSensorServiceStub, +) from ....gen.component.powersensor.v1.powersensor_pb2 import ( GetCurrentRequest, GetCurrentResponse, diff --git a/src/viam/proto/component/testecho/__init__.py b/src/viam/proto/component/testecho/__init__.py index eca4f956f..4646a8f3b 100644 --- a/src/viam/proto/component/testecho/__init__.py +++ b/src/viam/proto/component/testecho/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.component.testecho.v1.testecho_grpc import TestEchoServiceBase, TestEchoServiceStub +from ....gen.component.testecho.v1.testecho_grpc import ( + TestEchoServiceBase, + TestEchoServiceStub, +) from ....gen.component.testecho.v1.testecho_pb2 import ( EchoBiDiRequest, EchoBiDiResponse, diff --git a/src/viam/proto/provisioning/__init__.py b/src/viam/proto/provisioning/__init__.py index d2a7ba0e5..827d88d69 100644 --- a/src/viam/proto/provisioning/__init__.py +++ b/src/viam/proto/provisioning/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ...gen.provisioning.v1.provisioning_grpc import ProvisioningServiceBase, ProvisioningServiceStub +from ...gen.provisioning.v1.provisioning_grpc import ( + ProvisioningServiceBase, + ProvisioningServiceStub, +) from ...gen.provisioning.v1.provisioning_pb2 import ( CloudConfig, GetNetworkListRequest, diff --git a/src/viam/proto/rpc/auth.py b/src/viam/proto/rpc/auth.py index 23f3d3562..5fbd34a8f 100644 --- a/src/viam/proto/rpc/auth.py +++ b/src/viam/proto/rpc/auth.py @@ -2,7 +2,12 @@ @generated by Viam. Do not edit manually! """ -from ...gen.proto.rpc.v1.auth_grpc import AuthServiceBase, AuthServiceStub, ExternalAuthServiceBase, ExternalAuthServiceStub +from ...gen.proto.rpc.v1.auth_grpc import ( + AuthServiceBase, + AuthServiceStub, + ExternalAuthServiceBase, + ExternalAuthServiceStub, +) from ...gen.proto.rpc.v1.auth_pb2 import ( AuthenticateRequest, AuthenticateResponse, diff --git a/src/viam/proto/rpc/examples/echo/__init__.py b/src/viam/proto/rpc/examples/echo/__init__.py index a74bf6539..1b0021ab5 100644 --- a/src/viam/proto/rpc/examples/echo/__init__.py +++ b/src/viam/proto/rpc/examples/echo/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from .....gen.proto.rpc.examples.echo.v1.echo_grpc import EchoServiceBase, EchoServiceStub +from .....gen.proto.rpc.examples.echo.v1.echo_grpc import ( + EchoServiceBase, + EchoServiceStub, +) from .....gen.proto.rpc.examples.echo.v1.echo_pb2 import ( EchoBiDiRequest, EchoBiDiResponse, diff --git a/src/viam/proto/rpc/examples/echoresource/__init__.py b/src/viam/proto/rpc/examples/echoresource/__init__.py index 771db9fe9..1b61e2759 100644 --- a/src/viam/proto/rpc/examples/echoresource/__init__.py +++ b/src/viam/proto/rpc/examples/echoresource/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from .....gen.proto.rpc.examples.echoresource.v1.echoresource_grpc import EchoResourceServiceBase, EchoResourceServiceStub +from .....gen.proto.rpc.examples.echoresource.v1.echoresource_grpc import ( + EchoResourceServiceBase, + EchoResourceServiceStub, +) from .....gen.proto.rpc.examples.echoresource.v1.echoresource_pb2 import ( EchoResourceBiDiRequest, EchoResourceBiDiResponse, diff --git a/src/viam/proto/rpc/examples/fileupload/__init__.py b/src/viam/proto/rpc/examples/fileupload/__init__.py index a1a2203e4..c2bbbefa7 100644 --- a/src/viam/proto/rpc/examples/fileupload/__init__.py +++ b/src/viam/proto/rpc/examples/fileupload/__init__.py @@ -2,8 +2,14 @@ @generated by Viam. Do not edit manually! """ -from .....gen.proto.rpc.examples.fileupload.v1.fileupload_grpc import FileUploadServiceBase, FileUploadServiceStub -from .....gen.proto.rpc.examples.fileupload.v1.fileupload_pb2 import UploadFileRequest, UploadFileResponse +from .....gen.proto.rpc.examples.fileupload.v1.fileupload_grpc import ( + FileUploadServiceBase, + FileUploadServiceStub, +) +from .....gen.proto.rpc.examples.fileupload.v1.fileupload_pb2 import ( + UploadFileRequest, + UploadFileResponse, +) __all__ = [ "FileUploadServiceBase", diff --git a/src/viam/proto/rpc/webrtc/grpc.py b/src/viam/proto/rpc/webrtc/grpc.py index 02d27d2e0..af9204ab1 100644 --- a/src/viam/proto/rpc/webrtc/grpc.py +++ b/src/viam/proto/rpc/webrtc/grpc.py @@ -15,7 +15,10 @@ Stream, Strings, ) -from ....gen.proto.rpc.webrtc.v1.signaling_grpc import SignalingServiceBase, SignalingServiceStub +from ....gen.proto.rpc.webrtc.v1.signaling_grpc import ( + SignalingServiceBase, + SignalingServiceStub, +) __all__ = [ "Metadata", diff --git a/src/viam/proto/rpc/webrtc/signaling.py b/src/viam/proto/rpc/webrtc/signaling.py index 11ce2fa83..01023fcf4 100644 --- a/src/viam/proto/rpc/webrtc/signaling.py +++ b/src/viam/proto/rpc/webrtc/signaling.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.proto.rpc.webrtc.v1.signaling_grpc import SignalingServiceBase, SignalingServiceStub +from ....gen.proto.rpc.webrtc.v1.signaling_grpc import ( + SignalingServiceBase, + SignalingServiceStub, +) from ....gen.proto.rpc.webrtc.v1.signaling_pb2 import ( AnswerRequest, AnswerRequestDoneStage, diff --git a/src/viam/proto/service/datamanager/__init__.py b/src/viam/proto/service/datamanager/__init__.py index f26e297d1..7ec4f01d9 100644 --- a/src/viam/proto/service/datamanager/__init__.py +++ b/src/viam/proto/service/datamanager/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.service.datamanager.v1.data_manager_grpc import DataManagerServiceBase, DataManagerServiceStub +from ....gen.service.datamanager.v1.data_manager_grpc import ( + DataManagerServiceBase, + DataManagerServiceStub, +) from ....gen.service.datamanager.v1.data_manager_pb2 import SyncRequest, SyncResponse __all__ = [ diff --git a/src/viam/proto/service/generic/__init__.py b/src/viam/proto/service/generic/__init__.py index ab4e26098..44a7f0887 100644 --- a/src/viam/proto/service/generic/__init__.py +++ b/src/viam/proto/service/generic/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.service.generic.v1.generic_grpc import GenericServiceBase, GenericServiceStub +from ....gen.service.generic.v1.generic_grpc import ( + GenericServiceBase, + GenericServiceStub, +) __all__ = [ "GenericServiceBase", diff --git a/src/viam/proto/service/mlmodel/__init__.py b/src/viam/proto/service/mlmodel/__init__.py index 42667e66c..f9f5ab454 100644 --- a/src/viam/proto/service/mlmodel/__init__.py +++ b/src/viam/proto/service/mlmodel/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.service.mlmodel.v1.mlmodel_grpc import MLModelServiceBase, MLModelServiceStub +from ....gen.service.mlmodel.v1.mlmodel_grpc import ( + MLModelServiceBase, + MLModelServiceStub, +) from ....gen.service.mlmodel.v1.mlmodel_pb2 import ( File, FlatTensor, diff --git a/src/viam/proto/service/navigation/__init__.py b/src/viam/proto/service/navigation/__init__.py index 835a30eb3..88a97d6d1 100644 --- a/src/viam/proto/service/navigation/__init__.py +++ b/src/viam/proto/service/navigation/__init__.py @@ -2,7 +2,10 @@ @generated by Viam. Do not edit manually! """ -from ....gen.service.navigation.v1.navigation_grpc import NavigationServiceBase, NavigationServiceStub +from ....gen.service.navigation.v1.navigation_grpc import ( + NavigationServiceBase, + NavigationServiceStub, +) from ....gen.service.navigation.v1.navigation_pb2 import ( AddWaypointRequest, AddWaypointResponse, diff --git a/src/viam/proto/service/sensors/__init__.py b/src/viam/proto/service/sensors/__init__.py index 7a8d02d6d..e1e33ccdf 100644 --- a/src/viam/proto/service/sensors/__init__.py +++ b/src/viam/proto/service/sensors/__init__.py @@ -2,8 +2,17 @@ @generated by Viam. Do not edit manually! """ -from ....gen.service.sensors.v1.sensors_grpc import SensorsServiceBase, SensorsServiceStub -from ....gen.service.sensors.v1.sensors_pb2 import GetReadingsRequest, GetReadingsResponse, GetSensorsRequest, GetSensorsResponse, Readings +from ....gen.service.sensors.v1.sensors_grpc import ( + SensorsServiceBase, + SensorsServiceStub, +) +from ....gen.service.sensors.v1.sensors_pb2 import ( + GetReadingsRequest, + GetReadingsResponse, + GetSensorsRequest, + GetSensorsResponse, + Readings, +) __all__ = [ "SensorsServiceBase", diff --git a/src/viam/resource/base.py b/src/viam/resource/base.py index 0e7e256a5..bc01228e1 100644 --- a/src/viam/resource/base.py +++ b/src/viam/resource/base.py @@ -1,5 +1,13 @@ from abc import abstractmethod -from typing import TYPE_CHECKING, Any, ClassVar, Mapping, Optional, Protocol, runtime_checkable +from typing import ( + TYPE_CHECKING, + Any, + ClassVar, + Mapping, + Optional, + Protocol, + runtime_checkable, +) from typing_extensions import Self @@ -61,7 +69,11 @@ def from_robot(cls, robot: "RobotClient", name: str) -> Self: @abstractmethod async def do_command( - self, command: Mapping[str, "ValueTypes"], *, timeout: Optional[float] = None, **kwargs + self, + command: Mapping[str, "ValueTypes"], + *, + timeout: Optional[float] = None, + **kwargs, ) -> Mapping[str, "ValueTypes"]: """Send/Receive arbitrary commands to the Resource diff --git a/src/viam/resource/manager.py b/src/viam/resource/manager.py index 1904f559f..044e90976 100644 --- a/src/viam/resource/manager.py +++ b/src/viam/resource/manager.py @@ -44,7 +44,9 @@ def register(self, resource: ResourceBase): Args: resource (ResourceBase): The resource to register """ - Registry.lookup_subtype(resource.SUBTYPE) # confirm the subtype is registered in Registry + Registry.lookup_subtype( + resource.SUBTYPE + ) # confirm the subtype is registered in Registry _BaseClasses = (ResourceBase, ComponentBase, ServiceBase) rnames: Dict[ResourceName, ResourceBase] = {} @@ -57,7 +59,10 @@ def register(self, resource: ResourceBase): for rn in rnames: if ":" in rn.name: short_name = rn.name.split(":")[-1] - if short_name in self._short_to_long_name and rn not in self._short_to_long_name[short_name]: + if ( + short_name in self._short_to_long_name + and rn not in self._short_to_long_name[short_name] + ): self._short_to_long_name[short_name].append(rn) elif short_name not in self._short_to_long_name: self._short_to_long_name[short_name] = [rn] @@ -68,7 +73,9 @@ def register(self, resource: ResourceBase): with self._lock: self.resources.update(rnames) - def get_resource(self, of_type: Type[ResourceType], name: ResourceName) -> ResourceType: + def get_resource( + self, of_type: Type[ResourceType], name: ResourceName + ) -> ResourceType: """ Return a resource from the registry. If a unique short name version is given, return a remote resource with the name. @@ -89,8 +96,13 @@ def get_resource(self, of_type: Type[ResourceType], name: ResourceName) -> Resou if resource and isinstance(resource, of_type): return resource - if name.name in self._short_to_long_name and len(self._short_to_long_name[name.name]) == 1: - return self.get_resource(of_type, self._short_to_long_name[name.name][0]) + if ( + name.name in self._short_to_long_name + and len(self._short_to_long_name[name.name]) == 1 + ): + return self.get_resource( + of_type, self._short_to_long_name[name.name][0] + ) raise ResourceNotFoundError(name.subtype, name.name) async def remove_resource(self, name: ResourceName): diff --git a/src/viam/resource/registry.py b/src/viam/resource/registry.py index ae2ead40e..d0434c435 100644 --- a/src/viam/resource/registry.py +++ b/src/viam/resource/registry.py @@ -1,6 +1,17 @@ from dataclasses import dataclass from threading import Lock -from typing import TYPE_CHECKING, Any, Callable, ClassVar, Coroutine, Dict, Generic, Mapping, Type, TypeVar +from typing import ( + TYPE_CHECKING, + Any, + Callable, + ClassVar, + Coroutine, + Dict, + Generic, + Mapping, + Type, + TypeVar, +) from google.protobuf.struct_pb2 import Struct from grpclib.client import Channel @@ -63,7 +74,9 @@ class ResourceRegistration(Generic[Resource]): """A function that will create the RPC client for this resource """ - create_status: Callable[[Resource], Coroutine[Any, Any, Status]] = default_create_status + create_status: Callable[ + [Resource], Coroutine[Any, Any, Status] + ] = default_create_status """A function to create a Status object for this resource. If the resource does not provide a custom status type, the default implementation can be used. @@ -101,13 +114,24 @@ def register_subtype(cls, registration: ResourceRegistration[Resource]): if registration.resource_type.SUBTYPE in cls._SUBTYPES: raise DuplicateResourceError(str(registration.resource_type.SUBTYPE)) - if registration.resource_type and registration.rpc_service and registration.create_rpc_client: + if ( + registration.resource_type + and registration.rpc_service + and registration.create_rpc_client + ): cls._SUBTYPES[registration.resource_type.SUBTYPE] = registration else: - raise ValidationError("Passed resource registration does not have correct parameters") + raise ValidationError( + "Passed resource registration does not have correct parameters" + ) @classmethod - def register_resource_creator(cls, subtype: "Subtype", model: "Model", registration: ResourceCreatorRegistration): + def register_resource_creator( + cls, + subtype: "Subtype", + model: "Model", + registration: ResourceCreatorRegistration, + ): """Register a specific ``Model`` and validator function for the specific resource ``Subtype`` with the Registry Args: @@ -146,10 +170,14 @@ def lookup_subtype(cls, subtype: "Subtype") -> ResourceRegistration: try: return cls._SUBTYPES[subtype] except KeyError: - raise ResourceNotFoundError(subtype.resource_type, subtype.resource_subtype) + raise ResourceNotFoundError( + subtype.resource_type, subtype.resource_subtype + ) @classmethod - def lookup_resource_creator(cls, subtype: "Subtype", model: "Model") -> "ResourceCreator": + def lookup_resource_creator( + cls, subtype: "Subtype", model: "Model" + ) -> "ResourceCreator": """Lookup and retrieve a registered resource creator by its subtype and model Args: @@ -166,7 +194,9 @@ def lookup_resource_creator(cls, subtype: "Subtype", model: "Model") -> "Resourc try: return cls._RESOURCES[f"{subtype}/{model}"].creator except KeyError: - raise ResourceNotFoundError(subtype.resource_type, subtype.resource_subtype) + raise ResourceNotFoundError( + subtype.resource_type, subtype.resource_subtype + ) @classmethod def lookup_validator(cls, subtype: "Subtype", model: "Model") -> "Validator": @@ -199,7 +229,9 @@ def REGISTERED_SUBTYPES(cls) -> Mapping["Subtype", ResourceRegistration]: return cls._SUBTYPES.copy() @classmethod - def REGISTERED_RESOURCE_CREATORS(cls) -> Mapping[str, "ResourceCreatorRegistration"]: + def REGISTERED_RESOURCE_CREATORS( + cls, + ) -> Mapping[str, "ResourceCreatorRegistration"]: """The dictionary of all registered resources - Key: subtype/model - Value: The ResourceCreatorRegistration for the resource diff --git a/src/viam/resource/rpc_service_base.py b/src/viam/resource/rpc_service_base.py index 9fbca2e03..3f43d8c80 100644 --- a/src/viam/resource/rpc_service_base.py +++ b/src/viam/resource/rpc_service_base.py @@ -41,8 +41,14 @@ def get_resource(self, name: str) -> ResourceType: ResourceType: The resource """ try: - if self.RESOURCE_TYPE == ComponentBase or self.RESOURCE_TYPE == ResourceBase or self.RESOURCE_TYPE == ServiceBase: + if ( + self.RESOURCE_TYPE == ComponentBase + or self.RESOURCE_TYPE == ResourceBase + or self.RESOURCE_TYPE == ServiceBase + ): return self.manager._resource_by_name_only(name) # type: ignore - return self.manager.get_resource(self.RESOURCE_TYPE, self.RESOURCE_TYPE.get_resource_name(name)) # type: ignore + return self.manager.get_resource( + self.RESOURCE_TYPE, self.RESOURCE_TYPE.get_resource_name(name) + ) # type: ignore except ResourceNotFoundError as e: raise e.grpc_error diff --git a/src/viam/resource/types.py b/src/viam/resource/types.py index 057c986fe..d94ca6691 100644 --- a/src/viam/resource/types.py +++ b/src/viam/resource/types.py @@ -1,6 +1,15 @@ import re import sys -from typing import TYPE_CHECKING, Callable, ClassVar, Mapping, Optional, Protocol, Sequence, runtime_checkable +from typing import ( + TYPE_CHECKING, + Callable, + ClassVar, + Mapping, + Optional, + Protocol, + Sequence, + runtime_checkable, +) if sys.version_info >= (3, 10): from typing import TypeAlias @@ -115,7 +124,9 @@ def __eq__(self, other: object) -> bool: return False -ModelFamily.DEFAULT = ModelFamily(RESOURCE_NAMESPACE_RDK, ModelFamily.DEFAULT_FAMILY_NAME) +ModelFamily.DEFAULT = ModelFamily( + RESOURCE_NAMESPACE_RDK, ModelFamily.DEFAULT_FAMILY_NAME +) class Model: @@ -202,7 +213,9 @@ def resource_name_from_string(string: str) -> ResourceName: return ResourceName(namespace=parts[0], type=parts[1], subtype=parts[2], name=name) -ResourceCreator: TypeAlias = Callable[[ComponentConfig, Mapping[ResourceName, "ResourceBase"]], "ResourceBase"] +ResourceCreator: TypeAlias = Callable[ + [ComponentConfig, Mapping[ResourceName, "ResourceBase"]], "ResourceBase" +] Validator: TypeAlias = Callable[[ComponentConfig], Sequence[str]] @@ -210,5 +223,7 @@ def resource_name_from_string(string: str) -> ResourceName: class SupportsGetGeometries(Protocol): """The SupportsGetGeometries protocol defines the requirements for a resource to call get_geometries.""" - async def GetGeometries(self, request: GetGeometriesRequest, *, timeout: Optional[float] = None) -> GetGeometriesResponse: + async def GetGeometries( + self, request: GetGeometriesRequest, *, timeout: Optional[float] = None + ) -> GetGeometriesResponse: ... diff --git a/src/viam/robot/client.py b/src/viam/robot/client.py index cad36ce5f..c6e5cc1f1 100644 --- a/src/viam/robot/client.py +++ b/src/viam/robot/client.py @@ -39,7 +39,10 @@ from viam.resource.base import ResourceBase from viam.resource.manager import ResourceManager from viam.resource.registry import Registry -from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase, ResourceRPCClientBase +from viam.resource.rpc_client_base import ( + ReconfigurableResourceRPCClientBase, + ResourceRPCClientBase, +) from viam.resource.types import RESOURCE_TYPE_COMPONENT, RESOURCE_TYPE_SERVICE, Subtype from viam.rpc.dial import DialOptions, ViamChannel, dial from viam.services.service_base import ServiceBase @@ -139,7 +142,9 @@ async def at_address(cls, address: str, options: Options) -> Self: return robot @classmethod - async def with_channel(cls, channel: Union[Channel, ViamChannel], options: Options) -> Self: + async def with_channel( + cls, channel: Union[Channel, ViamChannel], options: Options + ) -> Self: """Create a robot that is connected to a robot over the given channel. Any robots created using this method will *NOT* automatically close the channel upon exit. @@ -155,7 +160,9 @@ async def with_channel(cls, channel: Union[Channel, ViamChannel], options: Optio return await cls._with_channel(channel, options, False) @classmethod - async def _with_channel(cls, channel: Union[Channel, ViamChannel], options: Options, close_channel: bool): + async def _with_channel( + cls, channel: Union[Channel, ViamChannel], options: Options, close_channel: bool + ): """INTERNAL USE ONLY""" self = cls() @@ -174,26 +181,42 @@ async def _with_channel(cls, channel: Union[Channel, ViamChannel], options: Opti self._resource_names = [] self._should_close_channel = close_channel self._options = options - self._address = self._channel._path if self._channel._path else f"{self._channel._host}:{self._channel._port}" + self._address = ( + self._channel._path + if self._channel._path + else f"{self._channel._host}:{self._channel._port}" + ) self._sessions_client = SessionsClient( - self._channel, self._address, self._options.dial_options, disabled=self._options.disable_sessions + self._channel, + self._address, + self._options.dial_options, + disabled=self._options.disable_sessions, ) try: await self.refresh() except Exception: - LOGGER.error("Unable to establish a connection to the robot. Ensure the robot is online and reachable and try again.") + LOGGER.error( + "Unable to establish a connection to the robot. Ensure the robot is online and reachable and try again." + ) await self.close() raise ConnectionError("Unable to establish a connection to the robot.") if options.refresh_interval > 0: self._refresh_task = asyncio.create_task( - self._refresh_every(options.refresh_interval), name=f"{viam._TASK_PREFIX}-robot_refresh_metadata" + self._refresh_every(options.refresh_interval), + name=f"{viam._TASK_PREFIX}-robot_refresh_metadata", ) - if options.check_connection_interval > 0 or options.attempt_reconnect_interval > 0: + if ( + options.check_connection_interval > 0 + or options.attempt_reconnect_interval > 0 + ): self._check_connection_task = asyncio.create_task( - self._check_connection(options.check_connection_interval, options.attempt_reconnect_interval), + self._check_connection( + options.check_connection_interval, + options.attempt_reconnect_interval, + ), name=f"{viam._TASK_PREFIX}-robot_check_connection", ) @@ -218,7 +241,9 @@ async def refresh(self): """ Manually refresh the underlying parts of this robot """ - response: ResourceNamesResponse = await self._client.ResourceNames(ResourceNamesRequest()) + response: ResourceNamesResponse = await self._client.ResourceNames( + ResourceNamesRequest() + ) resource_names: List[ResourceName] = list(response.resources) with self._lock: if resource_names == self._resource_names: @@ -230,7 +255,10 @@ async def refresh(self): continue # If the resource is a MovementSensor, DO NOT include Sensor as well (it will get added via MovementSensor) - if rname.subtype == Sensor.SUBTYPE.resource_subtype and MovementSensor.get_resource_name(rname.name) in resource_names: + if ( + rname.subtype == Sensor.SUBTYPE.resource_subtype + and MovementSensor.get_resource_name(rname.name) in resource_names + ): continue await self._create_or_reset_client(rname) @@ -246,7 +274,9 @@ async def _create_or_reset_client(self, resourceName: ResourceName): res = self._manager.get_resource(ResourceBase, resourceName) # If the channel hasn't changed, we don't need to do anything for existing clients - if isinstance(res, ResourceRPCClientBase) or (hasattr(res, "channel") and isinstance(getattr(res, "channel"), Channel)): + if isinstance(res, ResourceRPCClientBase) or ( + hasattr(res, "channel") and isinstance(getattr(res, "channel"), Channel) + ): if self._channel is res.channel: # type: ignore return @@ -255,12 +285,16 @@ async def _create_or_reset_client(self, resourceName: ResourceName): else: await self._manager.remove_resource(resourceName) self._manager.register( - Registry.lookup_subtype(Subtype.from_resource_name(resourceName)).create_rpc_client(resourceName.name, self._channel) + Registry.lookup_subtype( + Subtype.from_resource_name(resourceName) + ).create_rpc_client(resourceName.name, self._channel) ) else: try: self._manager.register( - Registry.lookup_subtype(Subtype.from_resource_name(resourceName)).create_rpc_client(resourceName.name, self._channel) + Registry.lookup_subtype( + Subtype.from_resource_name(resourceName) + ).create_rpc_client(resourceName.name, self._channel) ) except ResourceNotFoundError: pass @@ -295,9 +329,7 @@ async def _check_connection(self, check_every: int, reconnect_every: int): if connection_error: msg = "Lost connection to robot." if reconnect_every > 0: - msg += ( - f" Attempting to reconnect to {self._address} every {reconnect_every} second{'s' if reconnect_every != 1 else ''}" - ) + msg += f" Attempting to reconnect to {self._address} every {reconnect_every} second{'s' if reconnect_every != 1 else ''}" LOGGER.error(msg, exc_info=connection_error) self._close_channel() self._connected = False @@ -308,7 +340,11 @@ async def _check_connection(self, check_every: int, reconnect_every: int): if self._connected: continue - reconnect_attempts = self._options.dial_options.max_reconnect_attempts if self._options.dial_options else 3 + reconnect_attempts = ( + self._options.dial_options.max_reconnect_attempts + if self._options.dial_options + else 3 + ) for _ in range(reconnect_attempts): try: @@ -330,7 +366,11 @@ async def _check_connection(self, check_every: int, reconnect_every: int): self._channel = channel.channel self._viam_channel = channel self._client = RobotServiceStub(self._channel) - direct_dial_address = self._channel._path if self._channel._path else f"{self._channel._host}:{self._channel._port}" + direct_dial_address = ( + self._channel._path + if self._channel._path + else f"{self._channel._host}:{self._channel._port}" + ) self._sessions_client = SessionsClient( channel=self._channel, direct_dial_address=direct_dial_address, @@ -343,7 +383,10 @@ async def _check_connection(self, check_every: int, reconnect_every: int): LOGGER.debug("Successfully reconnected robot") break except Exception as e: - LOGGER.error(f"Failed to reconnect, trying again in {reconnect_every}sec", exc_info=e) + LOGGER.error( + f"Failed to reconnect, trying again in {reconnect_every}sec", + exc_info=e, + ) self._sessions_client.reset() self._close_channel() await asyncio.sleep(reconnect_every) @@ -480,7 +523,11 @@ async def close(self): # Cancel all tasks created by VIAM LOGGER.debug("Closing tasks spawned by Viam") - tasks = [task for task in asyncio.all_tasks() if task.get_name().startswith(viam._TASK_PREFIX)] + tasks = [ + task + for task in asyncio.all_tasks() + if task.get_name().startswith(viam._TASK_PREFIX) + ] for task in tasks: LOGGER.debug(f"\tClosing task {task.get_name()}") task.cancel() @@ -555,19 +602,28 @@ async def block_for_operation(self, id: str): # FRAME SYSTEM # ################ - async def get_frame_system_config(self, additional_transforms: Optional[List[Transform]] = None) -> List[FrameSystemConfig]: + async def get_frame_system_config( + self, additional_transforms: Optional[List[Transform]] = None + ) -> List[FrameSystemConfig]: """ Get the configuration of the frame system of a given robot. Returns: List[viam.proto.robot.FrameSystemConfig]: The configuration of a given robot's frame system. """ - request = FrameSystemConfigRequest(supplemental_transforms=additional_transforms) - response: FrameSystemConfigResponse = await self._client.FrameSystemConfig(request) + request = FrameSystemConfigRequest( + supplemental_transforms=additional_transforms + ) + response: FrameSystemConfigResponse = await self._client.FrameSystemConfig( + request + ) return list(response.frame_system_configs) async def transform_pose( - self, query: PoseInFrame, destination: str, additional_transforms: Optional[List[Transform]] = None + self, + query: PoseInFrame, + destination: str, + additional_transforms: Optional[List[Transform]] = None, ) -> PoseInFrame: """ Transform a given source Pose from the reference frame to a new specified destination which is a reference frame. @@ -578,7 +634,11 @@ async def transform_pose( destination (str) : The name of the reference frame to transform the given pose to. """ - request = TransformPoseRequest(source=query, destination=destination, supplemental_transforms=additional_transforms) + request = TransformPoseRequest( + source=query, + destination=destination, + supplemental_transforms=additional_transforms, + ) response: TransformPoseResponse = await self._client.TransformPose(request) return response.pose @@ -602,7 +662,9 @@ async def discover_components( """ request = DiscoverComponentsRequest(queries=queries) - response: DiscoverComponentsResponse = await self._client.DiscoverComponents(request) + response: DiscoverComponentsResponse = await self._client.DiscoverComponents( + request + ) return list(response.discovery) ############ diff --git a/src/viam/robot/service.py b/src/viam/robot/service.py index 35794476a..079b0e20b 100644 --- a/src/viam/robot/service.py +++ b/src/viam/robot/service.py @@ -59,21 +59,31 @@ def _generate_metadata(self) -> List[ResourceName]: for resource in self.manager.resources.values(): # If the resource is a MovementSensor, DO NOT include Sensor as well (it will get added via MovementSensor) - if resource.SUBTYPE == Sensor.SUBTYPE and MovementSensor.get_resource_name(resource.name) in self.manager.resources: + if ( + resource.SUBTYPE == Sensor.SUBTYPE + and MovementSensor.get_resource_name(resource.name) + in self.manager.resources + ): continue md.update(resource_names_for_resource(resource)) return list(md) - async def _generate_status(self, resource_names: Iterable[ResourceName]) -> List[Status]: + async def _generate_status( + self, resource_names: Iterable[ResourceName] + ) -> List[Status]: statuses: List[Status] = [] seen_resource_names: Set[ResourceName] = set() for resource in self.manager.resources.values(): for registration in Registry.REGISTERED_SUBTYPES().values(): if isinstance(resource, registration.resource_type): - if resource_names and resource.get_resource_name(resource.name) not in resource_names: + if ( + resource_names + and resource.get_resource_name(resource.name) + not in resource_names + ): continue try: status = await registration.create_status(resource) @@ -87,21 +97,27 @@ async def _generate_status(self, resource_names: Iterable[ResourceName]) -> List statuses = [s for s in statuses if s.name in resource_names] return statuses - async def ResourceNames(self, stream: Stream[ResourceNamesRequest, ResourceNamesResponse]) -> None: + async def ResourceNames( + self, stream: Stream[ResourceNamesRequest, ResourceNamesResponse] + ) -> None: request = await stream.recv_message() assert request is not None metadata = self._generate_metadata() response = ResourceNamesResponse(resources=metadata) await stream.send_message(response) - async def GetStatus(self, stream: Stream[GetStatusRequest, GetStatusResponse]) -> None: + async def GetStatus( + self, stream: Stream[GetStatusRequest, GetStatusResponse] + ) -> None: request = await stream.recv_message() assert request is not None status = await self._generate_status(request.resource_names) response = GetStatusResponse(status=status) await stream.send_message(response) - async def StreamStatus(self, stream: Stream[StreamStatusRequest, StreamStatusResponse]) -> None: + async def StreamStatus( + self, stream: Stream[StreamStatusRequest, StreamStatusResponse] + ) -> None: request = await stream.recv_message() assert request is not None interval = 1 @@ -114,25 +130,39 @@ async def StreamStatus(self, stream: Stream[StreamStatusRequest, StreamStatusRes await stream.send_message(response) await asyncio.sleep(interval) - async def GetOperations(self, stream: Stream[GetOperationsRequest, GetOperationsResponse]) -> None: + async def GetOperations( + self, stream: Stream[GetOperationsRequest, GetOperationsResponse] + ) -> None: raise MethodNotImplementedError("GetOperations").grpc_error - async def ResourceRPCSubtypes(self, stream: Stream[ResourceRPCSubtypesRequest, ResourceRPCSubtypesResponse]) -> None: + async def ResourceRPCSubtypes( + self, stream: Stream[ResourceRPCSubtypesRequest, ResourceRPCSubtypesResponse] + ) -> None: raise MethodNotImplementedError("ResourceRPCSubtypes").grpc_error - async def CancelOperation(self, stream: Stream[CancelOperationRequest, CancelOperationResponse]) -> None: + async def CancelOperation( + self, stream: Stream[CancelOperationRequest, CancelOperationResponse] + ) -> None: raise MethodNotImplementedError("CancelOperation").grpc_error - async def BlockForOperation(self, stream: Stream[BlockForOperationRequest, BlockForOperationResponse]) -> None: + async def BlockForOperation( + self, stream: Stream[BlockForOperationRequest, BlockForOperationResponse] + ) -> None: raise MethodNotImplementedError("BlockForOperation").grpc_error - async def FrameSystemConfig(self, stream: Stream[FrameSystemConfigRequest, FrameSystemConfigResponse]) -> None: + async def FrameSystemConfig( + self, stream: Stream[FrameSystemConfigRequest, FrameSystemConfigResponse] + ) -> None: raise MethodNotImplementedError("FrameSystemConfig").grpc_error - async def TransformPose(self, stream: Stream[TransformPoseRequest, TransformPoseResponse]) -> None: + async def TransformPose( + self, stream: Stream[TransformPoseRequest, TransformPoseResponse] + ) -> None: raise MethodNotImplementedError("TransformPose").grpc_error - async def DiscoverComponents(self, stream: Stream[DiscoverComponentsRequest, DiscoverComponentsResponse]) -> None: + async def DiscoverComponents( + self, stream: Stream[DiscoverComponentsRequest, DiscoverComponentsResponse] + ) -> None: raise MethodNotImplementedError("DiscoverComponents").grpc_error async def StopAll(self, stream: Stream[StopAllRequest, StopAllResponse]) -> None: @@ -163,20 +193,30 @@ async def StopAll(self, stream: Stream[StopAllRequest, StopAllResponse]) -> None raise ViamGRPCError(f'Failed to stop components named {", ".join(errors)}') await stream.send_message(StopAllResponse()) - async def GetSessions(self, stream: Stream[GetSessionsRequest, GetSessionsResponse]) -> None: + async def GetSessions( + self, stream: Stream[GetSessionsRequest, GetSessionsResponse] + ) -> None: raise MethodNotImplementedError("GetSessions").grpc_error - async def StartSession(self, stream: Stream[StartSessionRequest, StartSessionResponse]) -> None: + async def StartSession( + self, stream: Stream[StartSessionRequest, StartSessionResponse] + ) -> None: raise MethodNotImplementedError("StartSession").grpc_error - async def SendSessionHeartbeat(self, stream: Stream[SendSessionHeartbeatRequest, SendSessionHeartbeatResponse]) -> None: + async def SendSessionHeartbeat( + self, stream: Stream[SendSessionHeartbeatRequest, SendSessionHeartbeatResponse] + ) -> None: raise MethodNotImplementedError("SendSessionHeartbeat").grpc_error - async def TransformPCD(self, stream: Stream[TransformPCDRequest, TransformPCDResponse]) -> None: + async def TransformPCD( + self, stream: Stream[TransformPCDRequest, TransformPCDResponse] + ) -> None: raise MethodNotImplementedError("TransformPCD").grpc_error async def Log(self, stream: Stream[LogRequest, LogResponse]) -> None: raise MethodNotImplementedError("Log").grpc_error - async def GetCloudMetadata(self, stream: Stream[GetCloudMetadataRequest, GetCloudMetadataResponse]) -> None: + async def GetCloudMetadata( + self, stream: Stream[GetCloudMetadataRequest, GetCloudMetadataResponse] + ) -> None: raise MethodNotImplementedError("GetCloudMetadata").grpc_error diff --git a/src/viam/rpc/dial.py b/src/viam/rpc/dial.py index 649db7e69..2ab4af371 100644 --- a/src/viam/rpc/dial.py +++ b/src/viam/rpc/dial.py @@ -29,7 +29,9 @@ class Credentials: """Credentials to connect to the robot and the Viam app.""" - type: Union[Literal["robot-location-secret"], Literal["robot-secret"], Literal["api-key"]] + type: Union[ + Literal["robot-location-secret"], Literal["robot-secret"], Literal["api-key"] + ] """The type of credential """ @@ -131,9 +133,12 @@ def _host_port_from_url(url) -> Tuple[Optional[str], Optional[int]]: async def _get_access_token(channel: Channel, address: str, opts: DialOptions) -> str: - entity = opts.auth_entity if opts.auth_entity else re.sub(r"^(.*:\/\/)/", "", address) + entity = ( + opts.auth_entity if opts.auth_entity else re.sub(r"^(.*:\/\/)/", "", address) + ) creds = PBCredentials( - type=opts.credentials.type if opts.credentials else "", payload=opts.credentials.payload if opts.credentials else "" + type=opts.credentials.type if opts.credentials else "", + payload=opts.credentials.payload if opts.credentials else "", ) request = AuthenticateRequest(entity=entity, credentials=creds) @@ -179,7 +184,15 @@ def request( ) -> Stream[_SendType, _RecvType]: if not metadata and hasattr(self, "_metadata"): metadata = self._metadata - return super().request(name, cardinality, request_type, reply_type, timeout=timeout, deadline=deadline, metadata=metadata) + return super().request( + name, + cardinality, + request_type, + reply_type, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) @dataclass @@ -195,7 +208,9 @@ def close(self): except RuntimeError as e: # ignore event loop is closed errors - robot is getting shutdown if len(e.args) > 0 and e.args[0] == "Event loop is closed": - LOGGER.debug("ViamChannel might not have shut down cleanly - Event loop was closed") + LOGGER.debug( + "ViamChannel might not have shut down cleanly - Event loop was closed" + ) return raise finally: @@ -218,7 +233,10 @@ class _Runtime: def __init__(self) -> None: LOGGER.debug("Creating new viam-rust-utils runtime") - libname = pathlib.Path(__file__).parent.absolute() / f"libviam_rust_utils.{'dylib' if sys.platform == 'darwin' else 'so'}" + libname = ( + pathlib.Path(__file__).parent.absolute() + / f"libviam_rust_utils.{'dylib' if sys.platform == 'darwin' else 'so'}" + ) self._lib = ctypes.CDLL(libname.__str__()) self._lib.init_rust_runtime.argtypes = () self._lib.init_rust_runtime.restype = ctypes.c_void_p @@ -242,7 +260,9 @@ def __init__(self) -> None: self._ptr = self._lib.init_rust_runtime() - async def dial(self, address: str, options: DialOptions) -> Tuple[Optional[str], ctypes.c_void_p]: + async def dial( + self, address: str, options: DialOptions + ) -> Tuple[Optional[str], ctypes.c_void_p]: type = options.credentials.type if options.credentials else "" payload = options.credentials.payload if options.credentials else "" insecure = ( @@ -340,7 +360,9 @@ async def _dial_direct(address: str, options: Optional[DialOptions] = None) -> C ctx = None if opts.credentials: - channel = AuthenticatedChannel(host, port, ssl=ctx, server_hostname=server_hostname) + channel = AuthenticatedChannel( + host, port, ssl=ctx, server_hostname=server_hostname + ) access_token = await _get_access_token(channel, address, opts) metadata = {"authorization": f"Bearer {access_token}"} channel._metadata = metadata @@ -351,7 +373,11 @@ async def _dial_direct(address: str, options: Optional[DialOptions] = None) -> C async def dial_direct(address: str, options: Optional[DialOptions] = None) -> Channel: - warnings.warn("dial_direct is deprecated. Use rpc.dial.dial instead.", DeprecationWarning, stacklevel=2) + warnings.warn( + "dial_direct is deprecated. Use rpc.dial.dial instead.", + DeprecationWarning, + stacklevel=2, + ) return await _dial_direct(address, options) diff --git a/src/viam/rpc/server.py b/src/viam/rpc/server.py index 446b25215..b77b92807 100644 --- a/src/viam/rpc/server.py +++ b/src/viam/rpc/server.py @@ -30,7 +30,12 @@ class Server(ResourceManager): gRPC Server """ - def __init__(self, resources: List[ResourceBase], *, module_service: Optional["ModuleRPCService"] = None): + def __init__( + self, + resources: List[ResourceBase], + *, + module_service: Optional["ModuleRPCService"] = None, + ): """ Initialize the Server with a list of resources to be managed. @@ -78,7 +83,9 @@ async def rcv_and_log_msg(): try: return await method_func(stream) finally: - LOGGER.debug(f"[gRPC] Finished call from {host or 'xxxx'}:{port or 'xxxx'} - {event.method_name}") + LOGGER.debug( + f"[gRPC] Finished call from {host or 'xxxx'}:{port or 'xxxx'} - {event.method_name}" + ) event.method_func = log_resource_name @@ -172,7 +179,10 @@ async def interceptor(*args, **kwargs): func_name = tb.tb_frame.f_code.co_name line_num = tb.tb_lineno tb = tb.tb_next - raise GRPCError(Status.UNKNOWN, f"{e.__class__.__name__} - {e} - {file_name=} {func_name=} {line_num=}") + raise GRPCError( + Status.UNKNOWN, + f"{e.__class__.__name__} - {e} - {file_name=} {func_name=} {line_num=}", + ) return interceptor diff --git a/src/viam/rpc/signaling.py b/src/viam/rpc/signaling.py index 4818c3dbd..26573718c 100644 --- a/src/viam/rpc/signaling.py +++ b/src/viam/rpc/signaling.py @@ -19,11 +19,15 @@ class SignalingService(SignalingServiceBase): async def Call(self, stream: Stream[CallRequest, CallResponse]) -> None: raise GRPCError(Status.UNIMPLEMENTED, "SignalingService is unimplemented") - async def CallUpdate(self, stream: Stream[CallUpdateRequest, CallUpdateResponse]) -> None: + async def CallUpdate( + self, stream: Stream[CallUpdateRequest, CallUpdateResponse] + ) -> None: raise GRPCError(Status.UNIMPLEMENTED, "SignalingService is unimplemented") async def Answer(self, stream: Stream[AnswerResponse, AnswerRequest]) -> None: raise GRPCError(Status.UNIMPLEMENTED, "SignalingService is unimplemented") - async def OptionalWebRTCConfig(self, stream: Stream[OptionalWebRTCConfigRequest, OptionalWebRTCConfigResponse]) -> None: + async def OptionalWebRTCConfig( + self, stream: Stream[OptionalWebRTCConfigRequest, OptionalWebRTCConfigResponse] + ) -> None: raise GRPCError(Status.UNIMPLEMENTED, "SignalingService is unimplemented") diff --git a/src/viam/services/generic/client.py b/src/viam/services/generic/client.py index fb352c041..99ec64114 100644 --- a/src/viam/services/generic/client.py +++ b/src/viam/services/generic/client.py @@ -29,7 +29,9 @@ async def do_command( ) -> Mapping[str, Any]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) try: - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) except GRPCError as e: if e.status == Status.UNIMPLEMENTED: raise NotImplementedError() @@ -39,7 +41,11 @@ async def do_command( async def do_command( - channel: Channel, name: str, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None + channel: Channel, + name: str, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, ) -> Mapping[str, ValueTypes]: """Convenience method to allow service clients to execute ``do_command`` functions diff --git a/src/viam/services/generic/service.py b/src/viam/services/generic/service.py index f7381fddb..7a01cf159 100644 --- a/src/viam/services/generic/service.py +++ b/src/viam/services/generic/service.py @@ -15,15 +15,24 @@ class GenericRPCService(GenericServiceBase, ResourceRPCServiceBase): RESOURCE_TYPE = ServiceBase - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name service = self.get_resource(name) try: timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await service.do_command(struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await service.do_command( + struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) except NotImplementedError: - raise GRPCError(Status.UNIMPLEMENTED, f"``DO`` command is unimplemented for service named: {name}") + raise GRPCError( + Status.UNIMPLEMENTED, + f"``DO`` command is unimplemented for service named: {name}", + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) diff --git a/src/viam/services/mlmodel/client.py b/src/viam/services/mlmodel/client.py index c1690303f..8408b9b1a 100644 --- a/src/viam/services/mlmodel/client.py +++ b/src/viam/services/mlmodel/client.py @@ -4,9 +4,18 @@ from numpy.typing import NDArray from viam.proto.common import DoCommandRequest, DoCommandResponse -from viam.proto.service.mlmodel import InferRequest, InferResponse, MetadataRequest, MetadataResponse, MLModelServiceStub +from viam.proto.service.mlmodel import ( + InferRequest, + InferResponse, + MetadataRequest, + MetadataResponse, + MLModelServiceStub, +) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase -from viam.services.mlmodel.utils import flat_tensors_to_ndarrays, ndarrays_to_flat_tensors +from viam.services.mlmodel.utils import ( + flat_tensors_to_ndarrays, + ndarrays_to_flat_tensors, +) from viam.utils import ValueTypes, dict_to_struct, struct_to_dict from .mlmodel import Metadata, MLModel @@ -18,8 +27,12 @@ def __init__(self, name: str, channel: Channel): self.client = MLModelServiceStub(channel) super().__init__(name) - async def infer(self, input_tensors: Dict[str, NDArray], *, timeout: Optional[float] = None) -> Dict[str, NDArray]: - request = InferRequest(name=self.name, input_tensors=ndarrays_to_flat_tensors(input_tensors)) + async def infer( + self, input_tensors: Dict[str, NDArray], *, timeout: Optional[float] = None + ) -> Dict[str, NDArray]: + request = InferRequest( + name=self.name, input_tensors=ndarrays_to_flat_tensors(input_tensors) + ) response: InferResponse = await self.client.Infer(request) return flat_tensors_to_ndarrays(response.output_tensors) @@ -28,7 +41,15 @@ async def metadata(self, *, timeout: Optional[float] = None) -> Metadata: response: MetadataResponse = await self.client.Metadata(request) return response.metadata - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **kwargs, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/mlmodel/mlmodel.py b/src/viam/services/mlmodel/mlmodel.py index 46507662e..cbe342641 100644 --- a/src/viam/services/mlmodel/mlmodel.py +++ b/src/viam/services/mlmodel/mlmodel.py @@ -23,7 +23,9 @@ class MLModel(ServiceBase): ) @abc.abstractmethod - async def infer(self, input_tensors: Dict[str, NDArray], *, timeout: Optional[float]) -> Dict[str, NDArray]: + async def infer( + self, input_tensors: Dict[str, NDArray], *, timeout: Optional[float] + ) -> Dict[str, NDArray]: """Take an already ordered input tensor as an array, make an inference on the model, and return an output tensor map. Args: diff --git a/src/viam/services/mlmodel/service.py b/src/viam/services/mlmodel/service.py index a771311eb..cf5ecee02 100644 --- a/src/viam/services/mlmodel/service.py +++ b/src/viam/services/mlmodel/service.py @@ -1,8 +1,17 @@ from grpclib.server import Stream -from viam.proto.service.mlmodel import InferRequest, InferResponse, MetadataRequest, MetadataResponse, MLModelServiceBase +from viam.proto.service.mlmodel import ( + InferRequest, + InferResponse, + MetadataRequest, + MetadataResponse, + MLModelServiceBase, +) from viam.resource.rpc_service_base import ResourceRPCServiceBase -from viam.services.mlmodel.utils import flat_tensors_to_ndarrays, ndarrays_to_flat_tensors +from viam.services.mlmodel.utils import ( + flat_tensors_to_ndarrays, + ndarrays_to_flat_tensors, +) from .mlmodel import MLModel @@ -20,8 +29,13 @@ async def Infer(self, stream: Stream[InferRequest, InferResponse]) -> None: name = request.name mlmodel = self.get_resource(name) timeout = stream.deadline.time_remaining() if stream.deadline else None - output_tensors = await mlmodel.infer(input_tensors=flat_tensors_to_ndarrays(request.input_tensors), timeout=timeout) - response = InferResponse(output_tensors=ndarrays_to_flat_tensors(output_tensors)) + output_tensors = await mlmodel.infer( + input_tensors=flat_tensors_to_ndarrays(request.input_tensors), + timeout=timeout, + ) + response = InferResponse( + output_tensors=ndarrays_to_flat_tensors(output_tensors) + ) await stream.send_message(response) async def Metadata(self, stream: Stream[MetadataRequest, MetadataResponse]) -> None: diff --git a/src/viam/services/mlmodel/utils.py b/src/viam/services/mlmodel/utils.py index 2d9603c1a..3500c89b6 100644 --- a/src/viam/services/mlmodel/utils.py +++ b/src/viam/services/mlmodel/utils.py @@ -36,15 +36,23 @@ def flat_tensors_to_ndarrays(flat_tensors: FlatTensors) -> Dict[str, NDArray]: def make_ndarray(flat_data, dtype, shape): """Takes flat data (protobuf RepeatedScalarFieldContainer | bytes) to output an ndarray of appropriate dtype and shape""" - make_array = np.frombuffer if dtype == np.int8 or dtype == np.uint8 else np.array + make_array = ( + np.frombuffer if dtype == np.int8 or dtype == np.uint8 else np.array + ) return make_array(flat_data, dtype).reshape(shape) ndarrays: Dict[str, NDArray] = dict() for name, flat_tensor in flat_tensors.tensors.items(): - property_name = flat_tensor.WhichOneof("tensor") or flat_tensor.WhichOneof(b"tensor") + property_name = flat_tensor.WhichOneof("tensor") or flat_tensor.WhichOneof( + b"tensor" + ) if property_name: tensor_data = getattr(flat_tensor, property_name) - flat_data, dtype, shape = tensor_data.data, property_name_to_dtype[property_name], flat_tensor.shape + flat_data, dtype, shape = ( + tensor_data.data, + property_name_to_dtype[property_name], + flat_tensor.shape, + ) ndarrays[name] = make_ndarray(flat_data, dtype, shape) return ndarrays @@ -68,10 +76,20 @@ def get_tensor_data(ndarray: NDArray): e.g. FlatTensorDataInt8, FlatTensorDataUInt8 etc.""" tensor_data_class = dtype_name_to_tensor_data_class[ndarray.dtype.name] data = ndarray.flatten() - if tensor_data_class == FlatTensorDataInt8 or tensor_data_class == FlatTensorDataUInt8: - data = data.tobytes() # as per the proto, int8 and uint8 are stored as bytes - elif tensor_data_class == FlatTensorDataInt16 or tensor_data_class == FlatTensorDataUInt16: - data = data.astype(np.uint32) # as per the proto, int16 and uint16 are stored as uint32 + if ( + tensor_data_class == FlatTensorDataInt8 + or tensor_data_class == FlatTensorDataUInt8 + ): + data = ( + data.tobytes() + ) # as per the proto, int8 and uint8 are stored as bytes + elif ( + tensor_data_class == FlatTensorDataInt16 + or tensor_data_class == FlatTensorDataUInt16 + ): + data = data.astype( + np.uint32 + ) # as per the proto, int16 and uint16 are stored as uint32 tensor_data = tensor_data_class(data=data) return tensor_data @@ -87,5 +105,7 @@ def get_tensor_data_type(ndarray: NDArray): tensors_mapping: Dict[str, FlatTensor] = dict() for name, ndarray in ndarrays.items(): prop_name, prop_value = get_tensor_data_type(ndarray), get_tensor_data(ndarray) - tensors_mapping[name] = FlatTensor(shape=ndarray.shape, **{prop_name: prop_value}) + tensors_mapping[name] = FlatTensor( + shape=ndarray.shape, **{prop_name: prop_value} + ) return FlatTensors(tensors=tensors_mapping) diff --git a/src/viam/services/motion/client.py b/src/viam/services/motion/client.py index 3058c3ef7..d8a02e9e1 100644 --- a/src/viam/services/motion/client.py +++ b/src/viam/services/motion/client.py @@ -1,4 +1,4 @@ -from typing import Any, Final, List, Mapping, Optional, Sequence, Iterable +from typing import Any, Final, Iterable, List, Mapping, Optional, Sequence from grpclib.client import Channel @@ -163,7 +163,9 @@ async def move_on_globe( motion_configuration=configuration, extra=dict_to_struct(extra), ) - response: MoveOnGlobeResponse = await self.client.MoveOnGlobe(request, timeout=timeout) + response: MoveOnGlobeResponse = await self.client.MoveOnGlobe( + request, timeout=timeout + ) return response.execution_id async def move_on_map( @@ -220,7 +222,9 @@ async def move_on_map( obstacles=obstacles, extra=dict_to_struct(extra), ) - response: MoveOnMapResponse = await self.client.MoveOnMap(request, timeout=timeout) + response: MoveOnMapResponse = await self.client.MoveOnMap( + request, timeout=timeout + ) return response.execution_id async def stop_plan( @@ -326,7 +330,9 @@ async def list_plan_statuses( only_active_plans=only_active_plans, extra=dict_to_struct(extra), ) - response: ListPlanStatusesResponse = await self.client.ListPlanStatuses(request, timeout=timeout) + response: ListPlanStatusesResponse = await self.client.ListPlanStatuses( + request, timeout=timeout + ) return response async def get_pose( @@ -368,7 +374,13 @@ async def get_pose( response: GetPoseResponse = await self.client.GetPose(request, timeout=timeout) return response.pose - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: """Send/receive arbitrary commands Args: @@ -378,5 +390,7 @@ async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Option Dict[str, ValueTypes]: Result of the executed command """ request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/navigation/__init__.py b/src/viam/services/navigation/__init__.py index 467bd82a2..c4ec5923f 100644 --- a/src/viam/services/navigation/__init__.py +++ b/src/viam/services/navigation/__init__.py @@ -6,6 +6,21 @@ from .navigation import Navigation from .service import NavigationRPCService -__all__ = ["GeoPoint", "GeoObstacle", "NavigationClient", "Navigation", "Waypoint", "Mode", "Path", "MapType"] +__all__ = [ + "GeoPoint", + "GeoObstacle", + "NavigationClient", + "Navigation", + "Waypoint", + "Mode", + "Path", + "MapType", +] -Registry.register_subtype(ResourceRegistration(Navigation, NavigationRPCService, lambda name, channel: NavigationClient(name, channel))) +Registry.register_subtype( + ResourceRegistration( + Navigation, + NavigationRPCService, + lambda name, channel: NavigationClient(name, channel), + ) +) diff --git a/src/viam/services/navigation/client.py b/src/viam/services/navigation/client.py index b2daf8009..92a9527d8 100644 --- a/src/viam/services/navigation/client.py +++ b/src/viam/services/navigation/client.py @@ -43,22 +43,32 @@ def __init__(self, name: str, channel: Channel): async def get_paths(self, *, timeout: Optional[float] = None) -> List[Path]: request = GetPathsRequest(name=self.name) - response: GetPathsResponse = await self.client.GetPaths(request, timeout=timeout) + response: GetPathsResponse = await self.client.GetPaths( + request, timeout=timeout + ) return list(response.paths) async def get_location(self, *, timeout: Optional[float] = None) -> GeoPoint: request = GetLocationRequest(name=self.name) - response: GetLocationResponse = await self.client.GetLocation(request, timeout=timeout) + response: GetLocationResponse = await self.client.GetLocation( + request, timeout=timeout + ) return response.location - async def get_obstacles(self, *, timeout: Optional[float] = None) -> List[GeoObstacle]: + async def get_obstacles( + self, *, timeout: Optional[float] = None + ) -> List[GeoObstacle]: request = GetObstaclesRequest(name=self.name) - response: GetObstaclesResponse = await self.client.GetObstacles(request, timeout=timeout) + response: GetObstaclesResponse = await self.client.GetObstacles( + request, timeout=timeout + ) return list(response.obstacles) async def get_waypoints(self, *, timeout: Optional[float] = None) -> List[Waypoint]: request = GetWaypointsRequest(name=self.name) - response: GetWaypointsResponse = await self.client.GetWaypoints(request, timeout=timeout) + response: GetWaypointsResponse = await self.client.GetWaypoints( + request, timeout=timeout + ) return list(response.waypoints) async def add_waypoint(self, point: GeoPoint, *, timeout: Optional[float] = None): @@ -78,12 +88,24 @@ async def set_mode(self, mode: Mode.ValueType, *, timeout: Optional[float] = Non request = SetModeRequest(name=self.name, mode=mode) await self.client.SetMode(request, timeout=timeout) - async def get_properties(self, *, timeout: Optional[float] = None) -> MapType.ValueType: + async def get_properties( + self, *, timeout: Optional[float] = None + ) -> MapType.ValueType: request = GetPropertiesRequest(name=self.name) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return response.map_type - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/navigation/service.py b/src/viam/services/navigation/service.py index 0f25a50e5..2a6d9028b 100644 --- a/src/viam/services/navigation/service.py +++ b/src/viam/services/navigation/service.py @@ -45,7 +45,9 @@ async def GetPaths(self, stream: Stream[GetPathsRequest, GetPathsResponse]) -> N response = GetPathsResponse(paths=paths) await stream.send_message(response) - async def GetLocation(self, stream: Stream[GetLocationRequest, GetLocationResponse]) -> None: + async def GetLocation( + self, stream: Stream[GetLocationRequest, GetLocationResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -55,7 +57,9 @@ async def GetLocation(self, stream: Stream[GetLocationRequest, GetLocationRespon response = GetLocationResponse(location=location) await stream.send_message(response) - async def GetObstacles(self, stream: Stream[GetObstaclesRequest, GetObstaclesResponse]) -> None: + async def GetObstacles( + self, stream: Stream[GetObstaclesRequest, GetObstaclesResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -65,7 +69,9 @@ async def GetObstacles(self, stream: Stream[GetObstaclesRequest, GetObstaclesRes response = GetObstaclesResponse(obstacles=obstacles) await stream.send_message(response) - async def GetWaypoints(self, stream: Stream[GetWaypointsRequest, GetWaypointsResponse]) -> None: + async def GetWaypoints( + self, stream: Stream[GetWaypointsRequest, GetWaypointsResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -75,7 +81,9 @@ async def GetWaypoints(self, stream: Stream[GetWaypointsRequest, GetWaypointsRes response = GetWaypointsResponse(waypoints=waypoints) await stream.send_message(response) - async def AddWaypoint(self, stream: Stream[AddWaypointRequest, AddWaypointResponse]) -> None: + async def AddWaypoint( + self, stream: Stream[AddWaypointRequest, AddWaypointResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -86,7 +94,9 @@ async def AddWaypoint(self, stream: Stream[AddWaypointRequest, AddWaypointRespon response = AddWaypointResponse() await stream.send_message(response) - async def RemoveWaypoint(self, stream: Stream[RemoveWaypointRequest, RemoveWaypointResponse]) -> None: + async def RemoveWaypoint( + self, stream: Stream[RemoveWaypointRequest, RemoveWaypointResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -118,7 +128,9 @@ async def SetMode(self, stream: Stream[SetModeRequest, SetModeResponse]) -> None response = SetModeResponse() await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None navigation = self.get_resource(request.name) @@ -127,11 +139,17 @@ async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetProperties response = GetPropertiesResponse(map_type=map_type) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None navigation = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await navigation.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await navigation.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) diff --git a/src/viam/services/sensors/client.py b/src/viam/services/sensors/client.py index 4e0c98ac1..176d4137a 100644 --- a/src/viam/services/sensors/client.py +++ b/src/viam/services/sensors/client.py @@ -3,11 +3,23 @@ from grpclib.client import Channel from viam.proto.common import DoCommandRequest, DoCommandResponse, ResourceName -from viam.proto.service.sensors import GetReadingsRequest, GetReadingsResponse, GetSensorsRequest, GetSensorsResponse, SensorsServiceStub +from viam.proto.service.sensors import ( + GetReadingsRequest, + GetReadingsResponse, + GetSensorsRequest, + GetSensorsResponse, + SensorsServiceStub, +) from viam.resource.rpc_client_base import ReconfigurableResourceRPCClientBase from viam.resource.types import RESOURCE_NAMESPACE_RDK, RESOURCE_TYPE_SERVICE, Subtype from viam.services.service_client_base import ServiceClientBase -from viam.utils import SensorReading, ValueTypes, dict_to_struct, sensor_readings_value_to_native, struct_to_dict +from viam.utils import ( + SensorReading, + ValueTypes, + dict_to_struct, + sensor_readings_value_to_native, + struct_to_dict, +) class SensorsClient(ServiceClientBase, ReconfigurableResourceRPCClientBase): @@ -22,7 +34,12 @@ def __init__(self, name: str, channel: Channel): super().__init__(name, channel) self.client = SensorsServiceStub(channel) - async def get_sensors(self, *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None) -> List[ResourceName]: + async def get_sensors( + self, + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, + ) -> List[ResourceName]: """Get the ``ResourceName`` of all the ``Sensor`` resources connected to this Robot Returns: @@ -31,11 +48,17 @@ async def get_sensors(self, *, extra: Optional[Mapping[str, Any]] = None, timeou if extra is None: extra = {} request = GetSensorsRequest(name=self.name, extra=dict_to_struct(extra)) - response: GetSensorsResponse = await self.client.GetSensors(request, timeout=timeout) + response: GetSensorsResponse = await self.client.GetSensors( + request, timeout=timeout + ) return list(response.sensor_names) async def get_readings( - self, sensors: List[ResourceName], *, extra: Optional[Mapping[str, Any]] = None, timeout: Optional[float] = None + self, + sensors: List[ResourceName], + *, + extra: Optional[Mapping[str, Any]] = None, + timeout: Optional[float] = None, ) -> Mapping[ResourceName, Mapping[str, SensorReading]]: """Get the readings from the specific sensors provided @@ -47,11 +70,24 @@ async def get_readings( """ if extra is None: extra = {} - request = GetReadingsRequest(name=self.name, sensor_names=sensors, extra=dict_to_struct(extra)) - response: GetReadingsResponse = await self.client.GetReadings(request, timeout=timeout) - return {reading.name: sensor_readings_value_to_native(reading.readings) for reading in response.readings} + request = GetReadingsRequest( + name=self.name, sensor_names=sensors, extra=dict_to_struct(extra) + ) + response: GetReadingsResponse = await self.client.GetReadings( + request, timeout=timeout + ) + return { + reading.name: sensor_readings_value_to_native(reading.readings) + for reading in response.readings + } - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: """Send/receive arbitrary commands Args: @@ -61,5 +97,7 @@ async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Option Dict[str, ValueTypes]: Result of the executed command """ request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/service_base.py b/src/viam/services/service_base.py index 44af41914..3c01ac577 100644 --- a/src/viam/services/service_base.py +++ b/src/viam/services/service_base.py @@ -35,7 +35,13 @@ def from_robot(cls, robot: "RobotClient", name: str) -> Self: service = robot.get_service(cls.get_resource_name(name)) return cast(cls, service) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **kwargs, + ) -> Mapping[str, ValueTypes]: """Send/receive arbitrary commands Args: diff --git a/src/viam/services/service_client_base.py b/src/viam/services/service_client_base.py index 5c3ad4de8..54f88efcf 100644 --- a/src/viam/services/service_client_base.py +++ b/src/viam/services/service_client_base.py @@ -37,10 +37,21 @@ def from_robot(cls, robot: "RobotClient", name: str = "builtin") -> Self: Returns: Self: The service client, if it exists on the robot """ - resource_name = ResourceName(namespace="rdk", type="service", subtype=cls.SUBTYPE.resource_subtype, name=name) + resource_name = ResourceName( + namespace="rdk", + type="service", + subtype=cls.SUBTYPE.resource_subtype, + name=name, + ) if resource_name not in robot.resource_names: raise ResourceNotFoundError(resource_name.subtype, resource_name.name) return cls(name, robot._channel) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **kwargs) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **kwargs, + ) -> Mapping[str, ValueTypes]: raise NotImplementedError() diff --git a/src/viam/services/slam/__init__.py b/src/viam/services/slam/__init__.py index 1fbe39443..a36ba8a3f 100644 --- a/src/viam/services/slam/__init__.py +++ b/src/viam/services/slam/__init__.py @@ -13,4 +13,8 @@ "SLAM", ] -Registry.register_subtype(ResourceRegistration(SLAM, SLAMRPCService, lambda name, channel: SLAMClient(name, channel))) +Registry.register_subtype( + ResourceRegistration( + SLAM, SLAMRPCService, lambda name, channel: SLAMClient(name, channel) + ) +) diff --git a/src/viam/services/slam/client.py b/src/viam/services/slam/client.py index 285f35ff4..cb78fd3ea 100644 --- a/src/viam/services/slam/client.py +++ b/src/viam/services/slam/client.py @@ -35,25 +35,47 @@ def __init__(self, name: str, channel: Channel): async def get_position(self, *, timeout: Optional[float] = None) -> Pose: request = GetPositionRequest(name=self.name) - response: GetPositionResponse = await self.client.GetPosition(request, timeout=timeout) + response: GetPositionResponse = await self.client.GetPosition( + request, timeout=timeout + ) return response.pose - async def get_point_cloud_map(self, *, timeout: Optional[float] = None) -> List[bytes]: + async def get_point_cloud_map( + self, *, timeout: Optional[float] = None + ) -> List[bytes]: request = GetPointCloudMapRequest(name=self.name) - response: List[GetPointCloudMapResponse] = await self.client.GetPointCloudMap(request, timeout=timeout) + response: List[GetPointCloudMapResponse] = await self.client.GetPointCloudMap( + request, timeout=timeout + ) return [r.point_cloud_pcd_chunk for r in response] - async def get_internal_state(self, *, timeout: Optional[float] = None) -> List[bytes]: + async def get_internal_state( + self, *, timeout: Optional[float] = None + ) -> List[bytes]: request = GetInternalStateRequest(name=self.name) - response: List[GetInternalStateResponse] = await self.client.GetInternalState(request, timeout=timeout) + response: List[GetInternalStateResponse] = await self.client.GetInternalState( + request, timeout=timeout + ) return [r.internal_state_chunk for r in response] - async def get_properties(self, *, timeout: Optional[float] = None) -> Tuple[bool, MappingMode.ValueType]: + async def get_properties( + self, *, timeout: Optional[float] = None + ) -> Tuple[bool, MappingMode.ValueType]: request = GetPropertiesRequest(name=self.name) - response: GetPropertiesResponse = await self.client.GetProperties(request, timeout=timeout) + response: GetPropertiesResponse = await self.client.GetProperties( + request, timeout=timeout + ) return (response.cloud_slam, response.mapping_mode) - async def do_command(self, command: Mapping[str, ValueTypes], *, timeout: Optional[float] = None, **__) -> Mapping[str, ValueTypes]: + async def do_command( + self, + command: Mapping[str, ValueTypes], + *, + timeout: Optional[float] = None, + **__, + ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/slam/service.py b/src/viam/services/slam/service.py index ff0b79d85..6b8bc4ea1 100644 --- a/src/viam/services/slam/service.py +++ b/src/viam/services/slam/service.py @@ -25,7 +25,9 @@ class SLAMRPCService(SLAMServiceBase, ResourceRPCServiceBase): RESOURCE_TYPE = SLAM - async def GetInternalState(self, stream: Stream[GetInternalStateRequest, GetInternalStateResponse]) -> None: + async def GetInternalState( + self, stream: Stream[GetInternalStateRequest, GetInternalStateResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -36,7 +38,9 @@ async def GetInternalState(self, stream: Stream[GetInternalStateRequest, GetInte response = GetInternalStateResponse(internal_state_chunk=chunk) await stream.send_message(response) - async def GetPointCloudMap(self, stream: Stream[GetPointCloudMapRequest, GetPointCloudMapResponse]) -> None: + async def GetPointCloudMap( + self, stream: Stream[GetPointCloudMapRequest, GetPointCloudMapResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -47,7 +51,9 @@ async def GetPointCloudMap(self, stream: Stream[GetPointCloudMapRequest, GetPoin response = GetPointCloudMapResponse(point_cloud_pcd_chunk=chunk) await stream.send_message(response) - async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionResponse]) -> None: + async def GetPosition( + self, stream: Stream[GetPositionRequest, GetPositionResponse] + ) -> None: request = await stream.recv_message() assert request is not None name = request.name @@ -57,20 +63,30 @@ async def GetPosition(self, stream: Stream[GetPositionRequest, GetPositionRespon response = GetPositionResponse(pose=position) await stream.send_message(response) - async def GetProperties(self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse]) -> None: + async def GetProperties( + self, stream: Stream[GetPropertiesRequest, GetPropertiesResponse] + ) -> None: request = await stream.recv_message() assert request is not None slam = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None (cloud_slam, mapping_mode) = await slam.get_properties(timeout=timeout) - response = GetPropertiesResponse(cloud_slam=cloud_slam, mapping_mode=mapping_mode) + response = GetPropertiesResponse( + cloud_slam=cloud_slam, mapping_mode=mapping_mode + ) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None slam = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await slam.do_command(command=struct_to_dict(request.command), timeout=timeout, metadata=stream.metadata) + result = await slam.do_command( + command=struct_to_dict(request.command), + timeout=timeout, + metadata=stream.metadata, + ) response = DoCommandResponse(result=dict_to_struct(result)) await stream.send_message(response) diff --git a/src/viam/services/slam/slam.py b/src/viam/services/slam/slam.py index 7a245db26..7b785c170 100644 --- a/src/viam/services/slam/slam.py +++ b/src/viam/services/slam/slam.py @@ -50,7 +50,9 @@ async def get_position(self, *, timeout: Optional[float]) -> Pose: ... @abc.abstractmethod - async def get_properties(self, *, timeout: Optional[float]) -> Tuple[bool, MappingMode.ValueType]: + async def get_properties( + self, *, timeout: Optional[float] + ) -> Tuple[bool, MappingMode.ValueType]: """ Get information regarding the current SLAM session. diff --git a/src/viam/services/vision/__init__.py b/src/viam/services/vision/__init__.py index c87685ed9..d98b9e203 100644 --- a/src/viam/services/vision/__init__.py +++ b/src/viam/services/vision/__init__.py @@ -11,4 +11,8 @@ "Vision", ] -Registry.register_subtype(ResourceRegistration(Vision, VisionRPCService, lambda name, channel: VisionClient(name, channel))) +Registry.register_subtype( + ResourceRegistration( + Vision, VisionRPCService, lambda name, channel: VisionClient(name, channel) + ) +) diff --git a/src/viam/services/vision/client.py b/src/viam/services/vision/client.py index 35c6a9aa1..efd99aadc 100644 --- a/src/viam/services/vision/client.py +++ b/src/viam/services/vision/client.py @@ -49,8 +49,12 @@ async def get_detections_from_camera( ) -> List[Detection]: if extra is None: extra = {} - request = GetDetectionsFromCameraRequest(name=self.name, camera_name=camera_name, extra=dict_to_struct(extra)) - response: GetDetectionsFromCameraResponse = await self.client.GetDetectionsFromCamera(request, timeout=timeout) + request = GetDetectionsFromCameraRequest( + name=self.name, camera_name=camera_name, extra=dict_to_struct(extra) + ) + response: GetDetectionsFromCameraResponse = ( + await self.client.GetDetectionsFromCamera(request, timeout=timeout) + ) return list(response.detections) async def get_detections( @@ -74,7 +78,9 @@ async def get_detections( mime_type=mime_type, extra=dict_to_struct(extra), ) - response: GetDetectionsResponse = await self.client.GetDetections(request, timeout=timeout) + response: GetDetectionsResponse = await self.client.GetDetections( + request, timeout=timeout + ) return list(response.detections) async def get_classifications_from_camera( @@ -87,8 +93,15 @@ async def get_classifications_from_camera( ) -> List[Classification]: if extra is None: extra = {} - request = GetClassificationsFromCameraRequest(name=self.name, camera_name=camera_name, n=count, extra=dict_to_struct(extra)) - response: GetClassificationsFromCameraResponse = await self.client.GetClassificationsFromCamera(request, timeout=timeout) + request = GetClassificationsFromCameraRequest( + name=self.name, + camera_name=camera_name, + n=count, + extra=dict_to_struct(extra), + ) + response: GetClassificationsFromCameraResponse = ( + await self.client.GetClassificationsFromCamera(request, timeout=timeout) + ) return list(response.classifications) async def get_classifications( @@ -114,7 +127,9 @@ async def get_classifications( n=count, extra=dict_to_struct(extra), ) - response: GetClassificationsResponse = await self.client.GetClassifications(request, timeout=timeout) + response: GetClassificationsResponse = await self.client.GetClassifications( + request, timeout=timeout + ) return list(response.classifications) async def get_object_point_clouds( @@ -132,7 +147,9 @@ async def get_object_point_clouds( mime_type=CameraMimeType.PCD, extra=dict_to_struct(extra), ) - response: GetObjectPointCloudsResponse = await self.client.GetObjectPointClouds(request, timeout=timeout) + response: GetObjectPointCloudsResponse = await self.client.GetObjectPointClouds( + request, timeout=timeout + ) return list(response.objects) async def do_command( @@ -143,5 +160,7 @@ async def do_command( **__, ) -> Mapping[str, ValueTypes]: request = DoCommandRequest(name=self.name, command=dict_to_struct(command)) - response: DoCommandResponse = await self.client.DoCommand(request, timeout=timeout) + response: DoCommandResponse = await self.client.DoCommand( + request, timeout=timeout + ) return struct_to_dict(response.result) diff --git a/src/viam/services/vision/service.py b/src/viam/services/vision/service.py index 525b46454..171ff3ea0 100644 --- a/src/viam/services/vision/service.py +++ b/src/viam/services/vision/service.py @@ -31,17 +31,24 @@ class VisionRPCService(VisionServiceBase, ResourceRPCServiceBase): RESOURCE_TYPE = Vision - async def GetDetectionsFromCamera(self, stream: Stream[GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse]) -> None: + async def GetDetectionsFromCamera( + self, + stream: Stream[GetDetectionsFromCameraRequest, GetDetectionsFromCameraResponse], + ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) extra = struct_to_dict(request.extra) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await vision.get_detections_from_camera(request.camera_name, extra=extra, timeout=timeout) + result = await vision.get_detections_from_camera( + request.camera_name, extra=extra, timeout=timeout + ) response = GetDetectionsFromCameraResponse(detections=result) await stream.send_message(response) - async def GetDetections(self, stream: Stream[GetDetectionsRequest, GetDetectionsResponse]) -> None: + async def GetDetections( + self, stream: Stream[GetDetectionsRequest, GetDetectionsResponse] + ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) @@ -52,25 +59,34 @@ async def GetDetections(self, stream: Stream[GetDetectionsRequest, GetDetections if is_lazy or not (CameraMimeType.is_supported(mime_type)): image = RawImage(request.image, request.mime_type) else: - image = Image.open(BytesIO(request.image), formats=LIBRARY_SUPPORTED_FORMATS) + image = Image.open( + BytesIO(request.image), formats=LIBRARY_SUPPORTED_FORMATS + ) result = await vision.get_detections(image, extra=extra, timeout=timeout) response = GetDetectionsResponse(detections=result) await stream.send_message(response) async def GetClassificationsFromCamera( - self, stream: Stream[GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse] + self, + stream: Stream[ + GetClassificationsFromCameraRequest, GetClassificationsFromCameraResponse + ], ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) extra = struct_to_dict(request.extra) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await vision.get_classifications_from_camera(request.camera_name, request.n, extra=extra, timeout=timeout) + result = await vision.get_classifications_from_camera( + request.camera_name, request.n, extra=extra, timeout=timeout + ) response = GetClassificationsFromCameraResponse(classifications=result) await stream.send_message(response) - async def GetClassifications(self, stream: Stream[GetClassificationsRequest, GetClassificationsResponse]) -> None: + async def GetClassifications( + self, stream: Stream[GetClassificationsRequest, GetClassificationsResponse] + ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) @@ -81,26 +97,40 @@ async def GetClassifications(self, stream: Stream[GetClassificationsRequest, Get if is_lazy or not (CameraMimeType.is_supported(mime_type)): image = RawImage(request.image, request.mime_type) else: - image = Image.open(BytesIO(request.image), formats=LIBRARY_SUPPORTED_FORMATS) + image = Image.open( + BytesIO(request.image), formats=LIBRARY_SUPPORTED_FORMATS + ) - result = await vision.get_classifications(image, request.n, extra=extra, timeout=timeout) + result = await vision.get_classifications( + image, request.n, extra=extra, timeout=timeout + ) response = GetClassificationsResponse(classifications=result) await stream.send_message(response) - async def GetObjectPointClouds(self, stream: Stream[GetObjectPointCloudsRequest, GetObjectPointCloudsResponse]) -> None: + async def GetObjectPointClouds( + self, stream: Stream[GetObjectPointCloudsRequest, GetObjectPointCloudsResponse] + ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) extra = struct_to_dict(request.extra) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await vision.get_object_point_clouds(request.camera_name, extra=extra, timeout=timeout) - response = GetObjectPointCloudsResponse(mime_type=CameraMimeType.PCD.value, objects=result) + result = await vision.get_object_point_clouds( + request.camera_name, extra=extra, timeout=timeout + ) + response = GetObjectPointCloudsResponse( + mime_type=CameraMimeType.PCD.value, objects=result + ) await stream.send_message(response) - async def DoCommand(self, stream: Stream[DoCommandRequest, DoCommandResponse]) -> None: + async def DoCommand( + self, stream: Stream[DoCommandRequest, DoCommandResponse] + ) -> None: request = await stream.recv_message() assert request is not None vision = self.get_resource(request.name) timeout = stream.deadline.time_remaining() if stream.deadline else None - result = await vision.do_command(struct_to_dict(request.command), timeout=timeout) + result = await vision.do_command( + struct_to_dict(request.command), timeout=timeout + ) await stream.send_message(DoCommandResponse(result=dict_to_struct(result))) diff --git a/src/viam/sessions_client.py b/src/viam/sessions_client.py index 4c485e6cc..6be81d0c2 100644 --- a/src/viam/sessions_client.py +++ b/src/viam/sessions_client.py @@ -12,7 +12,11 @@ from grpclib.metadata import _MetadataLike from viam import logging -from viam.proto.robot import RobotServiceStub, SendSessionHeartbeatRequest, StartSessionRequest +from viam.proto.robot import ( + RobotServiceStub, + SendSessionHeartbeatRequest, + StartSessionRequest, +) from viam.rpc.dial import DialOptions, dial LOGGER = logging.getLogger(__name__) @@ -45,13 +49,22 @@ class SessionsClient: supports stopping actuating components when it's not. """ - def __init__(self, channel: Channel, direct_dial_address: str, dial_options: Optional[DialOptions], *, disabled: bool = False): + def __init__( + self, + channel: Channel, + direct_dial_address: str, + dial_options: Optional[DialOptions], + *, + disabled: bool = False, + ): self.channel = channel self.client = RobotServiceStub(channel) self._address = direct_dial_address self._dial_options = dial_options self._disabled = disabled - self._dial_options = deepcopy(dial_options) if dial_options is not None else DialOptions() + self._dial_options = ( + deepcopy(dial_options) if dial_options is not None else DialOptions() + ) self._dial_options.disable_webrtc = True self._lock: Lock = Lock() self._current_id: str = "" @@ -88,7 +101,10 @@ async def _send_request(self, event: SendRequest): event.metadata.update(await self.metadata) async def _recv_trailers(self, event: RecvTrailingMetadata): - if event.status == Status.INVALID_ARGUMENT and event.status_message == "SESSION_EXPIRED": + if ( + event.status == Status.INVALID_ARGUMENT + and event.status_message == "SESSION_EXPIRED" + ): LOGGER.debug("Session expired") self.reset() @@ -111,10 +127,15 @@ async def metadata(self) -> _MetadataLike: raise if response is None: - raise GRPCError(status=Status.INTERNAL, message="Expected response to start session") + raise GRPCError( + status=Status.INTERNAL, message="Expected response to start session" + ) if response.heartbeat_window is None: - raise GRPCError(status=Status.INTERNAL, message="Expected heartbeat window in response to start session") + raise GRPCError( + status=Status.INTERNAL, + message="Expected heartbeat window in response to start session", + ) with self._lock: self._supported = _SupportedState.TRUE diff --git a/src/viam/utils.py b/src/viam/utils.py index d6fe9e03b..19af00700 100644 --- a/src/viam/utils.py +++ b/src/viam/utils.py @@ -4,7 +4,18 @@ import sys import threading from datetime import datetime -from typing import Any, Dict, List, Mapping, Optional, SupportsBytes, SupportsFloat, Type, TypeVar, Union +from typing import ( + Any, + Dict, + List, + Mapping, + Optional, + SupportsBytes, + SupportsFloat, + Type, + TypeVar, + Union, +) from google.protobuf.json_format import MessageToDict, ParseDict from google.protobuf.message import Message @@ -12,7 +23,15 @@ from google.protobuf.timestamp_pb2 import Timestamp from viam.proto.app.data import CaptureInterval, Filter, TagsFilter -from viam.proto.common import Geometry, GeoPoint, GetGeometriesRequest, GetGeometriesResponse, Orientation, ResourceName, Vector3 +from viam.proto.common import ( + Geometry, + GeoPoint, + GetGeometriesRequest, + GetGeometriesResponse, + Orientation, + ResourceName, + Vector3, +) from viam.resource.base import ResourceBase from viam.resource.registry import Registry from viam.resource.types import Subtype, SupportsGetGeometries @@ -87,7 +106,9 @@ def value_to_primitive(value: Value) -> ValueTypes: if value.HasField("list_value"): return [value_to_primitive(v) for v in value.list_value.values] if value.HasField("struct_value"): - return {k: value_to_primitive(v) for (k, v) in value.struct_value.fields.items()} + return { + k: value_to_primitive(v) for (k, v) in value.struct_value.fields.items() + } if value.HasField("string_value"): return value.string_value if value.HasField("number_value"): @@ -108,7 +129,10 @@ def resource_names_for_resource(resource: ResourceBase) -> List[ResourceName]: subtype: Subtype = registration.resource_type.SUBTYPE rns.append( ResourceName( - namespace=subtype.namespace, type=subtype.resource_type, subtype=subtype.resource_subtype, name=resource.name + namespace=subtype.namespace, + type=subtype.resource_type, + subtype=subtype.resource_subtype, + name=resource.name, ) ) return rns @@ -166,12 +190,17 @@ def datetime_to_timestamp(dt: Optional[datetime]) -> Optional[Timestamp]: async def get_geometries( - client: SupportsGetGeometries, name: str, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None + client: SupportsGetGeometries, + name: str, + extra: Optional[Dict[str, Any]] = None, + timeout: Optional[float] = None, ) -> List[Geometry]: if extra is None: extra = {} request = GetGeometriesRequest(name=name, extra=dict_to_struct(extra)) - response: GetGeometriesResponse = await client.GetGeometries(request, timeout=timeout) + response: GetGeometriesResponse = await client.GetGeometries( + request, timeout=timeout + ) return [geometry for geometry in response.geometries] @@ -179,9 +208,18 @@ def sensor_readings_native_to_value(readings: Mapping[str, Any]) -> Mapping[str, prim_readings = dict(readings) for key, reading in readings.items(): if isinstance(reading, Vector3): - prim_readings[key] = {"x": reading.x, "y": reading.y, "z": reading.z, "_type": "vector3"} + prim_readings[key] = { + "x": reading.x, + "y": reading.y, + "z": reading.z, + "_type": "vector3", + } elif isinstance(reading, GeoPoint): - prim_readings[key] = {"lat": reading.latitude, "lng": reading.longitude, "_type": "geopoint"} + prim_readings[key] = { + "lat": reading.latitude, + "lng": reading.longitude, + "_type": "geopoint", + } elif isinstance(reading, Orientation): prim_readings[key] = { "ox": reading.o_x, @@ -193,19 +231,34 @@ def sensor_readings_native_to_value(readings: Mapping[str, Any]) -> Mapping[str, return {key: primitive_to_value(value) for (key, value) in prim_readings.items()} -def sensor_readings_value_to_native(readings: Mapping[str, Value]) -> Mapping[str, SensorReading]: - prim_readings: Dict[str, Any] = {key: value_to_primitive(value) for (key, value) in readings.items()} +def sensor_readings_value_to_native( + readings: Mapping[str, Value], +) -> Mapping[str, SensorReading]: + prim_readings: Dict[str, Any] = { + key: value_to_primitive(value) for (key, value) in readings.items() + } for key, reading in prim_readings.items(): if isinstance(reading, Mapping): kind = reading.get("_type", "") if kind == "angular_velocity": - prim_readings[key] = Vector3(x=reading["x"], y=reading["y"], z=reading["z"]) + prim_readings[key] = Vector3( + x=reading["x"], y=reading["y"], z=reading["z"] + ) elif kind == "vector3": - prim_readings[key] = Vector3(x=reading["x"], y=reading["y"], z=reading["z"]) + prim_readings[key] = Vector3( + x=reading["x"], y=reading["y"], z=reading["z"] + ) elif kind == "geopoint": - prim_readings[key] = GeoPoint(latitude=reading["lat"], longitude=reading["lng"]) + prim_readings[key] = GeoPoint( + latitude=reading["lat"], longitude=reading["lng"] + ) elif kind == "orientation_vector_degrees": - prim_readings[key] = Orientation(o_x=reading["ox"], o_y=reading["oy"], o_z=reading["oz"], theta=reading["theta"]) + prim_readings[key] = Orientation( + o_x=reading["ox"], + o_y=reading["oy"], + o_z=reading["oz"], + theta=reading["theta"], + ) return prim_readings From 9f7d007b28fb0f1e2f4bc1b1ec58301578df2ffb Mon Sep 17 00:00:00 2001 From: Maxim Pertsov Date: Tue, 27 Feb 2024 13:07:45 -0500 Subject: [PATCH 20/20] fixup type ignores post-format --- src/viam/media/viam_rgba_plugin.py | 4 ++-- src/viam/resource/rpc_service_base.py | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/viam/media/viam_rgba_plugin.py b/src/viam/media/viam_rgba_plugin.py index 058f14bd2..f726af7f2 100644 --- a/src/viam/media/viam_rgba_plugin.py +++ b/src/viam/media/viam_rgba_plugin.py @@ -1,11 +1,11 @@ from typing import ClassVar, Tuple from PIL import Image -from PIL.ImageFile import ( # type: ignore -- (njooma) this exists, manually checked +from PIL.ImageFile import ( ImageFile, PyDecoder, PyEncoder, - _safe_read, + _safe_read, # type: ignore -- (njooma) this exists, manually checked ) from PIL.ImageFile import ( _save as image_save, # type: ignore -- (njooma) this exists, manually checked diff --git a/src/viam/resource/rpc_service_base.py b/src/viam/resource/rpc_service_base.py index 3f43d8c80..31fa7e2e6 100644 --- a/src/viam/resource/rpc_service_base.py +++ b/src/viam/resource/rpc_service_base.py @@ -48,7 +48,8 @@ def get_resource(self, name: str) -> ResourceType: ): return self.manager._resource_by_name_only(name) # type: ignore return self.manager.get_resource( - self.RESOURCE_TYPE, self.RESOURCE_TYPE.get_resource_name(name) - ) # type: ignore + self.RESOURCE_TYPE, # type: ignore + self.RESOURCE_TYPE.get_resource_name(name), # type: ignore + ) except ResourceNotFoundError as e: raise e.grpc_error