From af8eeecb87f0c053c3e835cf684e6ac7ab864a33 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Sat, 26 Nov 2022 07:51:16 -0500 Subject: [PATCH] chore: Update gapic-generator-python to v1.6.1 (#277) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: update to gapic-generator-python 1.5.0 feat: add support for `google.cloud..__version__` PiperOrigin-RevId: 484665853 Source-Link: https://github.com/googleapis/googleapis/commit/8eb249a19db926c2fbc4ecf1dc09c0e521a88b22 Source-Link: https://github.com/googleapis/googleapis-gen/commit/c8aa327b5f478865fc3fd91e3c2768e54e26ad44 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYzhhYTMyN2I1ZjQ3ODg2NWZjM2ZkOTFlM2MyNzY4ZTU0ZTI2YWQ0NCJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update version in gapic_version.py * add .release-please-manifest.json with correct version * set manifest to true in .github/release-please.yml * add release-please-config.json * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * chore: Update to gapic-generator-python 1.6.0 feat(python): Add typing to proto.Message based class attributes feat(python): Snippetgen handling of repeated enum field PiperOrigin-RevId: 487326846 Source-Link: https://github.com/googleapis/googleapis/commit/da380c77bb87ba0f752baf07605dd1db30e1f7e1 Source-Link: https://github.com/googleapis/googleapis-gen/commit/61ef5762ee6731a0cbbfea22fd0eecee51ab1c8e Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNjFlZjU3NjJlZTY3MzFhMGNiYmZlYTIyZmQwZWVjZWU1MWFiMWM4ZSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * feat: new APIs added to reflect updates to the filestore service - Add ENTERPRISE Tier - Add snapshot APIs: RevertInstance, ListSnapshots, CreateSnapshot, DeleteSnapshot, UpdateSnapshot - Add multi-share APIs: ListShares, GetShare, CreateShare, DeleteShare, UpdateShare - Add ConnectMode to NetworkConfig (for Private Service Access support) - New status codes (SUSPENDED/SUSPENDING, REVERTING/RESUMING) - Add SuspensionReason (for KMS related suspension) - Add new fields to Instance information: max_capacity_gb, capacity_step_size_gb, max_share_count, capacity_gb, multi_share_enabled PiperOrigin-RevId: 487492758 Source-Link: https://github.com/googleapis/googleapis/commit/5be5981f50322cf0c7388595e0f31ac5d0693469 Source-Link: https://github.com/googleapis/googleapis-gen/commit/ab0e217f560cc2c1afc11441c2eab6b6950efd2b Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWIwZTIxN2Y1NjBjYzJjMWFmYzExNDQxYzJlYWI2YjY5NTBlZmQyYiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * update path to snippet metadata json * chore: Update gapic-generator-python to v1.6.1 PiperOrigin-RevId: 488036204 Source-Link: https://github.com/googleapis/googleapis/commit/08f275f5c1c0d99056e1cb68376323414459ee19 Source-Link: https://github.com/googleapis/googleapis-gen/commit/555c0945e60649e38739ae64bc45719cdf72178f Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNTU1YzA5NDVlNjA2NDllMzg3MzlhZTY0YmM0NTcxOWNkZjcyMTc4ZiJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md * use templated owlbot.py and setup.py * run nox format session Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .../.github/release-please.yml | 1 + .../.release-please-manifest.json | 3 + packages/google-cloud-trace/docs/conf.py | 2 +- packages/google-cloud-trace/docs/index.rst | 28 ++--- .../docs/trace_v1/types.rst | 1 - .../docs/trace_v2/types.rst | 1 - .../google/cloud/trace/__init__.py | 19 +-- .../google/cloud/trace/gapic_version.py | 16 +++ .../google/cloud/trace_v1/__init__.py | 22 ++-- .../services/trace_service/__init__.py | 2 +- .../services/trace_service/async_client.py | 53 ++++---- .../trace_v1/services/trace_service/client.py | 51 +++++--- .../trace_v1/services/trace_service/pagers.py | 4 +- .../trace_service/transports/__init__.py | 1 - .../services/trace_service/transports/base.py | 8 +- .../services/trace_service/transports/grpc.py | 31 +++-- .../trace_service/transports/grpc_asyncio.py | 27 ++-- .../google/cloud/trace_v1/types/trace.py | 62 +++++----- .../google/cloud/trace_v2/__init__.py | 12 +- .../services/trace_service/__init__.py | 2 +- .../services/trace_service/async_client.py | 47 ++++--- .../trace_v2/services/trace_service/client.py | 47 ++++--- .../trace_service/transports/__init__.py | 1 - .../services/trace_service/transports/base.py | 11 +- .../services/trace_service/transports/grpc.py | 34 +++-- .../trace_service/transports/grpc_asyncio.py | 30 +++-- .../google/cloud/trace_v2/types/__init__.py | 12 +- .../google/cloud/trace_v2/types/trace.py | 116 +++++++++--------- .../google/cloud/trace_v2/types/tracing.py | 9 +- packages/google-cloud-trace/noxfile.py | 1 + packages/google-cloud-trace/owlbot.py | 41 ++++--- .../release-please-config.json | 28 +++++ ...tadata_google.devtools.cloudtrace.v1.json} | 3 +- ...tadata_google.devtools.cloudtrace.v2.json} | 7 +- .../samples/snippets/noxfile.py | 16 +-- packages/google-cloud-trace/setup.py | 51 ++++---- .../testing/constraints-3.10.txt | 6 + .../testing/constraints-3.11.txt | 6 + .../testing/constraints-3.7.txt | 9 +- .../testing/constraints-3.8.txt | 6 + .../testing/constraints-3.9.txt | 6 + .../unit/gapic/trace_v1/test_trace_service.py | 30 ++--- .../unit/gapic/trace_v2/test_trace_service.py | 29 +++-- 43 files changed, 505 insertions(+), 387 deletions(-) create mode 100644 packages/google-cloud-trace/.release-please-manifest.json create mode 100644 packages/google-cloud-trace/google/cloud/trace/gapic_version.py create mode 100644 packages/google-cloud-trace/release-please-config.json rename packages/google-cloud-trace/samples/generated_samples/{snippet_metadata_trace_v1.json => snippet_metadata_google.devtools.cloudtrace.v1.json} (99%) rename packages/google-cloud-trace/samples/generated_samples/{snippet_metadata_trace_v2.json => snippet_metadata_google.devtools.cloudtrace.v2.json} (97%) diff --git a/packages/google-cloud-trace/.github/release-please.yml b/packages/google-cloud-trace/.github/release-please.yml index 6def37a84c98..e9a4f0085128 100644 --- a/packages/google-cloud-trace/.github/release-please.yml +++ b/packages/google-cloud-trace/.github/release-please.yml @@ -1,5 +1,6 @@ releaseType: python handleGHRelease: true +manifest: true # NOTE: this section is generated by synthtool.languages.python # See https://github.com/googleapis/synthtool/blob/master/synthtool/languages/python.py branches: diff --git a/packages/google-cloud-trace/.release-please-manifest.json b/packages/google-cloud-trace/.release-please-manifest.json new file mode 100644 index 000000000000..af3e13df48e0 --- /dev/null +++ b/packages/google-cloud-trace/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + ".": "1.7.3" +} diff --git a/packages/google-cloud-trace/docs/conf.py b/packages/google-cloud-trace/docs/conf.py index 457ae096680b..91359934be64 100644 --- a/packages/google-cloud-trace/docs/conf.py +++ b/packages/google-cloud-trace/docs/conf.py @@ -24,9 +24,9 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys import os import shlex +import sys # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/packages/google-cloud-trace/docs/index.rst b/packages/google-cloud-trace/docs/index.rst index d3130000245e..2df0ec9f59ba 100644 --- a/packages/google-cloud-trace/docs/index.rst +++ b/packages/google-cloud-trace/docs/index.rst @@ -2,25 +2,25 @@ .. include:: multiprocessing.rst -API Reference -------------- +This package includes clients for multiple versions of Cloud Trace. +By default, you will get version ``trace_v2``. -The current version of the API is ``v2``: +API Reference +------------- .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - trace_v2/services - trace_v2/types - -Support for the previous API release, ``v1``, is provided for code previously -written against it. + trace_v2/services + trace_v2/types +API Reference +------------- .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - trace_v1/services - trace_v1/types + trace_v1/services + trace_v1/types Changelog @@ -29,6 +29,6 @@ Changelog For a list of all ``google-cloud-trace`` releases: .. toctree:: - :maxdepth: 2 + :maxdepth: 2 - changelog + changelog diff --git a/packages/google-cloud-trace/docs/trace_v1/types.rst b/packages/google-cloud-trace/docs/trace_v1/types.rst index 761d1e1f1768..1071d8fb323a 100644 --- a/packages/google-cloud-trace/docs/trace_v1/types.rst +++ b/packages/google-cloud-trace/docs/trace_v1/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Trace v1 API .. automodule:: google.cloud.trace_v1.types :members: - :undoc-members: :show-inheritance: diff --git a/packages/google-cloud-trace/docs/trace_v2/types.rst b/packages/google-cloud-trace/docs/trace_v2/types.rst index 3bd88c61f274..47032de537be 100644 --- a/packages/google-cloud-trace/docs/trace_v2/types.rst +++ b/packages/google-cloud-trace/docs/trace_v2/types.rst @@ -3,5 +3,4 @@ Types for Google Cloud Trace v2 API .. automodule:: google.cloud.trace_v2.types :members: - :undoc-members: :show-inheritance: diff --git a/packages/google-cloud-trace/google/cloud/trace/__init__.py b/packages/google-cloud-trace/google/cloud/trace/__init__.py index f69641fbe9e7..76444b0ecc82 100644 --- a/packages/google-cloud-trace/google/cloud/trace/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace/__init__.py @@ -13,17 +13,22 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.trace import gapic_version as package_version + +__version__ = package_version.__version__ + -from google.cloud.trace_v2.services.trace_service.client import TraceServiceClient from google.cloud.trace_v2.services.trace_service.async_client import ( TraceServiceAsyncClient, ) - -from google.cloud.trace_v2.types.trace import AttributeValue -from google.cloud.trace_v2.types.trace import Module -from google.cloud.trace_v2.types.trace import Span -from google.cloud.trace_v2.types.trace import StackTrace -from google.cloud.trace_v2.types.trace import TruncatableString +from google.cloud.trace_v2.services.trace_service.client import TraceServiceClient +from google.cloud.trace_v2.types.trace import ( + AttributeValue, + Module, + Span, + StackTrace, + TruncatableString, +) from google.cloud.trace_v2.types.tracing import BatchWriteSpansRequest __all__ = ( diff --git a/packages/google-cloud-trace/google/cloud/trace/gapic_version.py b/packages/google-cloud-trace/google/cloud/trace/gapic_version.py new file mode 100644 index 000000000000..ed1189c8f006 --- /dev/null +++ b/packages/google-cloud-trace/google/cloud/trace/gapic_version.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Copyright 2022 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +__version__ = "1.7.3" # {x-release-please-version} diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v1/__init__.py index 300eedd03b9f..b9984a0b8525 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/__init__.py @@ -13,17 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.trace import gapic_version as package_version -from .services.trace_service import TraceServiceClient -from .services.trace_service import TraceServiceAsyncClient +__version__ = package_version.__version__ -from .types.trace import GetTraceRequest -from .types.trace import ListTracesRequest -from .types.trace import ListTracesResponse -from .types.trace import PatchTracesRequest -from .types.trace import Trace -from .types.trace import Traces -from .types.trace import TraceSpan + +from .services.trace_service import TraceServiceAsyncClient, TraceServiceClient +from .types.trace import ( + GetTraceRequest, + ListTracesRequest, + ListTracesResponse, + PatchTracesRequest, + Trace, + Traces, + TraceSpan, +) __all__ = ( "TraceServiceAsyncClient", diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/__init__.py index 9205dfea6d37..0e5ef2b202a3 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/__init__.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .client import TraceServiceClient from .async_client import TraceServiceAsyncClient +from .client import TraceServiceClient __all__ = ( "TraceServiceClient", diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/async_client.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/async_client.py index 0c5e44a2747d..551d95c2f6ed 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/async_client.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/async_client.py @@ -16,15 +16,25 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) -from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries +from google.api_core.client_options import ClientOptions from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] @@ -33,9 +43,10 @@ from google.cloud.trace_v1.services.trace_service import pagers from google.cloud.trace_v1.types import trace -from .transports.base import TraceServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport + from .client import TraceServiceClient +from .transports.base import DEFAULT_CLIENT_INFO, TraceServiceTransport +from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport class TraceServiceAsyncClient: @@ -158,9 +169,9 @@ def transport(self) -> TraceServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, TraceServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the trace service client. @@ -204,11 +215,11 @@ def __init__( async def list_traces( self, - request: Union[trace.ListTracesRequest, dict] = None, + request: Optional[Union[trace.ListTracesRequest, dict]] = None, *, - project_id: str = None, + project_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTracesAsyncPager: r"""Returns of a list of traces that match the specified @@ -242,7 +253,7 @@ async def sample_list_traces(): print(response) Args: - request (Union[google.cloud.trace_v1.types.ListTracesRequest, dict]): + request (Optional[Union[google.cloud.trace_v1.types.ListTracesRequest, dict]]): The request object. The request message for the `ListTraces` method. All fields are required unless specified. @@ -332,12 +343,12 @@ async def sample_list_traces(): async def get_trace( self, - request: Union[trace.GetTraceRequest, dict] = None, + request: Optional[Union[trace.GetTraceRequest, dict]] = None, *, - project_id: str = None, - trace_id: str = None, + project_id: Optional[str] = None, + trace_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> trace.Trace: r"""Gets a single trace by its ID. @@ -370,7 +381,7 @@ async def sample_get_trace(): print(response) Args: - request (Union[google.cloud.trace_v1.types.GetTraceRequest, dict]): + request (Optional[Union[google.cloud.trace_v1.types.GetTraceRequest, dict]]): The request object. The request message for the `GetTrace` method. project_id (:class:`str`): @@ -461,12 +472,12 @@ async def sample_get_trace(): async def patch_traces( self, - request: Union[trace.PatchTracesRequest, dict] = None, + request: Optional[Union[trace.PatchTracesRequest, dict]] = None, *, - project_id: str = None, - traces: trace.Traces = None, + project_id: Optional[str] = None, + traces: Optional[trace.Traces] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Sends new traces to Stackdriver Trace or updates @@ -501,7 +512,7 @@ async def sample_patch_traces(): await client.patch_traces(request=request) Args: - request (Union[google.cloud.trace_v1.types.PatchTracesRequest, dict]): + request (Optional[Union[google.cloud.trace_v1.types.PatchTracesRequest, dict]]): The request object. The request message for the `PatchTraces` method. project_id (:class:`str`): diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/client.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/client.py index c83015a15832..f320299e48dd 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/client.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/client.py @@ -16,18 +16,29 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries from google.auth import credentials as ga_credentials # type: ignore +from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.auth.transport import mtls # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] @@ -36,7 +47,8 @@ from google.cloud.trace_v1.services.trace_service import pagers from google.cloud.trace_v1.types import trace -from .transports.base import TraceServiceTransport, DEFAULT_CLIENT_INFO + +from .transports.base import DEFAULT_CLIENT_INFO, TraceServiceTransport from .transports.grpc import TraceServiceGrpcTransport from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport @@ -55,7 +67,7 @@ class TraceServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[TraceServiceTransport]: """Returns an appropriate transport class. @@ -314,8 +326,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, TraceServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, TraceServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the trace service client. @@ -329,7 +341,7 @@ def __init__( transport (Union[str, TraceServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -359,6 +371,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -411,11 +424,11 @@ def __init__( def list_traces( self, - request: Union[trace.ListTracesRequest, dict] = None, + request: Optional[Union[trace.ListTracesRequest, dict]] = None, *, - project_id: str = None, + project_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> pagers.ListTracesPager: r"""Returns of a list of traces that match the specified @@ -529,12 +542,12 @@ def sample_list_traces(): def get_trace( self, - request: Union[trace.GetTraceRequest, dict] = None, + request: Optional[Union[trace.GetTraceRequest, dict]] = None, *, - project_id: str = None, - trace_id: str = None, + project_id: Optional[str] = None, + trace_id: Optional[str] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> trace.Trace: r"""Gets a single trace by its ID. @@ -648,12 +661,12 @@ def sample_get_trace(): def patch_traces( self, - request: Union[trace.PatchTracesRequest, dict] = None, + request: Optional[Union[trace.PatchTracesRequest, dict]] = None, *, - project_id: str = None, - traces: trace.Traces = None, + project_id: Optional[str] = None, + traces: Optional[trace.Traces] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Sends new traces to Stackdriver Trace or updates diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/pagers.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/pagers.py index 7e2961978e6c..a23650325957 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/pagers.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/pagers.py @@ -18,10 +18,10 @@ AsyncIterator, Awaitable, Callable, + Iterator, + Optional, Sequence, Tuple, - Optional, - Iterator, ) from google.cloud.trace_v1.types import trace diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/__init__.py index 556989a1c428..1d7ec1aaea79 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/__init__.py @@ -20,7 +20,6 @@ from .grpc import TraceServiceGrpcTransport from .grpc_asyncio import TraceServiceGrpcAsyncIOTransport - # Compile a registry of transports. _transport_registry = OrderedDict() # type: Dict[str, Type[TraceServiceTransport]] _transport_registry["grpc"] = TraceServiceGrpcTransport diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/base.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/base.py index e9cdae951529..99c9d6f6b064 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/base.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/base.py @@ -15,18 +15,18 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources -import google.auth # type: ignore import google.api_core from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries +import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +from google.protobuf import empty_pb2 # type: ignore +import pkg_resources from google.cloud.trace_v1.types import trace -from google.protobuf import empty_pb2 # type: ignore try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( @@ -53,7 +53,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc.py index 018180904774..d62300140e3c 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc.py @@ -13,20 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import grpc_helpers -from google.api_core import gapic_v1 +from google.api_core import gapic_v1, grpc_helpers import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.protobuf import empty_pb2 # type: ignore import grpc # type: ignore from google.cloud.trace_v1.types import trace -from google.protobuf import empty_pb2 # type: ignore -from .base import TraceServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, TraceServiceTransport class TraceServiceGrpcTransport(TraceServiceTransport): @@ -53,14 +52,14 @@ def __init__( self, *, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -187,8 +186,8 @@ def __init__( def create_channel( cls, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc_asyncio.py b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc_asyncio.py index 1c4a1a2ba89d..c2677d0e7d54 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc_asyncio.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/services/trace_service/transports/grpc_asyncio.py @@ -13,20 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers_async +from google.api_core import gapic_v1, grpc_helpers_async from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.protobuf import empty_pb2 # type: ignore import grpc # type: ignore from grpc.experimental import aio # type: ignore from google.cloud.trace_v1.types import trace -from google.protobuf import empty_pb2 # type: ignore -from .base import TraceServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, TraceServiceTransport from .grpc import TraceServiceGrpcTransport @@ -55,7 +54,7 @@ class TraceServiceGrpcAsyncIOTransport(TraceServiceTransport): def create_channel( cls, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -98,15 +97,15 @@ def __init__( self, *, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/packages/google-cloud-trace/google/cloud/trace_v1/types/trace.py b/packages/google-cloud-trace/google/cloud/trace_v1/types/trace.py index a98c2b3bf4a4..c7257d6f241f 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v1/types/trace.py +++ b/packages/google-cloud-trace/google/cloud/trace_v1/types/trace.py @@ -13,10 +13,10 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import proto # type: ignore +from typing import MutableMapping, MutableSequence from google.protobuf import timestamp_pb2 # type: ignore - +import proto # type: ignore __protobuf__ = proto.module( package="google.devtools.cloudtrace.v1", @@ -45,19 +45,19 @@ class Trace(proto.Message): Globally unique identifier for the trace. This identifier is a 128-bit numeric value formatted as a 32-byte hex string. For example, ``382d4f4c6b7bb2f4a972559d9085001d``. - spans (Sequence[google.cloud.trace_v1.types.TraceSpan]): + spans (MutableSequence[google.cloud.trace_v1.types.TraceSpan]): Collection of spans in the trace. """ - project_id = proto.Field( + project_id: str = proto.Field( proto.STRING, number=1, ) - trace_id = proto.Field( + trace_id: str = proto.Field( proto.STRING, number=2, ) - spans = proto.RepeatedField( + spans: MutableSequence["TraceSpan"] = proto.RepeatedField( proto.MESSAGE, number=3, message="TraceSpan", @@ -68,11 +68,11 @@ class Traces(proto.Message): r"""List of new or updated traces. Attributes: - traces (Sequence[google.cloud.trace_v1.types.Trace]): + traces (MutableSequence[google.cloud.trace_v1.types.Trace]): List of traces. """ - traces = proto.RepeatedField( + traces: MutableSequence["Trace"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Trace", @@ -115,7 +115,7 @@ class TraceSpan(proto.Message): UNIX epoch. parent_span_id (int): Optional. ID of the parent span, if any. - labels (Mapping[str, str]): + labels (MutableMapping[str, str]): Collection of labels associated with the span. Label keys must be less than 128 bytes. Label values must be less than 16 kilobytes (10MB for ``/stacktrace`` values). @@ -162,34 +162,34 @@ class SpanKind(proto.Enum): RPC_SERVER = 1 RPC_CLIENT = 2 - span_id = proto.Field( + span_id: int = proto.Field( proto.FIXED64, number=1, ) - kind = proto.Field( + kind: SpanKind = proto.Field( proto.ENUM, number=2, enum=SpanKind, ) - name = proto.Field( + name: str = proto.Field( proto.STRING, number=3, ) - start_time = proto.Field( + start_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=4, message=timestamp_pb2.Timestamp, ) - end_time = proto.Field( + end_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=5, message=timestamp_pb2.Timestamp, ) - parent_span_id = proto.Field( + parent_span_id: int = proto.Field( proto.FIXED64, number=6, ) - labels = proto.MapField( + labels: MutableMapping[str, str] = proto.MapField( proto.STRING, proto.STRING, number=7, @@ -282,38 +282,38 @@ class ViewType(proto.Enum): ROOTSPAN = 2 COMPLETE = 3 - project_id = proto.Field( + project_id: str = proto.Field( proto.STRING, number=1, ) - view = proto.Field( + view: ViewType = proto.Field( proto.ENUM, number=2, enum=ViewType, ) - page_size = proto.Field( + page_size: int = proto.Field( proto.INT32, number=3, ) - page_token = proto.Field( + page_token: str = proto.Field( proto.STRING, number=4, ) - start_time = proto.Field( + start_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=5, message=timestamp_pb2.Timestamp, ) - end_time = proto.Field( + end_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=6, message=timestamp_pb2.Timestamp, ) - filter = proto.Field( + filter: str = proto.Field( proto.STRING, number=7, ) - order_by = proto.Field( + order_by: str = proto.Field( proto.STRING, number=8, ) @@ -323,7 +323,7 @@ class ListTracesResponse(proto.Message): r"""The response message for the ``ListTraces`` method. Attributes: - traces (Sequence[google.cloud.trace_v1.types.Trace]): + traces (MutableSequence[google.cloud.trace_v1.types.Trace]): List of trace records as specified by the view parameter. next_page_token (str): @@ -337,12 +337,12 @@ class ListTracesResponse(proto.Message): def raw_page(self): return self - traces = proto.RepeatedField( + traces: MutableSequence["Trace"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Trace", ) - next_page_token = proto.Field( + next_page_token: str = proto.Field( proto.STRING, number=2, ) @@ -359,11 +359,11 @@ class GetTraceRequest(proto.Message): Required. ID of the trace to return. """ - project_id = proto.Field( + project_id: str = proto.Field( proto.STRING, number=1, ) - trace_id = proto.Field( + trace_id: str = proto.Field( proto.STRING, number=2, ) @@ -380,11 +380,11 @@ class PatchTracesRequest(proto.Message): Required. The body of the message. """ - project_id = proto.Field( + project_id: str = proto.Field( proto.STRING, number=1, ) - traces = proto.Field( + traces: "Traces" = proto.Field( proto.MESSAGE, number=2, message="Traces", diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v2/__init__.py index a3290028e75b..27a9c1cd9c57 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/__init__.py @@ -13,15 +13,13 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from google.cloud.trace import gapic_version as package_version -from .services.trace_service import TraceServiceClient -from .services.trace_service import TraceServiceAsyncClient +__version__ = package_version.__version__ -from .types.trace import AttributeValue -from .types.trace import Module -from .types.trace import Span -from .types.trace import StackTrace -from .types.trace import TruncatableString + +from .services.trace_service import TraceServiceAsyncClient, TraceServiceClient +from .types.trace import AttributeValue, Module, Span, StackTrace, TruncatableString from .types.tracing import BatchWriteSpansRequest __all__ = ( diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/__init__.py index 9205dfea6d37..0e5ef2b202a3 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/__init__.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .client import TraceServiceClient from .async_client import TraceServiceAsyncClient +from .client import TraceServiceClient __all__ = ( "TraceServiceClient", diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/async_client.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/async_client.py index 0d575af5f4c7..64c6b11d24e1 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/async_client.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/async_client.py @@ -16,29 +16,40 @@ from collections import OrderedDict import functools import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, +) -from google.api_core.client_options import ClientOptions from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries +from google.api_core.client_options import ClientOptions from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] except AttributeError: # pragma: NO COVER OptionalRetry = Union[retries.Retry, object] # type: ignore -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing from google.protobuf import timestamp_pb2 # type: ignore from google.protobuf import wrappers_pb2 # type: ignore from google.rpc import status_pb2 # type: ignore -from .transports.base import TraceServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport + +from google.cloud.trace_v2.types import trace, tracing + from .client import TraceServiceClient +from .transports.base import DEFAULT_CLIENT_INFO, TraceServiceTransport +from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport class TraceServiceAsyncClient: @@ -163,9 +174,9 @@ def transport(self) -> TraceServiceTransport: def __init__( self, *, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, transport: Union[str, TraceServiceTransport] = "grpc_asyncio", - client_options: ClientOptions = None, + client_options: Optional[ClientOptions] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the trace service client. @@ -209,12 +220,12 @@ def __init__( async def batch_write_spans( self, - request: Union[tracing.BatchWriteSpansRequest, dict] = None, + request: Optional[Union[tracing.BatchWriteSpansRequest, dict]] = None, *, - name: str = None, - spans: Sequence[trace.Span] = None, + name: Optional[str] = None, + spans: Optional[MutableSequence[trace.Span]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Sends new spans to new or existing traces. You cannot @@ -249,7 +260,7 @@ async def sample_batch_write_spans(): await client.batch_write_spans(request=request) Args: - request (Union[google.cloud.trace_v2.types.BatchWriteSpansRequest, dict]): + request (Optional[Union[google.cloud.trace_v2.types.BatchWriteSpansRequest, dict]]): The request object. The request message for the `BatchWriteSpans` method. name (:class:`str`): @@ -259,7 +270,7 @@ async def sample_batch_write_spans(): This corresponds to the ``name`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - spans (:class:`Sequence[google.cloud.trace_v2.types.Span]`): + spans (:class:`MutableSequence[google.cloud.trace_v2.types.Span]`): Required. A list of new spans. The span names must not match existing spans, or the results are undefined. @@ -316,10 +327,10 @@ async def sample_batch_write_spans(): async def create_span( self, - request: Union[trace.Span, dict] = None, + request: Optional[Union[trace.Span, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> trace.Span: r"""Creates a new span. @@ -352,7 +363,7 @@ async def sample_create_span(): print(response) Args: - request (Union[google.cloud.trace_v2.types.Span, dict]): + request (Optional[Union[google.cloud.trace_v2.types.Span, dict]]): The request object. A span represents a single operation within a trace. Spans can be nested to form a trace tree. Often, a trace contains a root span that describes diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/client.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/client.py index cf825ae1a092..3c522dff9430 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/client.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/client.py @@ -16,30 +16,42 @@ from collections import OrderedDict import os import re -from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources +from typing import ( + Dict, + Mapping, + MutableMapping, + MutableSequence, + Optional, + Sequence, + Tuple, + Type, + Union, + cast, +) from google.api_core import client_options as client_options_lib from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries from google.auth import credentials as ga_credentials # type: ignore +from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.auth.transport import mtls # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore -from google.auth.exceptions import MutualTLSChannelError # type: ignore from google.oauth2 import service_account # type: ignore +import pkg_resources try: OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault] except AttributeError: # pragma: NO COVER OptionalRetry = Union[retries.Retry, object] # type: ignore -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing from google.protobuf import timestamp_pb2 # type: ignore from google.protobuf import wrappers_pb2 # type: ignore from google.rpc import status_pb2 # type: ignore -from .transports.base import TraceServiceTransport, DEFAULT_CLIENT_INFO + +from google.cloud.trace_v2.types import trace, tracing + +from .transports.base import DEFAULT_CLIENT_INFO, TraceServiceTransport from .transports.grpc import TraceServiceGrpcTransport from .transports.grpc_asyncio import TraceServiceGrpcAsyncIOTransport @@ -58,7 +70,7 @@ class TraceServiceClientMeta(type): def get_transport_class( cls, - label: str = None, + label: Optional[str] = None, ) -> Type[TraceServiceTransport]: """Returns an appropriate transport class. @@ -339,8 +351,8 @@ def __init__( self, *, credentials: Optional[ga_credentials.Credentials] = None, - transport: Union[str, TraceServiceTransport, None] = None, - client_options: Optional[client_options_lib.ClientOptions] = None, + transport: Optional[Union[str, TraceServiceTransport]] = None, + client_options: Optional[Union[client_options_lib.ClientOptions, dict]] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, ) -> None: """Instantiates the trace service client. @@ -354,7 +366,7 @@ def __init__( transport (Union[str, TraceServiceTransport]): The transport to use. If set to None, a transport is chosen automatically. - client_options (google.api_core.client_options.ClientOptions): Custom options for the + client_options (Optional[Union[google.api_core.client_options.ClientOptions, dict]]): Custom options for the client. It won't take effect if a ``transport`` instance is provided. (1) The ``api_endpoint`` property can be used to override the default endpoint provided by the client. GOOGLE_API_USE_MTLS_ENDPOINT @@ -384,6 +396,7 @@ def __init__( client_options = client_options_lib.from_dict(client_options) if client_options is None: client_options = client_options_lib.ClientOptions() + client_options = cast(client_options_lib.ClientOptions, client_options) api_endpoint, client_cert_source_func = self.get_mtls_endpoint_and_cert_source( client_options @@ -436,12 +449,12 @@ def __init__( def batch_write_spans( self, - request: Union[tracing.BatchWriteSpansRequest, dict] = None, + request: Optional[Union[tracing.BatchWriteSpansRequest, dict]] = None, *, - name: str = None, - spans: Sequence[trace.Span] = None, + name: Optional[str] = None, + spans: Optional[MutableSequence[trace.Span]] = None, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> None: r"""Sends new spans to new or existing traces. You cannot @@ -486,7 +499,7 @@ def sample_batch_write_spans(): This corresponds to the ``name`` field on the ``request`` instance; if ``request`` is provided, this should not be set. - spans (Sequence[google.cloud.trace_v2.types.Span]): + spans (MutableSequence[google.cloud.trace_v2.types.Span]): Required. A list of new spans. The span names must not match existing spans, or the results are undefined. @@ -543,10 +556,10 @@ def sample_batch_write_spans(): def create_span( self, - request: Union[trace.Span, dict] = None, + request: Optional[Union[trace.Span, dict]] = None, *, retry: OptionalRetry = gapic_v1.method.DEFAULT, - timeout: float = None, + timeout: Optional[float] = None, metadata: Sequence[Tuple[str, str]] = (), ) -> trace.Span: r"""Creates a new span. diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/__init__.py index 556989a1c428..1d7ec1aaea79 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/__init__.py @@ -20,7 +20,6 @@ from .grpc import TraceServiceGrpcTransport from .grpc_asyncio import TraceServiceGrpcAsyncIOTransport - # Compile a registry of transports. _transport_registry = OrderedDict() # type: Dict[str, Type[TraceServiceTransport]] _transport_registry["grpc"] = TraceServiceGrpcTransport diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/base.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/base.py index 62fdd91ddd7f..efe624fb009e 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/base.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/base.py @@ -15,19 +15,18 @@ # import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union -import pkg_resources -import google.auth # type: ignore import google.api_core from google.api_core import exceptions as core_exceptions from google.api_core import gapic_v1 from google.api_core import retry as retries +import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.oauth2 import service_account # type: ignore - -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing from google.protobuf import empty_pb2 # type: ignore +import pkg_resources + +from google.cloud.trace_v2.types import trace, tracing try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( @@ -53,7 +52,7 @@ def __init__( self, *, host: str = DEFAULT_HOST, - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc.py index 95b102315b14..201e06f475b7 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc.py @@ -13,21 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import grpc_helpers -from google.api_core import gapic_v1 +from google.api_core import gapic_v1, grpc_helpers import google.auth # type: ignore from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.protobuf import empty_pb2 # type: ignore import grpc # type: ignore -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing -from google.protobuf import empty_pb2 # type: ignore -from .base import TraceServiceTransport, DEFAULT_CLIENT_INFO +from google.cloud.trace_v2.types import trace, tracing + +from .base import DEFAULT_CLIENT_INFO, TraceServiceTransport class TraceServiceGrpcTransport(TraceServiceTransport): @@ -54,14 +52,14 @@ def __init__( self, *, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, - scopes: Sequence[str] = None, - channel: grpc.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, + scopes: Optional[Sequence[str]] = None, + channel: Optional[grpc.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, @@ -188,8 +186,8 @@ def __init__( def create_channel( cls, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, - credentials_file: str = None, + credentials: Optional[ga_credentials.Credentials] = None, + credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, **kwargs, diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc_asyncio.py b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc_asyncio.py index 4bdd7d4955ae..d900c988deea 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc_asyncio.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/services/trace_service/transports/grpc_asyncio.py @@ -13,21 +13,19 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import warnings from typing import Awaitable, Callable, Dict, Optional, Sequence, Tuple, Union +import warnings -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers_async +from google.api_core import gapic_v1, grpc_helpers_async from google.auth import credentials as ga_credentials # type: ignore from google.auth.transport.grpc import SslCredentials # type: ignore - +from google.protobuf import empty_pb2 # type: ignore import grpc # type: ignore from grpc.experimental import aio # type: ignore -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing -from google.protobuf import empty_pb2 # type: ignore -from .base import TraceServiceTransport, DEFAULT_CLIENT_INFO +from google.cloud.trace_v2.types import trace, tracing + +from .base import DEFAULT_CLIENT_INFO, TraceServiceTransport from .grpc import TraceServiceGrpcTransport @@ -56,7 +54,7 @@ class TraceServiceGrpcAsyncIOTransport(TraceServiceTransport): def create_channel( cls, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, quota_project_id: Optional[str] = None, @@ -99,15 +97,15 @@ def __init__( self, *, host: str = "cloudtrace.googleapis.com", - credentials: ga_credentials.Credentials = None, + credentials: Optional[ga_credentials.Credentials] = None, credentials_file: Optional[str] = None, scopes: Optional[Sequence[str]] = None, - channel: aio.Channel = None, - api_mtls_endpoint: str = None, - client_cert_source: Callable[[], Tuple[bytes, bytes]] = None, - ssl_channel_credentials: grpc.ChannelCredentials = None, - client_cert_source_for_mtls: Callable[[], Tuple[bytes, bytes]] = None, - quota_project_id=None, + channel: Optional[aio.Channel] = None, + api_mtls_endpoint: Optional[str] = None, + client_cert_source: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + ssl_channel_credentials: Optional[grpc.ChannelCredentials] = None, + client_cert_source_for_mtls: Optional[Callable[[], Tuple[bytes, bytes]]] = None, + quota_project_id: Optional[str] = None, client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO, always_use_jwt_access: Optional[bool] = False, api_audience: Optional[str] = None, diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/types/__init__.py b/packages/google-cloud-trace/google/cloud/trace_v2/types/__init__.py index 9de40322520f..70bd272fc0d9 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/types/__init__.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/types/__init__.py @@ -13,16 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .trace import ( - AttributeValue, - Module, - Span, - StackTrace, - TruncatableString, -) -from .tracing import ( - BatchWriteSpansRequest, -) +from .trace import AttributeValue, Module, Span, StackTrace, TruncatableString +from .tracing import BatchWriteSpansRequest __all__ = ( "AttributeValue", diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/types/trace.py b/packages/google-cloud-trace/google/cloud/trace_v2/types/trace.py index 410e8bb65bb0..d65a0556740f 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/types/trace.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/types/trace.py @@ -13,12 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import proto # type: ignore +from typing import MutableMapping, MutableSequence from google.protobuf import timestamp_pb2 # type: ignore from google.protobuf import wrappers_pb2 # type: ignore from google.rpc import status_pb2 # type: ignore - +import proto # type: ignore __protobuf__ = proto.module( package="google.devtools.cloudtrace.v2", @@ -133,7 +133,7 @@ class Attributes(proto.Message): r"""A set of attributes, each in the format ``[KEY]:[VALUE]``. Attributes: - attribute_map (Mapping[str, google.cloud.trace_v2.types.AttributeValue]): + attribute_map (MutableMapping[str, google.cloud.trace_v2.types.AttributeValue]): The set of attributes. Each attribute's key can be up to 128 bytes long. The value can be a string up to 256 bytes, a signed 64-bit integer, or the Boolean values ``true`` and @@ -152,13 +152,13 @@ class Attributes(proto.Message): attributes are valid. """ - attribute_map = proto.MapField( + attribute_map: MutableMapping[str, "AttributeValue"] = proto.MapField( proto.STRING, proto.MESSAGE, number=1, message="AttributeValue", ) - dropped_attributes_count = proto.Field( + dropped_attributes_count: int = proto.Field( proto.INT32, number=2, ) @@ -201,12 +201,12 @@ class Annotation(proto.Message): can have up to 4 attributes per Annotation. """ - description = proto.Field( + description: "TruncatableString" = proto.Field( proto.MESSAGE, number=1, message="TruncatableString", ) - attributes = proto.Field( + attributes: "Span.Attributes" = proto.Field( proto.MESSAGE, number=2, message="Span.Attributes", @@ -239,36 +239,36 @@ class Type(proto.Enum): SENT = 1 RECEIVED = 2 - type = proto.Field( + type: "Span.TimeEvent.MessageEvent.Type" = proto.Field( proto.ENUM, number=1, enum="Span.TimeEvent.MessageEvent.Type", ) - id = proto.Field( + id: int = proto.Field( proto.INT64, number=2, ) - uncompressed_size_bytes = proto.Field( + uncompressed_size_bytes: int = proto.Field( proto.INT64, number=3, ) - compressed_size_bytes = proto.Field( + compressed_size_bytes: int = proto.Field( proto.INT64, number=4, ) - time = proto.Field( + time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=1, message=timestamp_pb2.Timestamp, ) - annotation = proto.Field( + annotation: "Span.TimeEvent.Annotation" = proto.Field( proto.MESSAGE, number=2, oneof="value", message="Span.TimeEvent.Annotation", ) - message_event = proto.Field( + message_event: "Span.TimeEvent.MessageEvent" = proto.Field( proto.MESSAGE, number=3, oneof="value", @@ -281,7 +281,7 @@ class TimeEvents(proto.Message): pairs, or details of a message sent/received between Spans. Attributes: - time_event (Sequence[google.cloud.trace_v2.types.Span.TimeEvent]): + time_event (MutableSequence[google.cloud.trace_v2.types.Span.TimeEvent]): A collection of ``TimeEvent``\ s. dropped_annotations_count (int): The number of dropped annotations in all the @@ -293,16 +293,16 @@ class TimeEvents(proto.Message): then no message events were dropped. """ - time_event = proto.RepeatedField( + time_event: MutableSequence["Span.TimeEvent"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Span.TimeEvent", ) - dropped_annotations_count = proto.Field( + dropped_annotations_count: int = proto.Field( proto.INT32, number=2, ) - dropped_message_events_count = proto.Field( + dropped_message_events_count: int = proto.Field( proto.INT32, number=3, ) @@ -335,20 +335,20 @@ class Type(proto.Enum): CHILD_LINKED_SPAN = 1 PARENT_LINKED_SPAN = 2 - trace_id = proto.Field( + trace_id: str = proto.Field( proto.STRING, number=1, ) - span_id = proto.Field( + span_id: str = proto.Field( proto.STRING, number=2, ) - type = proto.Field( + type: "Span.Link.Type" = proto.Field( proto.ENUM, number=3, enum="Span.Link.Type", ) - attributes = proto.Field( + attributes: "Span.Attributes" = proto.Field( proto.MESSAGE, number=4, message="Span.Attributes", @@ -359,7 +359,7 @@ class Links(proto.Message): a span in the same or different trace. Attributes: - link (Sequence[google.cloud.trace_v2.types.Span.Link]): + link (MutableSequence[google.cloud.trace_v2.types.Span.Link]): A collection of links. dropped_links_count (int): The number of dropped links after the maximum @@ -367,79 +367,79 @@ class Links(proto.Message): links were dropped. """ - link = proto.RepeatedField( + link: MutableSequence["Span.Link"] = proto.RepeatedField( proto.MESSAGE, number=1, message="Span.Link", ) - dropped_links_count = proto.Field( + dropped_links_count: int = proto.Field( proto.INT32, number=2, ) - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - span_id = proto.Field( + span_id: str = proto.Field( proto.STRING, number=2, ) - parent_span_id = proto.Field( + parent_span_id: str = proto.Field( proto.STRING, number=3, ) - display_name = proto.Field( + display_name: "TruncatableString" = proto.Field( proto.MESSAGE, number=4, message="TruncatableString", ) - start_time = proto.Field( + start_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=5, message=timestamp_pb2.Timestamp, ) - end_time = proto.Field( + end_time: timestamp_pb2.Timestamp = proto.Field( proto.MESSAGE, number=6, message=timestamp_pb2.Timestamp, ) - attributes = proto.Field( + attributes: Attributes = proto.Field( proto.MESSAGE, number=7, message=Attributes, ) - stack_trace = proto.Field( + stack_trace: "StackTrace" = proto.Field( proto.MESSAGE, number=8, message="StackTrace", ) - time_events = proto.Field( + time_events: TimeEvents = proto.Field( proto.MESSAGE, number=9, message=TimeEvents, ) - links = proto.Field( + links: Links = proto.Field( proto.MESSAGE, number=10, message=Links, ) - status = proto.Field( + status: status_pb2.Status = proto.Field( proto.MESSAGE, number=11, message=status_pb2.Status, ) - same_process_as_parent_span = proto.Field( + same_process_as_parent_span: wrappers_pb2.BoolValue = proto.Field( proto.MESSAGE, number=12, message=wrappers_pb2.BoolValue, ) - child_span_count = proto.Field( + child_span_count: wrappers_pb2.Int32Value = proto.Field( proto.MESSAGE, number=13, message=wrappers_pb2.Int32Value, ) - span_kind = proto.Field( + span_kind: SpanKind = proto.Field( proto.ENUM, number=14, enum=SpanKind, @@ -471,18 +471,18 @@ class AttributeValue(proto.Message): This field is a member of `oneof`_ ``value``. """ - string_value = proto.Field( + string_value: "TruncatableString" = proto.Field( proto.MESSAGE, number=1, oneof="value", message="TruncatableString", ) - int_value = proto.Field( + int_value: int = proto.Field( proto.INT64, number=2, oneof="value", ) - bool_value = proto.Field( + bool_value: bool = proto.Field( proto.BOOL, number=3, oneof="value", @@ -538,35 +538,35 @@ class StackFrame(proto.Message): to 128 bytes). """ - function_name = proto.Field( + function_name: "TruncatableString" = proto.Field( proto.MESSAGE, number=1, message="TruncatableString", ) - original_function_name = proto.Field( + original_function_name: "TruncatableString" = proto.Field( proto.MESSAGE, number=2, message="TruncatableString", ) - file_name = proto.Field( + file_name: "TruncatableString" = proto.Field( proto.MESSAGE, number=3, message="TruncatableString", ) - line_number = proto.Field( + line_number: int = proto.Field( proto.INT64, number=4, ) - column_number = proto.Field( + column_number: int = proto.Field( proto.INT64, number=5, ) - load_module = proto.Field( + load_module: "Module" = proto.Field( proto.MESSAGE, number=6, message="Module", ) - source_version = proto.Field( + source_version: "TruncatableString" = proto.Field( proto.MESSAGE, number=7, message="TruncatableString", @@ -576,7 +576,7 @@ class StackFrames(proto.Message): r"""A collection of stack frames, which can be truncated. Attributes: - frame (Sequence[google.cloud.trace_v2.types.StackTrace.StackFrame]): + frame (MutableSequence[google.cloud.trace_v2.types.StackTrace.StackFrame]): Stack frames in this call stack. dropped_frames_count (int): The number of stack frames that were dropped @@ -585,22 +585,22 @@ class StackFrames(proto.Message): dropped. """ - frame = proto.RepeatedField( + frame: MutableSequence["StackTrace.StackFrame"] = proto.RepeatedField( proto.MESSAGE, number=1, message="StackTrace.StackFrame", ) - dropped_frames_count = proto.Field( + dropped_frames_count: int = proto.Field( proto.INT32, number=2, ) - stack_frames = proto.Field( + stack_frames: StackFrames = proto.Field( proto.MESSAGE, number=1, message=StackFrames, ) - stack_trace_hash_id = proto.Field( + stack_trace_hash_id: int = proto.Field( proto.INT64, number=2, ) @@ -619,12 +619,12 @@ class Module(proto.Message): hash of its contents (up to 128 bytes). """ - module = proto.Field( + module: "TruncatableString" = proto.Field( proto.MESSAGE, number=1, message="TruncatableString", ) - build_id = proto.Field( + build_id: "TruncatableString" = proto.Field( proto.MESSAGE, number=2, message="TruncatableString", @@ -652,11 +652,11 @@ class TruncatableString(proto.Message): not shortened. """ - value = proto.Field( + value: str = proto.Field( proto.STRING, number=1, ) - truncated_byte_count = proto.Field( + truncated_byte_count: int = proto.Field( proto.INT32, number=2, ) diff --git a/packages/google-cloud-trace/google/cloud/trace_v2/types/tracing.py b/packages/google-cloud-trace/google/cloud/trace_v2/types/tracing.py index f2ce5e508b80..eba963cedc0d 100644 --- a/packages/google-cloud-trace/google/cloud/trace_v2/types/tracing.py +++ b/packages/google-cloud-trace/google/cloud/trace_v2/types/tracing.py @@ -13,11 +13,12 @@ # See the License for the specific language governing permissions and # limitations under the License. # +from typing import MutableMapping, MutableSequence + import proto # type: ignore from google.cloud.trace_v2.types import trace - __protobuf__ = proto.module( package="google.devtools.cloudtrace.v2", manifest={ @@ -33,17 +34,17 @@ class BatchWriteSpansRequest(proto.Message): name (str): Required. The name of the project where the spans belong. The format is ``projects/[PROJECT_ID]``. - spans (Sequence[google.cloud.trace_v2.types.Span]): + spans (MutableSequence[google.cloud.trace_v2.types.Span]): Required. A list of new spans. The span names must not match existing spans, or the results are undefined. """ - name = proto.Field( + name: str = proto.Field( proto.STRING, number=1, ) - spans = proto.RepeatedField( + spans: MutableSequence[trace.Span] = proto.RepeatedField( proto.MESSAGE, number=2, message=trace.Span, diff --git a/packages/google-cloud-trace/noxfile.py b/packages/google-cloud-trace/noxfile.py index d752b54f56da..d8440c023805 100644 --- a/packages/google-cloud-trace/noxfile.py +++ b/packages/google-cloud-trace/noxfile.py @@ -17,6 +17,7 @@ # Generated by synthtool. DO NOT EDIT! from __future__ import absolute_import + import os import pathlib import re diff --git a/packages/google-cloud-trace/owlbot.py b/packages/google-cloud-trace/owlbot.py index 03bc2a249cf2..1cb32176c00e 100644 --- a/packages/google-cloud-trace/owlbot.py +++ b/packages/google-cloud-trace/owlbot.py @@ -1,4 +1,4 @@ -# Copyright 2018 Google LLC +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,17 +12,30 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""This script is used to synthesize generated parts of this library.""" +import json +from pathlib import Path +import shutil -from synthtool.languages import python import synthtool as s import synthtool.gcp as gcp +from synthtool.languages import python + +# ---------------------------------------------------------------------------- +# Copy the generated client from the owl-bot staging directory +# ---------------------------------------------------------------------------- -common = gcp.CommonTemplates() +clean_up_generated_samples = True -default_version = "v2" +# Load the default version defined in .repo-metadata.json. +default_version = json.load(open(".repo-metadata.json", "rt")).get( + "default_version" +) for library in s.get_staging_dirs(default_version): + if clean_up_generated_samples: + shutil.rmtree("samples/generated_samples", ignore_errors=True) + clean_up_generated_samples = False + # Rename field `type_` to `type` in v1 and v2 to avoid breaking change s.replace( library / "google/**/types/*.py", @@ -30,22 +43,22 @@ "type" ) - s.move(library, excludes=["docs/index.rst", "setup.py", "README.rst"]) - + s.move([library], excludes=["**/gapic_version.py"]) s.remove_staging_dirs() # ---------------------------------------------------------------------------- # Add templated files # ---------------------------------------------------------------------------- -templated_files = common.py_library( - samples=True, # set to True only if there are samples - microgenerator=True, + +templated_files = gcp.CommonTemplates().py_library( cov_level=100, + microgenerator=True, + versions=gcp.common.detect_versions(path="./google", default_first=True), ) - -s.move(templated_files, excludes=[".coveragerc"]) # microgenerator has a good .coveragerc file +s.move(templated_files, excludes=[".coveragerc", ".github/release-please.yml"]) python.py_samples(skip_readmes=True) -python.configure_previous_major_version_branches() -s.shell.run(["nox", "-s", "blacken"], hide_output=False) +# run format session for all directories which have a noxfile +for noxfile in Path(".").glob("**/noxfile.py"): + s.shell.run(["nox", "-s", "format"], cwd=noxfile.parent, hide_output=False) diff --git a/packages/google-cloud-trace/release-please-config.json b/packages/google-cloud-trace/release-please-config.json new file mode 100644 index 000000000000..7a953fbf5eb1 --- /dev/null +++ b/packages/google-cloud-trace/release-please-config.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json", + "packages": { + ".": { + "release-type": "python", + "extra-files": [ + "google/cloud/trace/gapic_version.py", + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v1.json", + "jsonpath": "$.clientLibrary.version" + }, + { + "type": "json", + "path": "samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v2.json", + "jsonpath": "$.clientLibrary.version" + } + ] + } + }, + "release-type": "python", + "plugins": [ + { + "type": "sentence-case" + } + ], + "initial-version": "0.1.0" +} diff --git a/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v1.json b/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v1.json similarity index 99% rename from packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v1.json rename to packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v1.json index 53f2422c6bb4..d3b883caf123 100644 --- a/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v1.json +++ b/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v1.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-trace" + "name": "google-cloud-trace", + "version": "0.1.0" }, "snippets": [ { diff --git a/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v2.json b/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v2.json similarity index 97% rename from packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v2.json rename to packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v2.json index d37e0ff9c3a5..3f65264fc1b5 100644 --- a/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_trace_v2.json +++ b/packages/google-cloud-trace/samples/generated_samples/snippet_metadata_google.devtools.cloudtrace.v2.json @@ -7,7 +7,8 @@ } ], "language": "PYTHON", - "name": "google-cloud-trace" + "name": "google-cloud-trace", + "version": "0.1.0" }, "snippets": [ { @@ -38,7 +39,7 @@ }, { "name": "spans", - "type": "Sequence[google.cloud.trace_v2.types.Span]" + "type": "MutableSequence[google.cloud.trace_v2.types.Span]" }, { "name": "retry", @@ -119,7 +120,7 @@ }, { "name": "spans", - "type": "Sequence[google.cloud.trace_v2.types.Span]" + "type": "MutableSequence[google.cloud.trace_v2.types.Span]" }, { "name": "retry", diff --git a/packages/google-cloud-trace/samples/snippets/noxfile.py b/packages/google-cloud-trace/samples/snippets/noxfile.py index f5c32b22789b..0577084695fc 100644 --- a/packages/google-cloud-trace/samples/snippets/noxfile.py +++ b/packages/google-cloud-trace/samples/snippets/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -160,6 +159,7 @@ def blacken(session: nox.sessions.Session) -> None: # format = isort + black # + @nox.session def format(session: nox.sessions.Session) -> None: """ @@ -187,7 +187,9 @@ def _session_tests( session: nox.sessions.Session, post_install: Callable = None ) -> None: # check for presence of tests - test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob("**/test_*.py", recursive=True) + test_list = glob.glob("**/*_test.py", recursive=True) + glob.glob( + "**/test_*.py", recursive=True + ) test_list.extend(glob.glob("**/tests", recursive=True)) if len(test_list) == 0: @@ -209,9 +211,7 @@ def _session_tests( if os.path.exists("requirements-test.txt"): if os.path.exists("constraints-test.txt"): - session.install( - "-r", "requirements-test.txt", "-c", "constraints-test.txt" - ) + session.install("-r", "requirements-test.txt", "-c", "constraints-test.txt") else: session.install("-r", "requirements-test.txt") with open("requirements-test.txt") as rtfile: @@ -224,9 +224,9 @@ def _session_tests( post_install(session) if "pytest-parallel" in packages: - concurrent_args.extend(['--workers', 'auto', '--tests-per-worker', 'auto']) + concurrent_args.extend(["--workers", "auto", "--tests-per-worker", "auto"]) elif "pytest-xdist" in packages: - concurrent_args.extend(['-n', 'auto']) + concurrent_args.extend(["-n", "auto"]) session.run( "pytest", @@ -256,7 +256,7 @@ def py(session: nox.sessions.Session) -> None: def _get_repo_root() -> Optional[str]: - """ Returns the root folder of the project. """ + """Returns the root folder of the project.""" # Get root of this repository. Assume we don't have directories nested deeper than 10 items. p = Path(os.getcwd()) for i in range(10): diff --git a/packages/google-cloud-trace/setup.py b/packages/google-cloud-trace/setup.py index 16aa427ef7f5..37da5f2a22f1 100644 --- a/packages/google-cloud-trace/setup.py +++ b/packages/google-cloud-trace/setup.py @@ -1,4 +1,5 @@ -# Copyright 2018 Google LLC +# -*- coding: utf-8 -*- +# Copyright 2022 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -11,32 +12,35 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - +# import io import os -import setuptools +import setuptools # type: ignore - -# Package metadata. +package_root = os.path.abspath(os.path.dirname(__file__)) name = "google-cloud-trace" -description = "Cloud Trace API client library" -version = "1.7.3" -# Should be one of: -# 'Development Status :: 3 - Alpha' -# 'Development Status :: 4 - Beta' -# 'Development Status :: 5 - Production/Stable' -release_status = "Development Status :: 5 - Production/Stable" + + +description = "Google Cloud Trace API client library" + +version = {} +with open(os.path.join(package_root, "google/cloud/trace/gapic_version.py")) as fp: + exec(fp.read(), version) +version = version["__version__"] + +if version[0] == "0": + release_status = "Development Status :: 4 - Beta" +else: + release_status = "Development Status :: 5 - Production/Stable" + dependencies = [ - "google-api-core[grpc] >= 1.32.0, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*", + "google-api-core[grpc] >= 1.33.2, <3.0.0dev,!=2.0.*,!=2.1.*,!=2.2.*,!=2.3.*,!=2.4.*,!=2.5.*,!=2.6.*,!=2.7.*", "proto-plus >= 1.22.0, <2.0.0dev", "protobuf>=3.19.5,<5.0.0dev,!=3.20.0,!=3.20.1,!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5", ] -extras = {} - - -# Setup boilerplate below this line. +url = "https://github.com/googleapis/python-trace" package_root = os.path.abspath(os.path.dirname(__file__)) @@ -44,20 +48,16 @@ with io.open(readme_filename, encoding="utf-8") as readme_file: readme = readme_file.read() -# Only include packages under the 'google' namespace. Do not include tests, -# benchmarks, etc. packages = [ package for package in setuptools.PEP420PackageFinder.find() if package.startswith("google") ] -# Determine which namespaces are needed. namespaces = ["google"] if "google.cloud" in packages: namespaces.append("google.cloud") - setuptools.setup( name=name, version=version, @@ -66,7 +66,7 @@ author="Google LLC", author_email="googleapis-packages@google.com", license="Apache 2.0", - url="https://github.com/googleapis/python-trace", + url=url, classifiers=[ release_status, "Intended Audience :: Developers", @@ -82,14 +82,9 @@ ], platforms="Posix; MacOS X; Windows", packages=packages, + python_requires=">=3.7", namespace_packages=namespaces, install_requires=dependencies, - extras_require=extras, - python_requires=">=3.7", - scripts=[ - "scripts/fixup_trace_v1_keywords.py", - "scripts/fixup_trace_v2_keywords.py", - ], include_package_data=True, zip_safe=False, ) diff --git a/packages/google-cloud-trace/testing/constraints-3.10.txt b/packages/google-cloud-trace/testing/constraints-3.10.txt index e69de29bb2d1..ed7f9aed2559 100644 --- a/packages/google-cloud-trace/testing/constraints-3.10.txt +++ b/packages/google-cloud-trace/testing/constraints-3.10.txt @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf diff --git a/packages/google-cloud-trace/testing/constraints-3.11.txt b/packages/google-cloud-trace/testing/constraints-3.11.txt index e69de29bb2d1..ed7f9aed2559 100644 --- a/packages/google-cloud-trace/testing/constraints-3.11.txt +++ b/packages/google-cloud-trace/testing/constraints-3.11.txt @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf diff --git a/packages/google-cloud-trace/testing/constraints-3.7.txt b/packages/google-cloud-trace/testing/constraints-3.7.txt index 5dcaa6fd1884..6f3158cc2034 100644 --- a/packages/google-cloud-trace/testing/constraints-3.7.txt +++ b/packages/google-cloud-trace/testing/constraints-3.7.txt @@ -1,10 +1,9 @@ # This constraints file is used to check that lower bounds # are correct in setup.py -# List *all* library dependencies and extras in this file. +# List all library dependencies and extras in this file. # Pin the version to the lower bound. -# -# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev", -# Then this file should have foo==1.14.0 -google-api-core==1.32.0 +# e.g., if setup.py has "google-cloud-foo >= 1.14.0, < 2.0.0dev", +# Then this file should have google-cloud-foo==1.14.0 +google-api-core==1.33.2 proto-plus==1.22.0 protobuf==3.19.5 diff --git a/packages/google-cloud-trace/testing/constraints-3.8.txt b/packages/google-cloud-trace/testing/constraints-3.8.txt index e69de29bb2d1..ed7f9aed2559 100644 --- a/packages/google-cloud-trace/testing/constraints-3.8.txt +++ b/packages/google-cloud-trace/testing/constraints-3.8.txt @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf diff --git a/packages/google-cloud-trace/testing/constraints-3.9.txt b/packages/google-cloud-trace/testing/constraints-3.9.txt index e69de29bb2d1..ed7f9aed2559 100644 --- a/packages/google-cloud-trace/testing/constraints-3.9.txt +++ b/packages/google-cloud-trace/testing/constraints-3.9.txt @@ -0,0 +1,6 @@ +# -*- coding: utf-8 -*- +# This constraints file is required for unit tests. +# List all library dependencies and extras in this file. +google-api-core +proto-plus +protobuf diff --git a/packages/google-cloud-trace/tests/unit/gapic/trace_v1/test_trace_service.py b/packages/google-cloud-trace/tests/unit/gapic/trace_v1/test_trace_service.py index 9bda9a496319..453ac7daece9 100644 --- a/packages/google-cloud-trace/tests/unit/gapic/trace_v1/test_trace_service.py +++ b/packages/google-cloud-trace/tests/unit/gapic/trace_v1/test_trace_service.py @@ -22,29 +22,29 @@ except ImportError: # pragma: NO COVER import mock -import grpc -from grpc.experimental import aio import math -import pytest -from proto.marshal.rules.dates import DurationRule, TimestampRule -from proto.marshal.rules import wrappers +from google.api_core import gapic_v1, grpc_helpers, grpc_helpers_async, path_template from google.api_core import client_options from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers -from google.api_core import grpc_helpers_async -from google.api_core import path_template +import google.auth from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError -from google.cloud.trace_v1.services.trace_service import TraceServiceAsyncClient -from google.cloud.trace_v1.services.trace_service import TraceServiceClient -from google.cloud.trace_v1.services.trace_service import pagers -from google.cloud.trace_v1.services.trace_service import transports -from google.cloud.trace_v1.types import trace from google.oauth2 import service_account from google.protobuf import timestamp_pb2 # type: ignore -import google.auth +import grpc +from grpc.experimental import aio +from proto.marshal.rules import wrappers +from proto.marshal.rules.dates import DurationRule, TimestampRule +import pytest + +from google.cloud.trace_v1.services.trace_service import ( + TraceServiceAsyncClient, + TraceServiceClient, + pagers, + transports, +) +from google.cloud.trace_v1.types import trace def client_cert_source_callback(): diff --git a/packages/google-cloud-trace/tests/unit/gapic/trace_v2/test_trace_service.py b/packages/google-cloud-trace/tests/unit/gapic/trace_v2/test_trace_service.py index 9c85479b2d07..1a0d5af553bb 100644 --- a/packages/google-cloud-trace/tests/unit/gapic/trace_v2/test_trace_service.py +++ b/packages/google-cloud-trace/tests/unit/gapic/trace_v2/test_trace_service.py @@ -22,32 +22,31 @@ except ImportError: # pragma: NO COVER import mock -import grpc -from grpc.experimental import aio import math -import pytest -from proto.marshal.rules.dates import DurationRule, TimestampRule -from proto.marshal.rules import wrappers +from google.api_core import gapic_v1, grpc_helpers, grpc_helpers_async, path_template from google.api_core import client_options from google.api_core import exceptions as core_exceptions -from google.api_core import gapic_v1 -from google.api_core import grpc_helpers -from google.api_core import grpc_helpers_async -from google.api_core import path_template +import google.auth from google.auth import credentials as ga_credentials from google.auth.exceptions import MutualTLSChannelError -from google.cloud.trace_v2.services.trace_service import TraceServiceAsyncClient -from google.cloud.trace_v2.services.trace_service import TraceServiceClient -from google.cloud.trace_v2.services.trace_service import transports -from google.cloud.trace_v2.types import trace -from google.cloud.trace_v2.types import tracing from google.oauth2 import service_account from google.protobuf import any_pb2 # type: ignore from google.protobuf import timestamp_pb2 # type: ignore from google.protobuf import wrappers_pb2 # type: ignore from google.rpc import status_pb2 # type: ignore -import google.auth +import grpc +from grpc.experimental import aio +from proto.marshal.rules import wrappers +from proto.marshal.rules.dates import DurationRule, TimestampRule +import pytest + +from google.cloud.trace_v2.services.trace_service import ( + TraceServiceAsyncClient, + TraceServiceClient, + transports, +) +from google.cloud.trace_v2.types import trace, tracing def client_cert_source_callback():