From d184b2ad0bb83cc8b59cc0584e9e3ab5bde76bd5 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 8 Mar 2022 02:48:49 +0100 Subject: [PATCH 01/29] chore(deps): update all dependencies (#278) * chore(deps): update all dependencies * revert Co-authored-by: Anthonios Partheniou --- samples/snippets/classify_text/requirements.txt | 4 ++-- samples/snippets/cloud-client/v1/requirements.txt | 2 +- samples/snippets/generated-samples/v1/requirements.txt | 2 +- samples/snippets/sentiment/requirements.txt | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/samples/snippets/classify_text/requirements.txt b/samples/snippets/classify_text/requirements.txt index 51bd8a78..1c28b1e2 100644 --- a/samples/snippets/classify_text/requirements.txt +++ b/samples/snippets/classify_text/requirements.txt @@ -1,3 +1,3 @@ -google-cloud-language==2.4.0 -numpy==1.22.2; python_version > '3.7' +google-cloud-language==2.4.1 +numpy==1.22.3; python_version > '3.7' numpy==1.21.4; python_version == '3.7' diff --git a/samples/snippets/cloud-client/v1/requirements.txt b/samples/snippets/cloud-client/v1/requirements.txt index 94560e6f..0d2a8d65 100644 --- a/samples/snippets/cloud-client/v1/requirements.txt +++ b/samples/snippets/cloud-client/v1/requirements.txt @@ -1 +1 @@ -google-cloud-language==2.4.0 +google-cloud-language==2.4.1 diff --git a/samples/snippets/generated-samples/v1/requirements.txt b/samples/snippets/generated-samples/v1/requirements.txt index 94560e6f..0d2a8d65 100644 --- a/samples/snippets/generated-samples/v1/requirements.txt +++ b/samples/snippets/generated-samples/v1/requirements.txt @@ -1 +1 @@ -google-cloud-language==2.4.0 +google-cloud-language==2.4.1 diff --git a/samples/snippets/sentiment/requirements.txt b/samples/snippets/sentiment/requirements.txt index 94560e6f..0d2a8d65 100644 --- a/samples/snippets/sentiment/requirements.txt +++ b/samples/snippets/sentiment/requirements.txt @@ -1 +1 @@ -google-cloud-language==2.4.0 +google-cloud-language==2.4.1 From d0479997f751e23f05963026c6d4d6de4cb41f00 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 23 Mar 2022 11:38:11 -0600 Subject: [PATCH 02/29] chore(python): configure release-please on previous major versions (#282) Source-Link: https://github.com/googleapis/synthtool/commit/c1dd87e9287f8de99930d3046dd555c4d03384c6 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:2d13c2172a5d6129c861edaa48b60ead15aeaf58aa75e02d870c4cbdfa63aaba Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- .github/release-please.yml | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 44c78f7c..88076277 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:4e1991042fe54b991db9ca17c8fb386e61b22fe4d1472a568bf0fcac85dcf5d3 + digest: sha256:2d13c2172a5d6129c861edaa48b60ead15aeaf58aa75e02d870c4cbdfa63aaba diff --git a/.github/release-please.yml b/.github/release-please.yml index 466597e5..29601ad4 100644 --- a/.github/release-please.yml +++ b/.github/release-please.yml @@ -1,2 +1,11 @@ releaseType: python handleGHRelease: true +# NOTE: this section is generated by synthtool.languages.python +# See https://github.com/googleapis/synthtool/blob/master/synthtool/languages/python.py +branches: +- branch: v1 + handleGHRelease: true + releaseType: python +- branch: v0 + handleGHRelease: true + releaseType: python From 9e8536b47cd9e592631e1fcf08ea1b87af50aa1f Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Mon, 28 Mar 2022 19:59:25 -0400 Subject: [PATCH 03/29] chore(python): use black==22.3.0 (#283) Source-Link: https://github.com/googleapis/synthtool/commit/6fab84af09f2cf89a031fd8671d1def6b2931b11 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 2 +- docs/conf.py | 5 +- .../services/language_service/async_client.py | 46 +- .../services/language_service/client.py | 87 +++- .../language_service/transports/base.py | 10 +- .../language_service/transports/grpc.py | 3 +- .../language_v1/types/language_service.py | 415 ++++++++++++++---- .../services/language_service/async_client.py | 46 +- .../services/language_service/client.py | 87 +++- .../language_service/transports/base.py | 10 +- .../language_service/transports/grpc.py | 3 +- .../types/language_service.py | 415 ++++++++++++++---- noxfile.py | 9 +- samples/snippets/api/analyze_test.py | 38 +- samples/snippets/api/noxfile.py | 4 +- .../classify_text/classify_text_tutorial.py | 8 +- samples/snippets/classify_text/noxfile.py | 4 +- samples/snippets/cloud-client/v1/noxfile.py | 4 +- .../snippets/cloud-client/v1/quickstart.py | 2 +- .../snippets/generated-samples/v1/noxfile.py | 4 +- samples/snippets/sentiment/noxfile.py | 4 +- .../language_v1/test_language_service.py | 233 +++++++--- .../language_v1beta2/test_language_service.py | 233 +++++++--- 23 files changed, 1307 insertions(+), 365 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 88076277..87dd0061 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:2d13c2172a5d6129c861edaa48b60ead15aeaf58aa75e02d870c4cbdfa63aaba + digest: sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe diff --git a/docs/conf.py b/docs/conf.py index e780d1a1..8296ba53 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -361,7 +361,10 @@ intersphinx_mapping = { "python": ("https://python.readthedocs.org/en/latest/", None), "google-auth": ("https://googleapis.dev/python/google-auth/latest/", None), - "google.api_core": ("https://googleapis.dev/python/google-api-core/latest/", None,), + "google.api_core": ( + "https://googleapis.dev/python/google-api-core/latest/", + None, + ), "grpc": ("https://grpc.github.io/grpc/python/", None), "proto-plus": ("https://proto-plus-python.readthedocs.io/en/latest/", None), "protobuf": ("https://googleapis.dev/python/protobuf/latest/", None), diff --git a/google/cloud/language_v1/services/language_service/async_client.py b/google/cloud/language_v1/services/language_service/async_client.py index 33e58142..80cb5502 100644 --- a/google/cloud/language_v1/services/language_service/async_client.py +++ b/google/cloud/language_v1/services/language_service/async_client.py @@ -301,7 +301,12 @@ def sample_analyze_sentiment(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -407,7 +412,12 @@ def sample_analyze_entities(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -516,7 +526,12 @@ def sample_analyze_entity_sentiment(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -621,7 +636,12 @@ def sample_analyze_syntax(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -716,7 +736,12 @@ def sample_classify_text(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -833,7 +858,12 @@ def sample_annotate_text(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -847,7 +877,9 @@ async def __aexit__(self, exc_type, exc, tb): try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() diff --git a/google/cloud/language_v1/services/language_service/client.py b/google/cloud/language_v1/services/language_service/client.py index 0942d7f2..a3a215e7 100644 --- a/google/cloud/language_v1/services/language_service/client.py +++ b/google/cloud/language_v1/services/language_service/client.py @@ -54,7 +54,10 @@ class LanguageServiceClientMeta(type): _transport_registry["grpc"] = LanguageServiceGrpcTransport _transport_registry["grpc_asyncio"] = LanguageServiceGrpcAsyncIOTransport - def get_transport_class(cls, label: str = None,) -> Type[LanguageServiceTransport]: + def get_transport_class( + cls, + label: str = None, + ) -> Type[LanguageServiceTransport]: """Returns an appropriate transport class. Args: @@ -161,7 +164,9 @@ def transport(self) -> LanguageServiceTransport: return self._transport @staticmethod - def common_billing_account_path(billing_account: str,) -> str: + def common_billing_account_path( + billing_account: str, + ) -> str: """Returns a fully-qualified billing_account string.""" return "billingAccounts/{billing_account}".format( billing_account=billing_account, @@ -174,9 +179,13 @@ def parse_common_billing_account_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_folder_path(folder: str,) -> str: + def common_folder_path( + folder: str, + ) -> str: """Returns a fully-qualified folder string.""" - return "folders/{folder}".format(folder=folder,) + return "folders/{folder}".format( + folder=folder, + ) @staticmethod def parse_common_folder_path(path: str) -> Dict[str, str]: @@ -185,9 +194,13 @@ def parse_common_folder_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_organization_path(organization: str,) -> str: + def common_organization_path( + organization: str, + ) -> str: """Returns a fully-qualified organization string.""" - return "organizations/{organization}".format(organization=organization,) + return "organizations/{organization}".format( + organization=organization, + ) @staticmethod def parse_common_organization_path(path: str) -> Dict[str, str]: @@ -196,9 +209,13 @@ def parse_common_organization_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_project_path(project: str,) -> str: + def common_project_path( + project: str, + ) -> str: """Returns a fully-qualified project string.""" - return "projects/{project}".format(project=project,) + return "projects/{project}".format( + project=project, + ) @staticmethod def parse_common_project_path(path: str) -> Dict[str, str]: @@ -207,10 +224,14 @@ def parse_common_project_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_location_path(project: str, location: str,) -> str: + def common_location_path( + project: str, + location: str, + ) -> str: """Returns a fully-qualified location string.""" return "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) @staticmethod @@ -474,7 +495,12 @@ def sample_analyze_sentiment(): rpc = self._transport._wrapped_methods[self._transport.analyze_sentiment] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -570,7 +596,12 @@ def sample_analyze_entities(): rpc = self._transport._wrapped_methods[self._transport.analyze_entities] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -669,7 +700,12 @@ def sample_analyze_entity_sentiment(): rpc = self._transport._wrapped_methods[self._transport.analyze_entity_sentiment] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -764,7 +800,12 @@ def sample_analyze_syntax(): rpc = self._transport._wrapped_methods[self._transport.analyze_syntax] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -849,7 +890,12 @@ def sample_classify_text(): rpc = self._transport._wrapped_methods[self._transport.classify_text] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -956,7 +1002,12 @@ def sample_annotate_text(): rpc = self._transport._wrapped_methods[self._transport.annotate_text] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -977,7 +1028,9 @@ def __exit__(self, type, value, traceback): try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() diff --git a/google/cloud/language_v1/services/language_service/transports/base.py b/google/cloud/language_v1/services/language_service/transports/base.py index b1f97f7a..67326655 100644 --- a/google/cloud/language_v1/services/language_service/transports/base.py +++ b/google/cloud/language_v1/services/language_service/transports/base.py @@ -29,7 +29,9 @@ try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() @@ -216,9 +218,9 @@ def _prep_wrapped_messages(self, client_info): def close(self): """Closes resources associated with the transport. - .. warning:: - Only call this method if the transport is NOT shared - with other clients - this may cause errors in other clients! + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! """ raise NotImplementedError() diff --git a/google/cloud/language_v1/services/language_service/transports/grpc.py b/google/cloud/language_v1/services/language_service/transports/grpc.py index 86ea561d..31f4bc9d 100644 --- a/google/cloud/language_v1/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1/services/language_service/transports/grpc.py @@ -225,8 +225,7 @@ def create_channel( @property def grpc_channel(self) -> grpc.Channel: - """Return the channel designed to connect to this service. - """ + """Return the channel designed to connect to this service.""" return self._grpc_channel @property diff --git a/google/cloud/language_v1/types/language_service.py b/google/cloud/language_v1/types/language_service.py index 02fec89c..d26ac7a8 100644 --- a/google/cloud/language_v1/types/language_service.py +++ b/google/cloud/language_v1/types/language_service.py @@ -104,10 +104,25 @@ class Type(proto.Enum): PLAIN_TEXT = 1 HTML = 2 - type_ = proto.Field(proto.ENUM, number=1, enum=Type,) - content = proto.Field(proto.STRING, number=2, oneof="source",) - gcs_content_uri = proto.Field(proto.STRING, number=3, oneof="source",) - language = proto.Field(proto.STRING, number=4,) + type_ = proto.Field( + proto.ENUM, + number=1, + enum=Type, + ) + content = proto.Field( + proto.STRING, + number=2, + oneof="source", + ) + gcs_content_uri = proto.Field( + proto.STRING, + number=3, + oneof="source", + ) + language = proto.Field( + proto.STRING, + number=4, + ) class Sentence(proto.Message): @@ -123,8 +138,16 @@ class Sentence(proto.Message): the sentence. """ - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - sentiment = proto.Field(proto.MESSAGE, number=2, message="Sentiment",) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + sentiment = proto.Field( + proto.MESSAGE, + number=2, + message="Sentiment", + ) class Entity(proto.Message): @@ -184,12 +207,34 @@ class Type(proto.Enum): NUMBER = 12 PRICE = 13 - name = proto.Field(proto.STRING, number=1,) - type_ = proto.Field(proto.ENUM, number=2, enum=Type,) - metadata = proto.MapField(proto.STRING, proto.STRING, number=3,) - salience = proto.Field(proto.FLOAT, number=4,) - mentions = proto.RepeatedField(proto.MESSAGE, number=5, message="EntityMention",) - sentiment = proto.Field(proto.MESSAGE, number=6, message="Sentiment",) + name = proto.Field( + proto.STRING, + number=1, + ) + type_ = proto.Field( + proto.ENUM, + number=2, + enum=Type, + ) + metadata = proto.MapField( + proto.STRING, + proto.STRING, + number=3, + ) + salience = proto.Field( + proto.FLOAT, + number=4, + ) + mentions = proto.RepeatedField( + proto.MESSAGE, + number=5, + message="EntityMention", + ) + sentiment = proto.Field( + proto.MESSAGE, + number=6, + message="Sentiment", + ) class Token(proto.Message): @@ -207,10 +252,25 @@ class Token(proto.Message): of the token. """ - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - part_of_speech = proto.Field(proto.MESSAGE, number=2, message="PartOfSpeech",) - dependency_edge = proto.Field(proto.MESSAGE, number=3, message="DependencyEdge",) - lemma = proto.Field(proto.STRING, number=4,) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + part_of_speech = proto.Field( + proto.MESSAGE, + number=2, + message="PartOfSpeech", + ) + dependency_edge = proto.Field( + proto.MESSAGE, + number=3, + message="DependencyEdge", + ) + lemma = proto.Field( + proto.STRING, + number=4, + ) class Sentiment(proto.Message): @@ -227,8 +287,14 @@ class Sentiment(proto.Message): sentiment) and 1.0 (positive sentiment). """ - magnitude = proto.Field(proto.FLOAT, number=2,) - score = proto.Field(proto.FLOAT, number=3,) + magnitude = proto.Field( + proto.FLOAT, + number=2, + ) + score = proto.Field( + proto.FLOAT, + number=3, + ) class PartOfSpeech(proto.Message): @@ -400,18 +466,66 @@ class Voice(proto.Enum): CAUSATIVE = 2 PASSIVE = 3 - tag = proto.Field(proto.ENUM, number=1, enum=Tag,) - aspect = proto.Field(proto.ENUM, number=2, enum=Aspect,) - case = proto.Field(proto.ENUM, number=3, enum=Case,) - form = proto.Field(proto.ENUM, number=4, enum=Form,) - gender = proto.Field(proto.ENUM, number=5, enum=Gender,) - mood = proto.Field(proto.ENUM, number=6, enum=Mood,) - number = proto.Field(proto.ENUM, number=7, enum=Number,) - person = proto.Field(proto.ENUM, number=8, enum=Person,) - proper = proto.Field(proto.ENUM, number=9, enum=Proper,) - reciprocity = proto.Field(proto.ENUM, number=10, enum=Reciprocity,) - tense = proto.Field(proto.ENUM, number=11, enum=Tense,) - voice = proto.Field(proto.ENUM, number=12, enum=Voice,) + tag = proto.Field( + proto.ENUM, + number=1, + enum=Tag, + ) + aspect = proto.Field( + proto.ENUM, + number=2, + enum=Aspect, + ) + case = proto.Field( + proto.ENUM, + number=3, + enum=Case, + ) + form = proto.Field( + proto.ENUM, + number=4, + enum=Form, + ) + gender = proto.Field( + proto.ENUM, + number=5, + enum=Gender, + ) + mood = proto.Field( + proto.ENUM, + number=6, + enum=Mood, + ) + number = proto.Field( + proto.ENUM, + number=7, + enum=Number, + ) + person = proto.Field( + proto.ENUM, + number=8, + enum=Person, + ) + proper = proto.Field( + proto.ENUM, + number=9, + enum=Proper, + ) + reciprocity = proto.Field( + proto.ENUM, + number=10, + enum=Reciprocity, + ) + tense = proto.Field( + proto.ENUM, + number=11, + enum=Tense, + ) + voice = proto.Field( + proto.ENUM, + number=12, + enum=Voice, + ) class DependencyEdge(proto.Message): @@ -517,8 +631,15 @@ class Label(proto.Enum): MES = 81 NCOMP = 82 - head_token_index = proto.Field(proto.INT32, number=1,) - label = proto.Field(proto.ENUM, number=2, enum=Label,) + head_token_index = proto.Field( + proto.INT32, + number=1, + ) + label = proto.Field( + proto.ENUM, + number=2, + enum=Label, + ) class EntityMention(proto.Message): @@ -544,9 +665,21 @@ class Type(proto.Enum): PROPER = 1 COMMON = 2 - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - type_ = proto.Field(proto.ENUM, number=2, enum=Type,) - sentiment = proto.Field(proto.MESSAGE, number=3, message="Sentiment",) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + type_ = proto.Field( + proto.ENUM, + number=2, + enum=Type, + ) + sentiment = proto.Field( + proto.MESSAGE, + number=3, + message="Sentiment", + ) class TextSpan(proto.Message): @@ -562,8 +695,14 @@ class TextSpan(proto.Message): specified in the API request. """ - content = proto.Field(proto.STRING, number=1,) - begin_offset = proto.Field(proto.INT32, number=2,) + content = proto.Field( + proto.STRING, + number=1, + ) + begin_offset = proto.Field( + proto.INT32, + number=2, + ) class ClassificationCategory(proto.Message): @@ -580,8 +719,14 @@ class ClassificationCategory(proto.Message): that this category represents the given text. """ - name = proto.Field(proto.STRING, number=1,) - confidence = proto.Field(proto.FLOAT, number=2,) + name = proto.Field( + proto.STRING, + number=1, + ) + confidence = proto.Field( + proto.FLOAT, + number=2, + ) class AnalyzeSentimentRequest(proto.Message): @@ -595,8 +740,16 @@ class AnalyzeSentimentRequest(proto.Message): calculate sentence offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeSentimentResponse(proto.Message): @@ -616,9 +769,20 @@ class AnalyzeSentimentResponse(proto.Message): document. """ - document_sentiment = proto.Field(proto.MESSAGE, number=1, message="Sentiment",) - language = proto.Field(proto.STRING, number=2,) - sentences = proto.RepeatedField(proto.MESSAGE, number=3, message="Sentence",) + document_sentiment = proto.Field( + proto.MESSAGE, + number=1, + message="Sentiment", + ) + language = proto.Field( + proto.STRING, + number=2, + ) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=3, + message="Sentence", + ) class AnalyzeEntitySentimentRequest(proto.Message): @@ -632,8 +796,16 @@ class AnalyzeEntitySentimentRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeEntitySentimentResponse(proto.Message): @@ -651,8 +823,15 @@ class AnalyzeEntitySentimentResponse(proto.Message): field for more details. """ - entities = proto.RepeatedField(proto.MESSAGE, number=1, message="Entity",) - language = proto.Field(proto.STRING, number=2,) + entities = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Entity", + ) + language = proto.Field( + proto.STRING, + number=2, + ) class AnalyzeEntitiesRequest(proto.Message): @@ -666,8 +845,16 @@ class AnalyzeEntitiesRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeEntitiesResponse(proto.Message): @@ -685,8 +872,15 @@ class AnalyzeEntitiesResponse(proto.Message): field for more details. """ - entities = proto.RepeatedField(proto.MESSAGE, number=1, message="Entity",) - language = proto.Field(proto.STRING, number=2,) + entities = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Entity", + ) + language = proto.Field( + proto.STRING, + number=2, + ) class AnalyzeSyntaxRequest(proto.Message): @@ -700,8 +894,16 @@ class AnalyzeSyntaxRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeSyntaxResponse(proto.Message): @@ -721,9 +923,20 @@ class AnalyzeSyntaxResponse(proto.Message): field for more details. """ - sentences = proto.RepeatedField(proto.MESSAGE, number=1, message="Sentence",) - tokens = proto.RepeatedField(proto.MESSAGE, number=2, message="Token",) - language = proto.Field(proto.STRING, number=3,) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Sentence", + ) + tokens = proto.RepeatedField( + proto.MESSAGE, + number=2, + message="Token", + ) + language = proto.Field( + proto.STRING, + number=3, + ) class ClassifyTextRequest(proto.Message): @@ -734,7 +947,11 @@ class ClassifyTextRequest(proto.Message): Input document. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) class ClassifyTextResponse(proto.Message): @@ -746,7 +963,9 @@ class ClassifyTextResponse(proto.Message): """ categories = proto.RepeatedField( - proto.MESSAGE, number=1, message="ClassificationCategory", + proto.MESSAGE, + number=1, + message="ClassificationCategory", ) @@ -784,15 +1003,42 @@ class Features(proto.Message): Classify the full document into categories. """ - extract_syntax = proto.Field(proto.BOOL, number=1,) - extract_entities = proto.Field(proto.BOOL, number=2,) - extract_document_sentiment = proto.Field(proto.BOOL, number=3,) - extract_entity_sentiment = proto.Field(proto.BOOL, number=4,) - classify_text = proto.Field(proto.BOOL, number=6,) - - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - features = proto.Field(proto.MESSAGE, number=2, message=Features,) - encoding_type = proto.Field(proto.ENUM, number=3, enum="EncodingType",) + extract_syntax = proto.Field( + proto.BOOL, + number=1, + ) + extract_entities = proto.Field( + proto.BOOL, + number=2, + ) + extract_document_sentiment = proto.Field( + proto.BOOL, + number=3, + ) + extract_entity_sentiment = proto.Field( + proto.BOOL, + number=4, + ) + classify_text = proto.Field( + proto.BOOL, + number=6, + ) + + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + features = proto.Field( + proto.MESSAGE, + number=2, + message=Features, + ) + encoding_type = proto.Field( + proto.ENUM, + number=3, + enum="EncodingType", + ) class AnnotateTextResponse(proto.Message): @@ -825,13 +1071,34 @@ class AnnotateTextResponse(proto.Message): Categories identified in the input document. """ - sentences = proto.RepeatedField(proto.MESSAGE, number=1, message="Sentence",) - tokens = proto.RepeatedField(proto.MESSAGE, number=2, message="Token",) - entities = proto.RepeatedField(proto.MESSAGE, number=3, message="Entity",) - document_sentiment = proto.Field(proto.MESSAGE, number=4, message="Sentiment",) - language = proto.Field(proto.STRING, number=5,) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Sentence", + ) + tokens = proto.RepeatedField( + proto.MESSAGE, + number=2, + message="Token", + ) + entities = proto.RepeatedField( + proto.MESSAGE, + number=3, + message="Entity", + ) + document_sentiment = proto.Field( + proto.MESSAGE, + number=4, + message="Sentiment", + ) + language = proto.Field( + proto.STRING, + number=5, + ) categories = proto.RepeatedField( - proto.MESSAGE, number=6, message="ClassificationCategory", + proto.MESSAGE, + number=6, + message="ClassificationCategory", ) diff --git a/google/cloud/language_v1beta2/services/language_service/async_client.py b/google/cloud/language_v1beta2/services/language_service/async_client.py index 1a212bd5..6053c975 100644 --- a/google/cloud/language_v1beta2/services/language_service/async_client.py +++ b/google/cloud/language_v1beta2/services/language_service/async_client.py @@ -302,7 +302,12 @@ def sample_analyze_sentiment(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -408,7 +413,12 @@ def sample_analyze_entities(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -517,7 +527,12 @@ def sample_analyze_entity_sentiment(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -622,7 +637,12 @@ def sample_analyze_syntax(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -717,7 +737,12 @@ def sample_classify_text(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -834,7 +859,12 @@ def sample_annotate_text(): ) # Send the request. - response = await rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = await rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -848,7 +878,9 @@ async def __aexit__(self, exc_type, exc, tb): try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() diff --git a/google/cloud/language_v1beta2/services/language_service/client.py b/google/cloud/language_v1beta2/services/language_service/client.py index 83cd0992..d4e44895 100644 --- a/google/cloud/language_v1beta2/services/language_service/client.py +++ b/google/cloud/language_v1beta2/services/language_service/client.py @@ -54,7 +54,10 @@ class LanguageServiceClientMeta(type): _transport_registry["grpc"] = LanguageServiceGrpcTransport _transport_registry["grpc_asyncio"] = LanguageServiceGrpcAsyncIOTransport - def get_transport_class(cls, label: str = None,) -> Type[LanguageServiceTransport]: + def get_transport_class( + cls, + label: str = None, + ) -> Type[LanguageServiceTransport]: """Returns an appropriate transport class. Args: @@ -161,7 +164,9 @@ def transport(self) -> LanguageServiceTransport: return self._transport @staticmethod - def common_billing_account_path(billing_account: str,) -> str: + def common_billing_account_path( + billing_account: str, + ) -> str: """Returns a fully-qualified billing_account string.""" return "billingAccounts/{billing_account}".format( billing_account=billing_account, @@ -174,9 +179,13 @@ def parse_common_billing_account_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_folder_path(folder: str,) -> str: + def common_folder_path( + folder: str, + ) -> str: """Returns a fully-qualified folder string.""" - return "folders/{folder}".format(folder=folder,) + return "folders/{folder}".format( + folder=folder, + ) @staticmethod def parse_common_folder_path(path: str) -> Dict[str, str]: @@ -185,9 +194,13 @@ def parse_common_folder_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_organization_path(organization: str,) -> str: + def common_organization_path( + organization: str, + ) -> str: """Returns a fully-qualified organization string.""" - return "organizations/{organization}".format(organization=organization,) + return "organizations/{organization}".format( + organization=organization, + ) @staticmethod def parse_common_organization_path(path: str) -> Dict[str, str]: @@ -196,9 +209,13 @@ def parse_common_organization_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_project_path(project: str,) -> str: + def common_project_path( + project: str, + ) -> str: """Returns a fully-qualified project string.""" - return "projects/{project}".format(project=project,) + return "projects/{project}".format( + project=project, + ) @staticmethod def parse_common_project_path(path: str) -> Dict[str, str]: @@ -207,10 +224,14 @@ def parse_common_project_path(path: str) -> Dict[str, str]: return m.groupdict() if m else {} @staticmethod - def common_location_path(project: str, location: str,) -> str: + def common_location_path( + project: str, + location: str, + ) -> str: """Returns a fully-qualified location string.""" return "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) @staticmethod @@ -475,7 +496,12 @@ def sample_analyze_sentiment(): rpc = self._transport._wrapped_methods[self._transport.analyze_sentiment] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -571,7 +597,12 @@ def sample_analyze_entities(): rpc = self._transport._wrapped_methods[self._transport.analyze_entities] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -670,7 +701,12 @@ def sample_analyze_entity_sentiment(): rpc = self._transport._wrapped_methods[self._transport.analyze_entity_sentiment] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -765,7 +801,12 @@ def sample_analyze_syntax(): rpc = self._transport._wrapped_methods[self._transport.analyze_syntax] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -850,7 +891,12 @@ def sample_classify_text(): rpc = self._transport._wrapped_methods[self._transport.classify_text] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -957,7 +1003,12 @@ def sample_annotate_text(): rpc = self._transport._wrapped_methods[self._transport.annotate_text] # Send the request. - response = rpc(request, retry=retry, timeout=timeout, metadata=metadata,) + response = rpc( + request, + retry=retry, + timeout=timeout, + metadata=metadata, + ) # Done; return the response. return response @@ -978,7 +1029,9 @@ def __exit__(self, type, value, traceback): try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() diff --git a/google/cloud/language_v1beta2/services/language_service/transports/base.py b/google/cloud/language_v1beta2/services/language_service/transports/base.py index cc1fbc12..3c3de710 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/base.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/base.py @@ -29,7 +29,9 @@ try: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo( - gapic_version=pkg_resources.get_distribution("google-cloud-language",).version, + gapic_version=pkg_resources.get_distribution( + "google-cloud-language", + ).version, ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() @@ -216,9 +218,9 @@ def _prep_wrapped_messages(self, client_info): def close(self): """Closes resources associated with the transport. - .. warning:: - Only call this method if the transport is NOT shared - with other clients - this may cause errors in other clients! + .. warning:: + Only call this method if the transport is NOT shared + with other clients - this may cause errors in other clients! """ raise NotImplementedError() diff --git a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py index c09dea48..f5725f24 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py @@ -225,8 +225,7 @@ def create_channel( @property def grpc_channel(self) -> grpc.Channel: - """Return the channel designed to connect to this service. - """ + """Return the channel designed to connect to this service.""" return self._grpc_channel @property diff --git a/google/cloud/language_v1beta2/types/language_service.py b/google/cloud/language_v1beta2/types/language_service.py index 3c168b58..fe526cb8 100644 --- a/google/cloud/language_v1beta2/types/language_service.py +++ b/google/cloud/language_v1beta2/types/language_service.py @@ -104,10 +104,25 @@ class Type(proto.Enum): PLAIN_TEXT = 1 HTML = 2 - type_ = proto.Field(proto.ENUM, number=1, enum=Type,) - content = proto.Field(proto.STRING, number=2, oneof="source",) - gcs_content_uri = proto.Field(proto.STRING, number=3, oneof="source",) - language = proto.Field(proto.STRING, number=4,) + type_ = proto.Field( + proto.ENUM, + number=1, + enum=Type, + ) + content = proto.Field( + proto.STRING, + number=2, + oneof="source", + ) + gcs_content_uri = proto.Field( + proto.STRING, + number=3, + oneof="source", + ) + language = proto.Field( + proto.STRING, + number=4, + ) class Sentence(proto.Message): @@ -123,8 +138,16 @@ class Sentence(proto.Message): the sentence. """ - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - sentiment = proto.Field(proto.MESSAGE, number=2, message="Sentiment",) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + sentiment = proto.Field( + proto.MESSAGE, + number=2, + message="Sentiment", + ) class Entity(proto.Message): @@ -184,12 +207,34 @@ class Type(proto.Enum): NUMBER = 12 PRICE = 13 - name = proto.Field(proto.STRING, number=1,) - type_ = proto.Field(proto.ENUM, number=2, enum=Type,) - metadata = proto.MapField(proto.STRING, proto.STRING, number=3,) - salience = proto.Field(proto.FLOAT, number=4,) - mentions = proto.RepeatedField(proto.MESSAGE, number=5, message="EntityMention",) - sentiment = proto.Field(proto.MESSAGE, number=6, message="Sentiment",) + name = proto.Field( + proto.STRING, + number=1, + ) + type_ = proto.Field( + proto.ENUM, + number=2, + enum=Type, + ) + metadata = proto.MapField( + proto.STRING, + proto.STRING, + number=3, + ) + salience = proto.Field( + proto.FLOAT, + number=4, + ) + mentions = proto.RepeatedField( + proto.MESSAGE, + number=5, + message="EntityMention", + ) + sentiment = proto.Field( + proto.MESSAGE, + number=6, + message="Sentiment", + ) class Token(proto.Message): @@ -207,10 +252,25 @@ class Token(proto.Message): of the token. """ - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - part_of_speech = proto.Field(proto.MESSAGE, number=2, message="PartOfSpeech",) - dependency_edge = proto.Field(proto.MESSAGE, number=3, message="DependencyEdge",) - lemma = proto.Field(proto.STRING, number=4,) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + part_of_speech = proto.Field( + proto.MESSAGE, + number=2, + message="PartOfSpeech", + ) + dependency_edge = proto.Field( + proto.MESSAGE, + number=3, + message="DependencyEdge", + ) + lemma = proto.Field( + proto.STRING, + number=4, + ) class Sentiment(proto.Message): @@ -228,8 +288,14 @@ class Sentiment(proto.Message): sentiment) and 1.0 (positive sentiment). """ - magnitude = proto.Field(proto.FLOAT, number=2,) - score = proto.Field(proto.FLOAT, number=3,) + magnitude = proto.Field( + proto.FLOAT, + number=2, + ) + score = proto.Field( + proto.FLOAT, + number=3, + ) class PartOfSpeech(proto.Message): @@ -399,18 +465,66 @@ class Voice(proto.Enum): CAUSATIVE = 2 PASSIVE = 3 - tag = proto.Field(proto.ENUM, number=1, enum=Tag,) - aspect = proto.Field(proto.ENUM, number=2, enum=Aspect,) - case = proto.Field(proto.ENUM, number=3, enum=Case,) - form = proto.Field(proto.ENUM, number=4, enum=Form,) - gender = proto.Field(proto.ENUM, number=5, enum=Gender,) - mood = proto.Field(proto.ENUM, number=6, enum=Mood,) - number = proto.Field(proto.ENUM, number=7, enum=Number,) - person = proto.Field(proto.ENUM, number=8, enum=Person,) - proper = proto.Field(proto.ENUM, number=9, enum=Proper,) - reciprocity = proto.Field(proto.ENUM, number=10, enum=Reciprocity,) - tense = proto.Field(proto.ENUM, number=11, enum=Tense,) - voice = proto.Field(proto.ENUM, number=12, enum=Voice,) + tag = proto.Field( + proto.ENUM, + number=1, + enum=Tag, + ) + aspect = proto.Field( + proto.ENUM, + number=2, + enum=Aspect, + ) + case = proto.Field( + proto.ENUM, + number=3, + enum=Case, + ) + form = proto.Field( + proto.ENUM, + number=4, + enum=Form, + ) + gender = proto.Field( + proto.ENUM, + number=5, + enum=Gender, + ) + mood = proto.Field( + proto.ENUM, + number=6, + enum=Mood, + ) + number = proto.Field( + proto.ENUM, + number=7, + enum=Number, + ) + person = proto.Field( + proto.ENUM, + number=8, + enum=Person, + ) + proper = proto.Field( + proto.ENUM, + number=9, + enum=Proper, + ) + reciprocity = proto.Field( + proto.ENUM, + number=10, + enum=Reciprocity, + ) + tense = proto.Field( + proto.ENUM, + number=11, + enum=Tense, + ) + voice = proto.Field( + proto.ENUM, + number=12, + enum=Voice, + ) class DependencyEdge(proto.Message): @@ -514,8 +628,15 @@ class Label(proto.Enum): MES = 81 NCOMP = 82 - head_token_index = proto.Field(proto.INT32, number=1,) - label = proto.Field(proto.ENUM, number=2, enum=Label,) + head_token_index = proto.Field( + proto.INT32, + number=1, + ) + label = proto.Field( + proto.ENUM, + number=2, + enum=Label, + ) class EntityMention(proto.Message): @@ -541,9 +662,21 @@ class Type(proto.Enum): PROPER = 1 COMMON = 2 - text = proto.Field(proto.MESSAGE, number=1, message="TextSpan",) - type_ = proto.Field(proto.ENUM, number=2, enum=Type,) - sentiment = proto.Field(proto.MESSAGE, number=3, message="Sentiment",) + text = proto.Field( + proto.MESSAGE, + number=1, + message="TextSpan", + ) + type_ = proto.Field( + proto.ENUM, + number=2, + enum=Type, + ) + sentiment = proto.Field( + proto.MESSAGE, + number=3, + message="Sentiment", + ) class TextSpan(proto.Message): @@ -559,8 +692,14 @@ class TextSpan(proto.Message): specified in the API request. """ - content = proto.Field(proto.STRING, number=1,) - begin_offset = proto.Field(proto.INT32, number=2,) + content = proto.Field( + proto.STRING, + number=1, + ) + begin_offset = proto.Field( + proto.INT32, + number=2, + ) class ClassificationCategory(proto.Message): @@ -577,8 +716,14 @@ class ClassificationCategory(proto.Message): that this category represents the given text. """ - name = proto.Field(proto.STRING, number=1,) - confidence = proto.Field(proto.FLOAT, number=2,) + name = proto.Field( + proto.STRING, + number=1, + ) + confidence = proto.Field( + proto.FLOAT, + number=2, + ) class AnalyzeSentimentRequest(proto.Message): @@ -593,8 +738,16 @@ class AnalyzeSentimentRequest(proto.Message): sentiment. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeSentimentResponse(proto.Message): @@ -614,9 +767,20 @@ class AnalyzeSentimentResponse(proto.Message): document. """ - document_sentiment = proto.Field(proto.MESSAGE, number=1, message="Sentiment",) - language = proto.Field(proto.STRING, number=2,) - sentences = proto.RepeatedField(proto.MESSAGE, number=3, message="Sentence",) + document_sentiment = proto.Field( + proto.MESSAGE, + number=1, + message="Sentiment", + ) + language = proto.Field( + proto.STRING, + number=2, + ) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=3, + message="Sentence", + ) class AnalyzeEntitySentimentRequest(proto.Message): @@ -630,8 +794,16 @@ class AnalyzeEntitySentimentRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeEntitySentimentResponse(proto.Message): @@ -649,8 +821,15 @@ class AnalyzeEntitySentimentResponse(proto.Message): field for more details. """ - entities = proto.RepeatedField(proto.MESSAGE, number=1, message="Entity",) - language = proto.Field(proto.STRING, number=2,) + entities = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Entity", + ) + language = proto.Field( + proto.STRING, + number=2, + ) class AnalyzeEntitiesRequest(proto.Message): @@ -664,8 +843,16 @@ class AnalyzeEntitiesRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeEntitiesResponse(proto.Message): @@ -683,8 +870,15 @@ class AnalyzeEntitiesResponse(proto.Message): field for more details. """ - entities = proto.RepeatedField(proto.MESSAGE, number=1, message="Entity",) - language = proto.Field(proto.STRING, number=2,) + entities = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Entity", + ) + language = proto.Field( + proto.STRING, + number=2, + ) class AnalyzeSyntaxRequest(proto.Message): @@ -698,8 +892,16 @@ class AnalyzeSyntaxRequest(proto.Message): calculate offsets. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - encoding_type = proto.Field(proto.ENUM, number=2, enum="EncodingType",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + encoding_type = proto.Field( + proto.ENUM, + number=2, + enum="EncodingType", + ) class AnalyzeSyntaxResponse(proto.Message): @@ -719,9 +921,20 @@ class AnalyzeSyntaxResponse(proto.Message): field for more details. """ - sentences = proto.RepeatedField(proto.MESSAGE, number=1, message="Sentence",) - tokens = proto.RepeatedField(proto.MESSAGE, number=2, message="Token",) - language = proto.Field(proto.STRING, number=3,) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Sentence", + ) + tokens = proto.RepeatedField( + proto.MESSAGE, + number=2, + message="Token", + ) + language = proto.Field( + proto.STRING, + number=3, + ) class ClassifyTextRequest(proto.Message): @@ -732,7 +945,11 @@ class ClassifyTextRequest(proto.Message): Required. Input document. """ - document = proto.Field(proto.MESSAGE, number=1, message="Document",) + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) class ClassifyTextResponse(proto.Message): @@ -744,7 +961,9 @@ class ClassifyTextResponse(proto.Message): """ categories = proto.RepeatedField( - proto.MESSAGE, number=1, message="ClassificationCategory", + proto.MESSAGE, + number=1, + message="ClassificationCategory", ) @@ -785,15 +1004,42 @@ class Features(proto.Message): taxonomy `__. """ - extract_syntax = proto.Field(proto.BOOL, number=1,) - extract_entities = proto.Field(proto.BOOL, number=2,) - extract_document_sentiment = proto.Field(proto.BOOL, number=3,) - extract_entity_sentiment = proto.Field(proto.BOOL, number=4,) - classify_text = proto.Field(proto.BOOL, number=6,) - - document = proto.Field(proto.MESSAGE, number=1, message="Document",) - features = proto.Field(proto.MESSAGE, number=2, message=Features,) - encoding_type = proto.Field(proto.ENUM, number=3, enum="EncodingType",) + extract_syntax = proto.Field( + proto.BOOL, + number=1, + ) + extract_entities = proto.Field( + proto.BOOL, + number=2, + ) + extract_document_sentiment = proto.Field( + proto.BOOL, + number=3, + ) + extract_entity_sentiment = proto.Field( + proto.BOOL, + number=4, + ) + classify_text = proto.Field( + proto.BOOL, + number=6, + ) + + document = proto.Field( + proto.MESSAGE, + number=1, + message="Document", + ) + features = proto.Field( + proto.MESSAGE, + number=2, + message=Features, + ) + encoding_type = proto.Field( + proto.ENUM, + number=3, + enum="EncodingType", + ) class AnnotateTextResponse(proto.Message): @@ -826,13 +1072,34 @@ class AnnotateTextResponse(proto.Message): Categories identified in the input document. """ - sentences = proto.RepeatedField(proto.MESSAGE, number=1, message="Sentence",) - tokens = proto.RepeatedField(proto.MESSAGE, number=2, message="Token",) - entities = proto.RepeatedField(proto.MESSAGE, number=3, message="Entity",) - document_sentiment = proto.Field(proto.MESSAGE, number=4, message="Sentiment",) - language = proto.Field(proto.STRING, number=5,) + sentences = proto.RepeatedField( + proto.MESSAGE, + number=1, + message="Sentence", + ) + tokens = proto.RepeatedField( + proto.MESSAGE, + number=2, + message="Token", + ) + entities = proto.RepeatedField( + proto.MESSAGE, + number=3, + message="Entity", + ) + document_sentiment = proto.Field( + proto.MESSAGE, + number=4, + message="Sentiment", + ) + language = proto.Field( + proto.STRING, + number=5, + ) categories = proto.RepeatedField( - proto.MESSAGE, number=6, message="ClassificationCategory", + proto.MESSAGE, + number=6, + message="ClassificationCategory", ) diff --git a/noxfile.py b/noxfile.py index 2a2001c4..3addb4ed 100644 --- a/noxfile.py +++ b/noxfile.py @@ -24,7 +24,7 @@ import nox -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] DEFAULT_PYTHON_VERSION = "3.8" @@ -57,7 +57,9 @@ def lint(session): """ session.install("flake8", BLACK_VERSION) session.run( - "black", "--check", *BLACK_PATHS, + "black", + "--check", + *BLACK_PATHS, ) session.run("flake8", "google", "tests") @@ -67,7 +69,8 @@ def blacken(session): """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) session.run( - "black", *BLACK_PATHS, + "black", + *BLACK_PATHS, ) diff --git a/samples/snippets/api/analyze_test.py b/samples/snippets/api/analyze_test.py index c797e2e3..da5f0ab0 100644 --- a/samples/snippets/api/analyze_test.py +++ b/samples/snippets/api/analyze_test.py @@ -48,7 +48,7 @@ def test_analyze_sentiment(capsys): def test_analyze_syntax(capsys): result = analyze.analyze_syntax( textwrap.dedent( - u"""\ + """\ Keep away from people who try to belittle your ambitions. Small people always do that, but the really great make you feel that you, too, can become great. @@ -71,7 +71,7 @@ def test_analyze_syntax_utf8(): bits. The offsets we get should be the index of the first byte of the character. """ - test_string = u"a \u00e3 \u0201 \U0001f636 b" + test_string = "a \u00e3 \u0201 \U0001f636 b" byte_array = test_string.encode("utf8") result = analyze.analyze_syntax(test_string, encoding="UTF8") tokens = result["tokens"] @@ -82,19 +82,19 @@ def test_analyze_syntax_utf8(): byte_array[offset : offset + 1].decode("utf8") == tokens[0]["text"]["content"] ) - assert tokens[1]["text"]["content"] == u"\u00e3" + assert tokens[1]["text"]["content"] == "\u00e3" offset = tokens[1]["text"].get("beginOffset", 0) assert ( byte_array[offset : offset + 2].decode("utf8") == tokens[1]["text"]["content"] ) - assert tokens[2]["text"]["content"] == u"\u0201" + assert tokens[2]["text"]["content"] == "\u0201" offset = tokens[2]["text"].get("beginOffset", 0) assert ( byte_array[offset : offset + 2].decode("utf8") == tokens[2]["text"]["content"] ) - assert tokens[3]["text"]["content"] == u"\U0001f636" + assert tokens[3]["text"]["content"] == "\U0001f636" offset = tokens[3]["text"].get("beginOffset", 0) assert ( byte_array[offset : offset + 4].decode("utf8") == tokens[3]["text"]["content"] @@ -102,7 +102,7 @@ def test_analyze_syntax_utf8(): # This demonstrates that the offset takes into account the variable-length # characters before the target token. - assert tokens[4]["text"]["content"] == u"b" + assert tokens[4]["text"]["content"] == "b" offset = tokens[4]["text"].get("beginOffset", 0) # 'b' is only one byte long assert ( @@ -117,7 +117,7 @@ def test_analyze_syntax_utf16(): bits. The returned offsets will be the index of the first 2-byte character of the token. """ - test_string = u"a \u00e3 \u0201 \U0001f636 b" + test_string = "a \u00e3 \u0201 \U0001f636 b" byte_array = test_string.encode("utf16") # Remove the byte order marker, which the offsets don't account for byte_array = byte_array[2:] @@ -133,7 +133,7 @@ def test_analyze_syntax_utf16(): byte_array[offset : offset + 2].decode("utf16") == tokens[0]["text"]["content"] ) - assert tokens[1]["text"]["content"] == u"\u00e3" + assert tokens[1]["text"]["content"] == "\u00e3" offset = 2 * tokens[1]["text"].get("beginOffset", 0) # A UTF16 character with a low codepoint is 16 bits (2 bytes) long, so # slice out 2 bytes starting from the offset. Then interpret the bytes as @@ -142,7 +142,7 @@ def test_analyze_syntax_utf16(): byte_array[offset : offset + 2].decode("utf16") == tokens[1]["text"]["content"] ) - assert tokens[2]["text"]["content"] == u"\u0201" + assert tokens[2]["text"]["content"] == "\u0201" offset = 2 * tokens[2]["text"].get("beginOffset", 0) # A UTF16 character with a low codepoint is 16 bits (2 bytes) long, so # slice out 2 bytes starting from the offset. Then interpret the bytes as @@ -151,7 +151,7 @@ def test_analyze_syntax_utf16(): byte_array[offset : offset + 2].decode("utf16") == tokens[2]["text"]["content"] ) - assert tokens[3]["text"]["content"] == u"\U0001f636" + assert tokens[3]["text"]["content"] == "\U0001f636" offset = 2 * tokens[3]["text"].get("beginOffset", 0) # A UTF16 character with a high codepoint is 32 bits (4 bytes) long, so # slice out 4 bytes starting from the offset. Then interpret those bytes as @@ -162,7 +162,7 @@ def test_analyze_syntax_utf16(): # This demonstrates that the offset takes into account the variable-length # characters before the target token. - assert tokens[4]["text"]["content"] == u"b" + assert tokens[4]["text"]["content"] == "b" offset = 2 * tokens[4]["text"].get("beginOffset", 0) # Even though 'b' is only one byte long, utf16 still encodes it using 16 # bits @@ -192,7 +192,7 @@ def test_annotate_text_utf32(): unicode object with the raw offset returned by the api (ie without multiplying it by 4, as it is below). """ - test_string = u"a \u00e3 \u0201 \U0001f636 b" + test_string = "a \u00e3 \u0201 \U0001f636 b" byte_array = test_string.encode("utf32") # Remove the byte order marker, which the offsets don't account for byte_array = byte_array[4:] @@ -208,7 +208,7 @@ def test_annotate_text_utf32(): byte_array[offset : offset + 4].decode("utf32") == tokens[0]["text"]["content"] ) - assert tokens[1]["text"]["content"] == u"\u00e3" + assert tokens[1]["text"]["content"] == "\u00e3" offset = 4 * tokens[1]["text"].get("beginOffset", 0) # A UTF32 character with a low codepoint is 32 bits (4 bytes) long, so # slice out 4 bytes starting from the offset. Then interpret the bytes as @@ -217,7 +217,7 @@ def test_annotate_text_utf32(): byte_array[offset : offset + 4].decode("utf32") == tokens[1]["text"]["content"] ) - assert tokens[2]["text"]["content"] == u"\u0201" + assert tokens[2]["text"]["content"] == "\u0201" offset = 4 * tokens[2]["text"].get("beginOffset", 0) # A UTF32 character with a low codepoint is 32 bits (4 bytes) long, so # slice out 4 bytes starting from the offset. Then interpret the bytes as @@ -226,7 +226,7 @@ def test_annotate_text_utf32(): byte_array[offset : offset + 4].decode("utf32") == tokens[2]["text"]["content"] ) - assert tokens[3]["text"]["content"] == u"\U0001f636" + assert tokens[3]["text"]["content"] == "\U0001f636" offset = 4 * tokens[3]["text"].get("beginOffset", 0) # A UTF32 character with a high codepoint is 32 bits (4 bytes) long, so # slice out 4 bytes starting from the offset. Then interpret those bytes as @@ -237,7 +237,7 @@ def test_annotate_text_utf32(): # This demonstrates that the offset takes into account the variable-length # characters before the target token. - assert tokens[4]["text"]["content"] == u"b" + assert tokens[4]["text"]["content"] == "b" offset = 4 * tokens[4]["text"].get("beginOffset", 0) # Even though 'b' is only one byte long, utf32 still encodes it using 32 # bits @@ -252,7 +252,7 @@ def test_annotate_text_utf32_directly_index_into_unicode(): See the explanation for test_annotate_text_utf32. Essentially, indexing into a utf32 array is equivalent to indexing into a python unicode object. """ - test_string = u"a \u00e3 \u0201 \U0001f636 b" + test_string = "a \u00e3 \u0201 \U0001f636 b" result = analyze.analyze_syntax(test_string, encoding="UTF32") tokens = result["tokens"] @@ -260,11 +260,11 @@ def test_annotate_text_utf32_directly_index_into_unicode(): offset = tokens[0]["text"].get("beginOffset", 0) assert test_string[offset] == tokens[0]["text"]["content"] - assert tokens[1]["text"]["content"] == u"\u00e3" + assert tokens[1]["text"]["content"] == "\u00e3" offset = tokens[1]["text"].get("beginOffset", 0) assert test_string[offset] == tokens[1]["text"]["content"] - assert tokens[2]["text"]["content"] == u"\u0201" + assert tokens[2]["text"]["content"] == "\u0201" offset = tokens[2]["text"].get("beginOffset", 0) assert test_string[offset] == tokens[2]["text"]["content"] diff --git a/samples/snippets/api/noxfile.py b/samples/snippets/api/noxfile.py index 85f5836d..25f87a21 100644 --- a/samples/snippets/api/noxfile.py +++ b/samples/snippets/api/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -253,7 +253,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/samples/snippets/classify_text/classify_text_tutorial.py b/samples/snippets/classify_text/classify_text_tutorial.py index 675f8499..de35451d 100644 --- a/samples/snippets/classify_text/classify_text_tutorial.py +++ b/samples/snippets/classify_text/classify_text_tutorial.py @@ -35,7 +35,7 @@ # [START language_classify_text_tutorial_classify] def classify(text, verbose=True): - """Classify the input text into categories. """ + """Classify the input text into categories.""" language_client = language_v1.LanguageServiceClient() @@ -56,9 +56,9 @@ def classify(text, verbose=True): if verbose: print(text) for category in categories: - print(u"=" * 20) - print(u"{:<16}: {}".format("category", category.name)) - print(u"{:<16}: {}".format("confidence", category.confidence)) + print("=" * 20) + print("{:<16}: {}".format("category", category.name)) + print("{:<16}: {}".format("confidence", category.confidence)) return result diff --git a/samples/snippets/classify_text/noxfile.py b/samples/snippets/classify_text/noxfile.py index 85f5836d..25f87a21 100644 --- a/samples/snippets/classify_text/noxfile.py +++ b/samples/snippets/classify_text/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -253,7 +253,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/samples/snippets/cloud-client/v1/noxfile.py b/samples/snippets/cloud-client/v1/noxfile.py index 85f5836d..25f87a21 100644 --- a/samples/snippets/cloud-client/v1/noxfile.py +++ b/samples/snippets/cloud-client/v1/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -253,7 +253,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/samples/snippets/cloud-client/v1/quickstart.py b/samples/snippets/cloud-client/v1/quickstart.py index b9b0e96c..59c1cd43 100644 --- a/samples/snippets/cloud-client/v1/quickstart.py +++ b/samples/snippets/cloud-client/v1/quickstart.py @@ -29,7 +29,7 @@ def run_quickstart(): # [END language_python_migration_client] # The text to analyze - text = u"Hello, world!" + text = "Hello, world!" document = language_v1.Document( content=text, type_=language_v1.Document.Type.PLAIN_TEXT ) diff --git a/samples/snippets/generated-samples/v1/noxfile.py b/samples/snippets/generated-samples/v1/noxfile.py index 85f5836d..25f87a21 100644 --- a/samples/snippets/generated-samples/v1/noxfile.py +++ b/samples/snippets/generated-samples/v1/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -253,7 +253,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/samples/snippets/sentiment/noxfile.py b/samples/snippets/sentiment/noxfile.py index 85f5836d..25f87a21 100644 --- a/samples/snippets/sentiment/noxfile.py +++ b/samples/snippets/sentiment/noxfile.py @@ -29,7 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING -BLACK_VERSION = "black==19.10b0" +BLACK_VERSION = "black==22.3.0" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -253,7 +253,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/tests/unit/gapic/language_v1/test_language_service.py b/tests/unit/gapic/language_v1/test_language_service.py index 859fa443..d5ac0ac6 100644 --- a/tests/unit/gapic/language_v1/test_language_service.py +++ b/tests/unit/gapic/language_v1/test_language_service.py @@ -86,7 +86,11 @@ def test__get_default_mtls_endpoint(): @pytest.mark.parametrize( - "client_class", [LanguageServiceClient, LanguageServiceAsyncClient,] + "client_class", + [ + LanguageServiceClient, + LanguageServiceAsyncClient, + ], ) def test_language_service_client_from_service_account_info(client_class): creds = ga_credentials.AnonymousCredentials() @@ -128,7 +132,11 @@ def test_language_service_client_service_account_always_use_jwt( @pytest.mark.parametrize( - "client_class", [LanguageServiceClient, LanguageServiceAsyncClient,] + "client_class", + [ + LanguageServiceClient, + LanguageServiceAsyncClient, + ], ) def test_language_service_client_from_service_account_file(client_class): creds = ga_credentials.AnonymousCredentials() @@ -502,7 +510,9 @@ def test_language_service_client_client_options_scopes( client_class, transport_class, transport_name ): # Check the case scopes are provided. - options = client_options.ClientOptions(scopes=["1", "2"],) + options = client_options.ClientOptions( + scopes=["1", "2"], + ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None client = client_class(client_options=options, transport=transport_name) @@ -646,11 +656,16 @@ def test_language_service_client_create_channel_credentials_file( @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeSentimentRequest, dict,] + "request_type", + [ + language_service.AnalyzeSentimentRequest, + dict, + ], ) def test_analyze_sentiment(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -681,7 +696,8 @@ def test_analyze_sentiment_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -700,7 +716,8 @@ async def test_analyze_sentiment_async( request_type=language_service.AnalyzeSentimentRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -713,7 +730,9 @@ async def test_analyze_sentiment_async( ) as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeSentimentResponse(language="language_value",) + language_service.AnalyzeSentimentResponse( + language="language_value", + ) ) response = await client.analyze_sentiment(request) @@ -733,7 +752,9 @@ async def test_analyze_sentiment_async_from_dict(): def test_analyze_sentiment_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -765,7 +786,9 @@ def test_analyze_sentiment_flattened(): def test_analyze_sentiment_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -837,11 +860,16 @@ async def test_analyze_sentiment_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeEntitiesRequest, dict,] + "request_type", + [ + language_service.AnalyzeEntitiesRequest, + dict, + ], ) def test_analyze_entities(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -870,7 +898,8 @@ def test_analyze_entities_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -887,7 +916,8 @@ async def test_analyze_entities_async( request_type=language_service.AnalyzeEntitiesRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -898,7 +928,9 @@ async def test_analyze_entities_async( with mock.patch.object(type(client.transport.analyze_entities), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeEntitiesResponse(language="language_value",) + language_service.AnalyzeEntitiesResponse( + language="language_value", + ) ) response = await client.analyze_entities(request) @@ -918,7 +950,9 @@ async def test_analyze_entities_async_from_dict(): def test_analyze_entities_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.analyze_entities), "__call__") as call: @@ -948,7 +982,9 @@ def test_analyze_entities_flattened(): def test_analyze_entities_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1018,11 +1054,16 @@ async def test_analyze_entities_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeEntitySentimentRequest, dict,] + "request_type", + [ + language_service.AnalyzeEntitySentimentRequest, + dict, + ], ) def test_analyze_entity_sentiment(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1053,7 +1094,8 @@ def test_analyze_entity_sentiment_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1072,7 +1114,8 @@ async def test_analyze_entity_sentiment_async( request_type=language_service.AnalyzeEntitySentimentRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1085,7 +1128,9 @@ async def test_analyze_entity_sentiment_async( ) as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeEntitySentimentResponse(language="language_value",) + language_service.AnalyzeEntitySentimentResponse( + language="language_value", + ) ) response = await client.analyze_entity_sentiment(request) @@ -1105,7 +1150,9 @@ async def test_analyze_entity_sentiment_async_from_dict(): def test_analyze_entity_sentiment_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1137,7 +1184,9 @@ def test_analyze_entity_sentiment_flattened(): def test_analyze_entity_sentiment_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1208,10 +1257,17 @@ async def test_analyze_entity_sentiment_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.AnalyzeSyntaxRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.AnalyzeSyntaxRequest, + dict, + ], +) def test_analyze_syntax(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1240,7 +1296,8 @@ def test_analyze_syntax_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1256,7 +1313,8 @@ async def test_analyze_syntax_async( transport: str = "grpc_asyncio", request_type=language_service.AnalyzeSyntaxRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1267,7 +1325,9 @@ async def test_analyze_syntax_async( with mock.patch.object(type(client.transport.analyze_syntax), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeSyntaxResponse(language="language_value",) + language_service.AnalyzeSyntaxResponse( + language="language_value", + ) ) response = await client.analyze_syntax(request) @@ -1287,7 +1347,9 @@ async def test_analyze_syntax_async_from_dict(): def test_analyze_syntax_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.analyze_syntax), "__call__") as call: @@ -1317,7 +1379,9 @@ def test_analyze_syntax_flattened(): def test_analyze_syntax_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1386,10 +1450,17 @@ async def test_analyze_syntax_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.ClassifyTextRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.ClassifyTextRequest, + dict, + ], +) def test_classify_text(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1415,7 +1486,8 @@ def test_classify_text_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1431,7 +1503,8 @@ async def test_classify_text_async( transport: str = "grpc_asyncio", request_type=language_service.ClassifyTextRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1461,7 +1534,9 @@ async def test_classify_text_async_from_dict(): def test_classify_text_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.classify_text), "__call__") as call: @@ -1487,7 +1562,9 @@ def test_classify_text_flattened(): def test_classify_text_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1550,10 +1627,17 @@ async def test_classify_text_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.AnnotateTextRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.AnnotateTextRequest, + dict, + ], +) def test_annotate_text(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1582,7 +1666,8 @@ def test_annotate_text_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1598,7 +1683,8 @@ async def test_annotate_text_async( transport: str = "grpc_asyncio", request_type=language_service.AnnotateTextRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1609,7 +1695,9 @@ async def test_annotate_text_async( with mock.patch.object(type(client.transport.annotate_text), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnnotateTextResponse(language="language_value",) + language_service.AnnotateTextResponse( + language="language_value", + ) ) response = await client.annotate_text(request) @@ -1629,7 +1717,9 @@ async def test_annotate_text_async_from_dict(): def test_annotate_text_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.annotate_text), "__call__") as call: @@ -1663,7 +1753,9 @@ def test_annotate_text_flattened(): def test_annotate_text_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1745,7 +1837,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # It is an error to provide a credentials file and a transport instance. @@ -1765,7 +1858,10 @@ def test_credentials_transport_error(): options = client_options.ClientOptions() options.api_key = "api_key" with pytest.raises(ValueError): - client = LanguageServiceClient(client_options=options, transport=transport,) + client = LanguageServiceClient( + client_options=options, + transport=transport, + ) # It is an error to provide an api_key and a credential. options = mock.Mock() @@ -1781,7 +1877,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = LanguageServiceClient( - client_options={"scopes": ["1", "2"]}, transport=transport, + client_options={"scopes": ["1", "2"]}, + transport=transport, ) @@ -1826,8 +1923,13 @@ def test_transport_adc(transport_class): def test_transport_grpc_default(): # A client should use the gRPC transport by default. - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) - assert isinstance(client.transport, transports.LanguageServiceGrpcTransport,) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + assert isinstance( + client.transport, + transports.LanguageServiceGrpcTransport, + ) def test_language_service_base_transport_error(): @@ -1877,7 +1979,8 @@ def test_language_service_base_transport_with_credentials_file(): Transport.return_value = None load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) transport = transports.LanguageServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", + credentials_file="credentials.json", + quota_project_id="octopus", ) load_creds.assert_called_once_with( "credentials.json", @@ -2047,7 +2150,8 @@ def test_language_service_grpc_transport_channel(): # Check that channel is used if provided. transport = transports.LanguageServiceGrpcTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -2059,7 +2163,8 @@ def test_language_service_grpc_asyncio_transport_channel(): # Check that channel is used if provided. transport = transports.LanguageServiceGrpcAsyncIOTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -2188,7 +2293,9 @@ def test_parse_common_billing_account_path(): def test_common_folder_path(): folder = "whelk" - expected = "folders/{folder}".format(folder=folder,) + expected = "folders/{folder}".format( + folder=folder, + ) actual = LanguageServiceClient.common_folder_path(folder) assert expected == actual @@ -2206,7 +2313,9 @@ def test_parse_common_folder_path(): def test_common_organization_path(): organization = "oyster" - expected = "organizations/{organization}".format(organization=organization,) + expected = "organizations/{organization}".format( + organization=organization, + ) actual = LanguageServiceClient.common_organization_path(organization) assert expected == actual @@ -2224,7 +2333,9 @@ def test_parse_common_organization_path(): def test_common_project_path(): project = "cuttlefish" - expected = "projects/{project}".format(project=project,) + expected = "projects/{project}".format( + project=project, + ) actual = LanguageServiceClient.common_project_path(project) assert expected == actual @@ -2244,7 +2355,8 @@ def test_common_location_path(): project = "winkle" location = "nautilus" expected = "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) actual = LanguageServiceClient.common_location_path(project, location) assert expected == actual @@ -2269,7 +2381,8 @@ def test_client_with_default_client_info(): transports.LanguageServiceTransport, "_prep_wrapped_messages" ) as prep: client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -2278,7 +2391,8 @@ def test_client_with_default_client_info(): ) as prep: transport_class = LanguageServiceClient.get_transport_class() transport = transport_class( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -2286,7 +2400,8 @@ def test_client_with_default_client_info(): @pytest.mark.asyncio async def test_transport_close_async(): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc_asyncio", ) with mock.patch.object( type(getattr(client.transport, "grpc_channel")), "close" diff --git a/tests/unit/gapic/language_v1beta2/test_language_service.py b/tests/unit/gapic/language_v1beta2/test_language_service.py index 681ab4b3..89f8432a 100644 --- a/tests/unit/gapic/language_v1beta2/test_language_service.py +++ b/tests/unit/gapic/language_v1beta2/test_language_service.py @@ -88,7 +88,11 @@ def test__get_default_mtls_endpoint(): @pytest.mark.parametrize( - "client_class", [LanguageServiceClient, LanguageServiceAsyncClient,] + "client_class", + [ + LanguageServiceClient, + LanguageServiceAsyncClient, + ], ) def test_language_service_client_from_service_account_info(client_class): creds = ga_credentials.AnonymousCredentials() @@ -130,7 +134,11 @@ def test_language_service_client_service_account_always_use_jwt( @pytest.mark.parametrize( - "client_class", [LanguageServiceClient, LanguageServiceAsyncClient,] + "client_class", + [ + LanguageServiceClient, + LanguageServiceAsyncClient, + ], ) def test_language_service_client_from_service_account_file(client_class): creds = ga_credentials.AnonymousCredentials() @@ -504,7 +512,9 @@ def test_language_service_client_client_options_scopes( client_class, transport_class, transport_name ): # Check the case scopes are provided. - options = client_options.ClientOptions(scopes=["1", "2"],) + options = client_options.ClientOptions( + scopes=["1", "2"], + ) with mock.patch.object(transport_class, "__init__") as patched: patched.return_value = None client = client_class(client_options=options, transport=transport_name) @@ -648,11 +658,16 @@ def test_language_service_client_create_channel_credentials_file( @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeSentimentRequest, dict,] + "request_type", + [ + language_service.AnalyzeSentimentRequest, + dict, + ], ) def test_analyze_sentiment(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -683,7 +698,8 @@ def test_analyze_sentiment_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -702,7 +718,8 @@ async def test_analyze_sentiment_async( request_type=language_service.AnalyzeSentimentRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -715,7 +732,9 @@ async def test_analyze_sentiment_async( ) as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeSentimentResponse(language="language_value",) + language_service.AnalyzeSentimentResponse( + language="language_value", + ) ) response = await client.analyze_sentiment(request) @@ -735,7 +754,9 @@ async def test_analyze_sentiment_async_from_dict(): def test_analyze_sentiment_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -767,7 +788,9 @@ def test_analyze_sentiment_flattened(): def test_analyze_sentiment_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -839,11 +862,16 @@ async def test_analyze_sentiment_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeEntitiesRequest, dict,] + "request_type", + [ + language_service.AnalyzeEntitiesRequest, + dict, + ], ) def test_analyze_entities(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -872,7 +900,8 @@ def test_analyze_entities_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -889,7 +918,8 @@ async def test_analyze_entities_async( request_type=language_service.AnalyzeEntitiesRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -900,7 +930,9 @@ async def test_analyze_entities_async( with mock.patch.object(type(client.transport.analyze_entities), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeEntitiesResponse(language="language_value",) + language_service.AnalyzeEntitiesResponse( + language="language_value", + ) ) response = await client.analyze_entities(request) @@ -920,7 +952,9 @@ async def test_analyze_entities_async_from_dict(): def test_analyze_entities_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.analyze_entities), "__call__") as call: @@ -950,7 +984,9 @@ def test_analyze_entities_flattened(): def test_analyze_entities_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1020,11 +1056,16 @@ async def test_analyze_entities_flattened_error_async(): @pytest.mark.parametrize( - "request_type", [language_service.AnalyzeEntitySentimentRequest, dict,] + "request_type", + [ + language_service.AnalyzeEntitySentimentRequest, + dict, + ], ) def test_analyze_entity_sentiment(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1055,7 +1096,8 @@ def test_analyze_entity_sentiment_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1074,7 +1116,8 @@ async def test_analyze_entity_sentiment_async( request_type=language_service.AnalyzeEntitySentimentRequest, ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1087,7 +1130,9 @@ async def test_analyze_entity_sentiment_async( ) as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeEntitySentimentResponse(language="language_value",) + language_service.AnalyzeEntitySentimentResponse( + language="language_value", + ) ) response = await client.analyze_entity_sentiment(request) @@ -1107,7 +1152,9 @@ async def test_analyze_entity_sentiment_async_from_dict(): def test_analyze_entity_sentiment_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object( @@ -1139,7 +1186,9 @@ def test_analyze_entity_sentiment_flattened(): def test_analyze_entity_sentiment_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1210,10 +1259,17 @@ async def test_analyze_entity_sentiment_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.AnalyzeSyntaxRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.AnalyzeSyntaxRequest, + dict, + ], +) def test_analyze_syntax(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1242,7 +1298,8 @@ def test_analyze_syntax_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1258,7 +1315,8 @@ async def test_analyze_syntax_async( transport: str = "grpc_asyncio", request_type=language_service.AnalyzeSyntaxRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1269,7 +1327,9 @@ async def test_analyze_syntax_async( with mock.patch.object(type(client.transport.analyze_syntax), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnalyzeSyntaxResponse(language="language_value",) + language_service.AnalyzeSyntaxResponse( + language="language_value", + ) ) response = await client.analyze_syntax(request) @@ -1289,7 +1349,9 @@ async def test_analyze_syntax_async_from_dict(): def test_analyze_syntax_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.analyze_syntax), "__call__") as call: @@ -1319,7 +1381,9 @@ def test_analyze_syntax_flattened(): def test_analyze_syntax_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1388,10 +1452,17 @@ async def test_analyze_syntax_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.ClassifyTextRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.ClassifyTextRequest, + dict, + ], +) def test_classify_text(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1417,7 +1488,8 @@ def test_classify_text_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1433,7 +1505,8 @@ async def test_classify_text_async( transport: str = "grpc_asyncio", request_type=language_service.ClassifyTextRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1463,7 +1536,9 @@ async def test_classify_text_async_from_dict(): def test_classify_text_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.classify_text), "__call__") as call: @@ -1489,7 +1564,9 @@ def test_classify_text_flattened(): def test_classify_text_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1552,10 +1629,17 @@ async def test_classify_text_flattened_error_async(): ) -@pytest.mark.parametrize("request_type", [language_service.AnnotateTextRequest, dict,]) +@pytest.mark.parametrize( + "request_type", + [ + language_service.AnnotateTextRequest, + dict, + ], +) def test_annotate_text(request_type, transport: str = "grpc"): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1584,7 +1668,8 @@ def test_annotate_text_empty_call(): # This test is a coverage failsafe to make sure that totally empty calls, # i.e. request == None and no flattened fields passed, work. client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc", ) # Mock the actual call within the gRPC stub, and fake the request. @@ -1600,7 +1685,8 @@ async def test_annotate_text_async( transport: str = "grpc_asyncio", request_type=language_service.AnnotateTextRequest ): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # Everything is optional in proto3 as far as the runtime is concerned, @@ -1611,7 +1697,9 @@ async def test_annotate_text_async( with mock.patch.object(type(client.transport.annotate_text), "__call__") as call: # Designate an appropriate return value for the call. call.return_value = grpc_helpers_async.FakeUnaryUnaryCall( - language_service.AnnotateTextResponse(language="language_value",) + language_service.AnnotateTextResponse( + language="language_value", + ) ) response = await client.annotate_text(request) @@ -1631,7 +1719,9 @@ async def test_annotate_text_async_from_dict(): def test_annotate_text_flattened(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Mock the actual call within the gRPC stub, and fake the request. with mock.patch.object(type(client.transport.annotate_text), "__call__") as call: @@ -1665,7 +1755,9 @@ def test_annotate_text_flattened(): def test_annotate_text_flattened_error(): - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) # Attempting to call a method with both a request object and flattened # fields is an error. @@ -1747,7 +1839,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), transport=transport, + credentials=ga_credentials.AnonymousCredentials(), + transport=transport, ) # It is an error to provide a credentials file and a transport instance. @@ -1767,7 +1860,10 @@ def test_credentials_transport_error(): options = client_options.ClientOptions() options.api_key = "api_key" with pytest.raises(ValueError): - client = LanguageServiceClient(client_options=options, transport=transport,) + client = LanguageServiceClient( + client_options=options, + transport=transport, + ) # It is an error to provide an api_key and a credential. options = mock.Mock() @@ -1783,7 +1879,8 @@ def test_credentials_transport_error(): ) with pytest.raises(ValueError): client = LanguageServiceClient( - client_options={"scopes": ["1", "2"]}, transport=transport, + client_options={"scopes": ["1", "2"]}, + transport=transport, ) @@ -1828,8 +1925,13 @@ def test_transport_adc(transport_class): def test_transport_grpc_default(): # A client should use the gRPC transport by default. - client = LanguageServiceClient(credentials=ga_credentials.AnonymousCredentials(),) - assert isinstance(client.transport, transports.LanguageServiceGrpcTransport,) + client = LanguageServiceClient( + credentials=ga_credentials.AnonymousCredentials(), + ) + assert isinstance( + client.transport, + transports.LanguageServiceGrpcTransport, + ) def test_language_service_base_transport_error(): @@ -1879,7 +1981,8 @@ def test_language_service_base_transport_with_credentials_file(): Transport.return_value = None load_creds.return_value = (ga_credentials.AnonymousCredentials(), None) transport = transports.LanguageServiceTransport( - credentials_file="credentials.json", quota_project_id="octopus", + credentials_file="credentials.json", + quota_project_id="octopus", ) load_creds.assert_called_once_with( "credentials.json", @@ -2049,7 +2152,8 @@ def test_language_service_grpc_transport_channel(): # Check that channel is used if provided. transport = transports.LanguageServiceGrpcTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -2061,7 +2165,8 @@ def test_language_service_grpc_asyncio_transport_channel(): # Check that channel is used if provided. transport = transports.LanguageServiceGrpcAsyncIOTransport( - host="squid.clam.whelk", channel=channel, + host="squid.clam.whelk", + channel=channel, ) assert transport.grpc_channel == channel assert transport._host == "squid.clam.whelk:443" @@ -2190,7 +2295,9 @@ def test_parse_common_billing_account_path(): def test_common_folder_path(): folder = "whelk" - expected = "folders/{folder}".format(folder=folder,) + expected = "folders/{folder}".format( + folder=folder, + ) actual = LanguageServiceClient.common_folder_path(folder) assert expected == actual @@ -2208,7 +2315,9 @@ def test_parse_common_folder_path(): def test_common_organization_path(): organization = "oyster" - expected = "organizations/{organization}".format(organization=organization,) + expected = "organizations/{organization}".format( + organization=organization, + ) actual = LanguageServiceClient.common_organization_path(organization) assert expected == actual @@ -2226,7 +2335,9 @@ def test_parse_common_organization_path(): def test_common_project_path(): project = "cuttlefish" - expected = "projects/{project}".format(project=project,) + expected = "projects/{project}".format( + project=project, + ) actual = LanguageServiceClient.common_project_path(project) assert expected == actual @@ -2246,7 +2357,8 @@ def test_common_location_path(): project = "winkle" location = "nautilus" expected = "projects/{project}/locations/{location}".format( - project=project, location=location, + project=project, + location=location, ) actual = LanguageServiceClient.common_location_path(project, location) assert expected == actual @@ -2271,7 +2383,8 @@ def test_client_with_default_client_info(): transports.LanguageServiceTransport, "_prep_wrapped_messages" ) as prep: client = LanguageServiceClient( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -2280,7 +2393,8 @@ def test_client_with_default_client_info(): ) as prep: transport_class = LanguageServiceClient.get_transport_class() transport = transport_class( - credentials=ga_credentials.AnonymousCredentials(), client_info=client_info, + credentials=ga_credentials.AnonymousCredentials(), + client_info=client_info, ) prep.assert_called_once_with(client_info) @@ -2288,7 +2402,8 @@ def test_client_with_default_client_info(): @pytest.mark.asyncio async def test_transport_close_async(): client = LanguageServiceAsyncClient( - credentials=ga_credentials.AnonymousCredentials(), transport="grpc_asyncio", + credentials=ga_credentials.AnonymousCredentials(), + transport="grpc_asyncio", ) with mock.patch.object( type(getattr(client.transport, "grpc_channel")), "close" From 83ae95aa1ab34feece9de7eb8efc8c79728ae9dd Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 30 Mar 2022 16:01:28 +0200 Subject: [PATCH 04/29] chore(deps): update all dependencies (#279) * chore(deps): update all dependencies * revert change for pinned version Co-authored-by: Anthonios Partheniou --- samples/snippets/api/requirements-test.txt | 2 +- samples/snippets/api/requirements.txt | 4 ++-- samples/snippets/classify_text/requirements-test.txt | 2 +- samples/snippets/cloud-client/v1/requirements-test.txt | 2 +- samples/snippets/generated-samples/v1/requirements-test.txt | 2 +- samples/snippets/sentiment/requirements-test.txt | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/samples/snippets/api/requirements-test.txt b/samples/snippets/api/requirements-test.txt index c2845bff..4f6bf643 100644 --- a/samples/snippets/api/requirements-test.txt +++ b/samples/snippets/api/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.1 diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 616dfb22..e39a6af7 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.39.0 -google-auth==2.6.0 +google-api-python-client==2.42.0 +google-auth==2.6.2 google-auth-httplib2==0.1.0 diff --git a/samples/snippets/classify_text/requirements-test.txt b/samples/snippets/classify_text/requirements-test.txt index c2845bff..4f6bf643 100644 --- a/samples/snippets/classify_text/requirements-test.txt +++ b/samples/snippets/classify_text/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.1 diff --git a/samples/snippets/cloud-client/v1/requirements-test.txt b/samples/snippets/cloud-client/v1/requirements-test.txt index c2845bff..4f6bf643 100644 --- a/samples/snippets/cloud-client/v1/requirements-test.txt +++ b/samples/snippets/cloud-client/v1/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.1 diff --git a/samples/snippets/generated-samples/v1/requirements-test.txt b/samples/snippets/generated-samples/v1/requirements-test.txt index c2845bff..4f6bf643 100644 --- a/samples/snippets/generated-samples/v1/requirements-test.txt +++ b/samples/snippets/generated-samples/v1/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.1 diff --git a/samples/snippets/sentiment/requirements-test.txt b/samples/snippets/sentiment/requirements-test.txt index c2845bff..4f6bf643 100644 --- a/samples/snippets/sentiment/requirements-test.txt +++ b/samples/snippets/sentiment/requirements-test.txt @@ -1 +1 @@ -pytest==7.0.1 +pytest==7.1.1 From 55f6ffa47f7f20e02d6355dce8ad3d955a5bc0f8 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 30 Mar 2022 16:43:15 +0200 Subject: [PATCH 05/29] chore: use === in requirements.txt for environment specific pins (#284) * chore(deps): update dependency numpy to v1.22.3 * chore: use === in requirements.txt for environment specific pins * revert version bump for environment specific pin Co-authored-by: Anthonios Partheniou --- samples/snippets/classify_text/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/classify_text/requirements.txt b/samples/snippets/classify_text/requirements.txt index 1c28b1e2..dc049d13 100644 --- a/samples/snippets/classify_text/requirements.txt +++ b/samples/snippets/classify_text/requirements.txt @@ -1,3 +1,3 @@ google-cloud-language==2.4.1 numpy==1.22.3; python_version > '3.7' -numpy==1.21.4; python_version == '3.7' +numpy===1.21.4; python_version == '3.7' From c036500fa9485d5cc0be91ca1861205004d4435a Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 30 Mar 2022 16:42:33 +0000 Subject: [PATCH 06/29] chore(python): add E231 to .flake8 ignore list (#285) Source-Link: https://github.com/googleapis/synthtool/commit/7ff4aad2ec5af0380e8bd6da1fa06eaadf24ec81 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:462782b0b492346b2d9099aaff52206dd30bc8e031ea97082e6facecc2373244 --- .flake8 | 2 +- .github/.OwlBot.lock.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.flake8 b/.flake8 index 29227d4c..2e438749 100644 --- a/.flake8 +++ b/.flake8 @@ -16,7 +16,7 @@ # Generated by synthtool. DO NOT EDIT! [flake8] -ignore = E203, E266, E501, W503 +ignore = E203, E231, E266, E501, W503 exclude = # Exclude generated code. **/proto/** diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 87dd0061..9e0a9356 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,4 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:7cffbc10910c3ab1b852c05114a08d374c195a81cdec1d4a67a1d129331d0bfe + digest: sha256:462782b0b492346b2d9099aaff52206dd30bc8e031ea97082e6facecc2373244 From 09812bc7c27d9d955410e667be9f0ee70e8a01f5 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 1 Apr 2022 00:12:14 +0000 Subject: [PATCH 07/29] chore(python): update .pre-commit-config.yaml to use black==22.3.0 (#286) Source-Link: https://github.com/googleapis/synthtool/commit/7804ade3daae0d66649bee8df6c55484c6580b8d Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:eede5672562a32821444a8e803fb984a6f61f2237ea3de229d2de24453f4ae7d --- .github/.OwlBot.lock.yaml | 3 ++- .pre-commit-config.yaml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 9e0a9356..22cc254a 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,4 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:462782b0b492346b2d9099aaff52206dd30bc8e031ea97082e6facecc2373244 + digest: sha256:eede5672562a32821444a8e803fb984a6f61f2237ea3de229d2de24453f4ae7d +# created: 2022-03-30T23:44:26.560599165Z diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 62eb5a77..46d23716 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -22,7 +22,7 @@ repos: - id: end-of-file-fixer - id: check-yaml - repo: https://github.com/psf/black - rev: 19.10b0 + rev: 22.3.0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 From cd891ebb82d86b2c452cd94a042a2d32ee36180d Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 1 Apr 2022 02:04:24 +0000 Subject: [PATCH 08/29] chore(python): Enable size-label bot (#288) Source-Link: https://github.com/googleapis/synthtool/commit/06e82790dd719a165ad32b8a06f8f6ec3e3cae0f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:b3500c053313dc34e07b1632ba9e4e589f4f77036a7cf39e1fe8906811ae0fce --- .github/.OwlBot.lock.yaml | 4 ++-- .github/auto-label.yaml | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 .github/auto-label.yaml diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 22cc254a..58a0b153 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:eede5672562a32821444a8e803fb984a6f61f2237ea3de229d2de24453f4ae7d -# created: 2022-03-30T23:44:26.560599165Z + digest: sha256:b3500c053313dc34e07b1632ba9e4e589f4f77036a7cf39e1fe8906811ae0fce +# created: 2022-04-01T01:42:03.609279246Z diff --git a/.github/auto-label.yaml b/.github/auto-label.yaml new file mode 100644 index 00000000..09c8d735 --- /dev/null +++ b/.github/auto-label.yaml @@ -0,0 +1,2 @@ +requestsize: + enabled: true From 8b57360d588aac751055ab8cb19057aaedcc3fdb Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 1 Apr 2022 19:34:10 +0000 Subject: [PATCH 09/29] chore(python): refactor unit / system test dependency install (#289) Source-Link: https://github.com/googleapis/synthtool/commit/993985f0fc4b37152e588f0549bcbdaf34666023 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:1894490910e891a385484514b22eb5133578897eb5b3c380e6d8ad475c6647cd --- .github/.OwlBot.lock.yaml | 4 +- noxfile.py | 105 ++++++++++++++++++++++++++++++-------- 2 files changed, 87 insertions(+), 22 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 58a0b153..fa576229 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:b3500c053313dc34e07b1632ba9e4e589f4f77036a7cf39e1fe8906811ae0fce -# created: 2022-04-01T01:42:03.609279246Z + digest: sha256:1894490910e891a385484514b22eb5133578897eb5b3c380e6d8ad475c6647cd +# created: 2022-04-01T15:48:07.524222836Z diff --git a/noxfile.py b/noxfile.py index 3addb4ed..6ee5e8ab 100644 --- a/noxfile.py +++ b/noxfile.py @@ -20,16 +20,40 @@ import os import pathlib import shutil +import warnings import nox - BLACK_VERSION = "black==22.3.0" BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] DEFAULT_PYTHON_VERSION = "3.8" -SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"] + UNIT_TEST_PYTHON_VERSIONS = ["3.6", "3.7", "3.8", "3.9", "3.10"] +UNIT_TEST_STANDARD_DEPENDENCIES = [ + "mock", + "asyncmock", + "pytest", + "pytest-cov", + "pytest-asyncio", +] +UNIT_TEST_EXTERNAL_DEPENDENCIES = [] +UNIT_TEST_LOCAL_DEPENDENCIES = [] +UNIT_TEST_DEPENDENCIES = [] +UNIT_TEST_EXTRAS = [] +UNIT_TEST_EXTRAS_BY_PYTHON = {} + +SYSTEM_TEST_PYTHON_VERSIONS = ["3.8"] +SYSTEM_TEST_STANDARD_DEPENDENCIES = [ + "mock", + "pytest", + "google-cloud-testutils", +] +SYSTEM_TEST_EXTERNAL_DEPENDENCIES = [] +SYSTEM_TEST_LOCAL_DEPENDENCIES = [] +SYSTEM_TEST_DEPENDENCIES = [] +SYSTEM_TEST_EXTRAS = [] +SYSTEM_TEST_EXTRAS_BY_PYTHON = {} CURRENT_DIRECTORY = pathlib.Path(__file__).parent.absolute() @@ -81,23 +105,41 @@ def lint_setup_py(session): session.run("python", "setup.py", "check", "--restructuredtext", "--strict") +def install_unittest_dependencies(session, *constraints): + standard_deps = UNIT_TEST_STANDARD_DEPENDENCIES + UNIT_TEST_DEPENDENCIES + session.install(*standard_deps, *constraints) + + if UNIT_TEST_EXTERNAL_DEPENDENCIES: + warnings.warn( + "'unit_test_external_dependencies' is deprecated. Instead, please " + "use 'unit_test_dependencies' or 'unit_test_local_dependencies'.", + DeprecationWarning, + ) + session.install(*UNIT_TEST_EXTERNAL_DEPENDENCIES, *constraints) + + if UNIT_TEST_LOCAL_DEPENDENCIES: + session.install(*UNIT_TEST_LOCAL_DEPENDENCIES, *constraints) + + if UNIT_TEST_EXTRAS_BY_PYTHON: + extras = UNIT_TEST_EXTRAS_BY_PYTHON.get(session.python, []) + elif UNIT_TEST_EXTRAS: + extras = UNIT_TEST_EXTRAS + else: + extras = [] + + if extras: + session.install("-e", f".[{','.join(extras)}]", *constraints) + else: + session.install("-e", ".", *constraints) + + def default(session): # Install all test dependencies, then install this package in-place. constraints_path = str( CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt" ) - session.install( - "mock", - "asyncmock", - "pytest", - "pytest-cov", - "pytest-asyncio", - "-c", - constraints_path, - ) - - session.install("-e", ".", "-c", constraints_path) + install_unittest_dependencies(session, "-c", constraints_path) # Run py.test against the unit tests. session.run( @@ -121,6 +163,35 @@ def unit(session): default(session) +def install_systemtest_dependencies(session, *constraints): + + # Use pre-release gRPC for system tests. + session.install("--pre", "grpcio") + + session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_EXTERNAL_DEPENDENCIES: + session.install(*SYSTEM_TEST_EXTERNAL_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_LOCAL_DEPENDENCIES: + session.install("-e", *SYSTEM_TEST_LOCAL_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_DEPENDENCIES: + session.install("-e", *SYSTEM_TEST_DEPENDENCIES, *constraints) + + if SYSTEM_TEST_EXTRAS_BY_PYTHON: + extras = SYSTEM_TEST_EXTRAS_BY_PYTHON.get(session.python, []) + elif SYSTEM_TEST_EXTRAS: + extras = SYSTEM_TEST_EXTRAS + else: + extras = [] + + if extras: + session.install("-e", f".[{','.join(extras)}]", *constraints) + else: + session.install("-e", ".", *constraints) + + @nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS) def system(session): """Run the system test suite.""" @@ -143,13 +214,7 @@ def system(session): if not system_test_exists and not system_test_folder_exists: session.skip("System tests were not found") - # Use pre-release gRPC for system tests. - session.install("--pre", "grpcio") - - # Install all test dependencies, then install this package into the - # virtualenv's dist-packages. - session.install("mock", "pytest", "google-cloud-testutils", "-c", constraints_path) - session.install("-e", ".", "-c", constraints_path) + install_systemtest_dependencies(session, "-c", constraints_path) # Run py.test against the system tests. if system_test_exists: From 89773ecc9b47c739a94c6b9a1cacfe0ada526a75 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 6 Apr 2022 13:02:46 +0200 Subject: [PATCH 10/29] chore(deps): update dependency google-api-python-client to v2.43.0 (#291) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index e39a6af7..4ba22b3f 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.42.0 +google-api-python-client==2.43.0 google-auth==2.6.2 google-auth-httplib2==0.1.0 From 80104a46d384120a7c35bf378c05ed5cb9d3943e Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 6 Apr 2022 11:18:45 -0400 Subject: [PATCH 11/29] chore(python): add license header to auto-label.yaml (#293) Source-Link: https://github.com/googleapis/synthtool/commit/eb78c980b52c7c6746d2edb77d9cf7aaa99a2aab Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:8a5d3f6a2e43ed8293f34e06a2f56931d1e88a2694c3bb11b15df4eb256ad163 Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 4 ++-- .github/auto-label.yaml | 13 +++++++++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index fa576229..bc893c97 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:1894490910e891a385484514b22eb5133578897eb5b3c380e6d8ad475c6647cd -# created: 2022-04-01T15:48:07.524222836Z + digest: sha256:8a5d3f6a2e43ed8293f34e06a2f56931d1e88a2694c3bb11b15df4eb256ad163 +# created: 2022-04-06T10:30:21.687684602Z diff --git a/.github/auto-label.yaml b/.github/auto-label.yaml index 09c8d735..41bff0b5 100644 --- a/.github/auto-label.yaml +++ b/.github/auto-label.yaml @@ -1,2 +1,15 @@ +# 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. requestsize: enabled: true From aa514b546465fabbf8b9e02338a16b4348f51242 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 8 Apr 2022 01:13:27 +0200 Subject: [PATCH 12/29] chore(deps): update dependency google-auth to v2.6.3 (#296) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 4ba22b3f..6c83831d 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.43.0 -google-auth==2.6.2 +google-auth==2.6.3 google-auth-httplib2==0.1.0 From c73ef330e30cc82b700f99e33e5fa08aaf8c5f01 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 13 Apr 2022 00:48:11 +0200 Subject: [PATCH 13/29] chore(deps): update dependency google-api-python-client to v2.44.0 (#299) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 6c83831d..3b0e3602 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.43.0 +google-api-python-client==2.44.0 google-auth==2.6.3 google-auth-httplib2==0.1.0 From ac63ed78adabafeca852dc977518a6073db6d743 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Wed, 13 Apr 2022 01:28:46 +0200 Subject: [PATCH 14/29] chore(deps): update dependency google-auth to v2.6.4 (#300) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 3b0e3602..ab42a15e 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.44.0 -google-auth==2.6.3 +google-auth==2.6.4 google-auth-httplib2==0.1.0 From 41c28cd35b91adcbe3221a898419c323875b5cfd Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 13 Apr 2022 00:20:11 +0000 Subject: [PATCH 15/29] chore: Use gapic-generator-python 0.65.0 (#298) - [ ] Regenerate this pull request now. PiperOrigin-RevId: 440970084 Source-Link: https://github.com/googleapis/googleapis/commit/5e0a3d57254ab9857ccac77fc6ffade7b69a2dc7 Source-Link: https://github.com/googleapis/googleapis-gen/commit/b0c628a3fade768f225d76992791ea1ba2a881be Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYjBjNjI4YTNmYWRlNzY4ZjIyNWQ3Njk5Mjc5MWVhMWJhMmE4ODFiZSJ9 docs: fix type in docstring for map fields --- .../services/language_service/async_client.py | 24 ++---- .../services/language_service/client.py | 6 +- .../language_service/transports/base.py | 23 +++--- .../language_service/transports/grpc.py | 4 + .../language_v1/types/language_service.py | 2 +- .../services/language_service/async_client.py | 24 ++---- .../services/language_service/client.py | 6 +- .../language_service/transports/base.py | 23 +++--- .../language_service/transports/grpc.py | 4 + .../types/language_service.py | 2 +- .../language_v1/test_language_service.py | 79 +++++++++++++++---- .../language_v1beta2/test_language_service.py | 79 +++++++++++++++---- 12 files changed, 172 insertions(+), 104 deletions(-) diff --git a/google/cloud/language_v1/services/language_service/async_client.py b/google/cloud/language_v1/services/language_service/async_client.py index 80cb5502..e12649a7 100644 --- a/google/cloud/language_v1/services/language_service/async_client.py +++ b/google/cloud/language_v1/services/language_service/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -291,8 +291,7 @@ def sample_analyze_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -326,7 +325,6 @@ async def analyze_entities( salience, mentions for each entity, and other properties. - .. code-block:: python from google.cloud import language_v1 @@ -402,8 +400,7 @@ def sample_analyze_entities(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -437,7 +434,6 @@ async def analyze_entity_sentiment( in the text and analyzes sentiment associated with each entity and its mentions. - .. code-block:: python from google.cloud import language_v1 @@ -516,8 +512,7 @@ def sample_analyze_entity_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -550,7 +545,6 @@ async def analyze_syntax( boundaries and tokenization along with part of speech tags, dependency trees, and other properties. - .. code-block:: python from google.cloud import language_v1 @@ -626,8 +620,7 @@ def sample_analyze_syntax(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -726,8 +719,7 @@ def sample_classify_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -761,7 +753,6 @@ async def annotate_text( that analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call. - .. code-block:: python from google.cloud import language_v1 @@ -848,8 +839,7 @@ def sample_annotate_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), diff --git a/google/cloud/language_v1/services/language_service/client.py b/google/cloud/language_v1/services/language_service/client.py index a3a215e7..a5173c34 100644 --- a/google/cloud/language_v1/services/language_service/client.py +++ b/google/cloud/language_v1/services/language_service/client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import os import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core import client_options as client_options_lib @@ -520,7 +520,6 @@ def analyze_entities( salience, mentions for each entity, and other properties. - .. code-block:: python from google.cloud import language_v1 @@ -621,7 +620,6 @@ def analyze_entity_sentiment( in the text and analyzes sentiment associated with each entity and its mentions. - .. code-block:: python from google.cloud import language_v1 @@ -724,7 +722,6 @@ def analyze_syntax( boundaries and tokenization along with part of speech tags, dependency trees, and other properties. - .. code-block:: python from google.cloud import language_v1 @@ -915,7 +912,6 @@ def annotate_text( that analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call. - .. code-block:: python from google.cloud import language_v1 diff --git a/google/cloud/language_v1/services/language_service/transports/base.py b/google/cloud/language_v1/services/language_service/transports/base.py index 67326655..29a95fad 100644 --- a/google/cloud/language_v1/services/language_service/transports/base.py +++ b/google/cloud/language_v1/services/language_service/transports/base.py @@ -83,6 +83,7 @@ def __init__( always_use_jwt_access (Optional[bool]): Whether self signed JWT should be used for service account credentials. """ + # Save the hostname. Default to port 443 (HTTPS) if none is specified. if ":" not in host: host += ":443" @@ -130,8 +131,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -145,8 +145,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -160,8 +159,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -175,8 +173,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -190,8 +187,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -205,8 +201,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -296,5 +291,9 @@ def annotate_text( ]: raise NotImplementedError() + @property + def kind(self) -> str: + raise NotImplementedError() + __all__ = ("LanguageServiceTransport",) diff --git a/google/cloud/language_v1/services/language_service/transports/grpc.py b/google/cloud/language_v1/services/language_service/transports/grpc.py index 31f4bc9d..b7b421af 100644 --- a/google/cloud/language_v1/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1/services/language_service/transports/grpc.py @@ -412,5 +412,9 @@ def annotate_text( def close(self): self.grpc_channel.close() + @property + def kind(self) -> str: + return "grpc" + __all__ = ("LanguageServiceGrpcTransport",) diff --git a/google/cloud/language_v1/types/language_service.py b/google/cloud/language_v1/types/language_service.py index d26ac7a8..eed340e3 100644 --- a/google/cloud/language_v1/types/language_service.py +++ b/google/cloud/language_v1/types/language_service.py @@ -160,7 +160,7 @@ class Entity(proto.Message): The representative name for the entity. type_ (google.cloud.language_v1.types.Entity.Type): The entity type. - metadata (Sequence[google.cloud.language_v1.types.Entity.MetadataEntry]): + metadata (Mapping[str, str]): Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL diff --git a/google/cloud/language_v1beta2/services/language_service/async_client.py b/google/cloud/language_v1beta2/services/language_service/async_client.py index 6053c975..08757b5c 100644 --- a/google/cloud/language_v1beta2/services/language_service/async_client.py +++ b/google/cloud/language_v1beta2/services/language_service/async_client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import functools import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core.client_options import ClientOptions @@ -292,8 +292,7 @@ def sample_analyze_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -327,7 +326,6 @@ async def analyze_entities( salience, mentions for each entity, and other properties. - .. code-block:: python from google.cloud import language_v1beta2 @@ -403,8 +401,7 @@ def sample_analyze_entities(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -438,7 +435,6 @@ async def analyze_entity_sentiment( in the text and analyzes sentiment associated with each entity and its mentions. - .. code-block:: python from google.cloud import language_v1beta2 @@ -517,8 +513,7 @@ def sample_analyze_entity_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -551,7 +546,6 @@ async def analyze_syntax( boundaries and tokenization along with part-of-speech tags, dependency trees, and other properties. - .. code-block:: python from google.cloud import language_v1beta2 @@ -627,8 +621,7 @@ def sample_analyze_syntax(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -727,8 +720,7 @@ def sample_classify_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -762,7 +754,6 @@ async def annotate_text( sentiment, entity, and classification features in one call. - .. code-block:: python from google.cloud import language_v1beta2 @@ -849,8 +840,7 @@ def sample_annotate_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), diff --git a/google/cloud/language_v1beta2/services/language_service/client.py b/google/cloud/language_v1beta2/services/language_service/client.py index d4e44895..ac1049b9 100644 --- a/google/cloud/language_v1beta2/services/language_service/client.py +++ b/google/cloud/language_v1beta2/services/language_service/client.py @@ -16,7 +16,7 @@ from collections import OrderedDict import os import re -from typing import Dict, Optional, Sequence, Tuple, Type, Union +from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union import pkg_resources from google.api_core import client_options as client_options_lib @@ -521,7 +521,6 @@ def analyze_entities( salience, mentions for each entity, and other properties. - .. code-block:: python from google.cloud import language_v1beta2 @@ -622,7 +621,6 @@ def analyze_entity_sentiment( in the text and analyzes sentiment associated with each entity and its mentions. - .. code-block:: python from google.cloud import language_v1beta2 @@ -725,7 +723,6 @@ def analyze_syntax( boundaries and tokenization along with part-of-speech tags, dependency trees, and other properties. - .. code-block:: python from google.cloud import language_v1beta2 @@ -916,7 +913,6 @@ def annotate_text( sentiment, entity, and classification features in one call. - .. code-block:: python from google.cloud import language_v1beta2 diff --git a/google/cloud/language_v1beta2/services/language_service/transports/base.py b/google/cloud/language_v1beta2/services/language_service/transports/base.py index 3c3de710..278b65df 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/base.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/base.py @@ -83,6 +83,7 @@ def __init__( always_use_jwt_access (Optional[bool]): Whether self signed JWT should be used for service account credentials. """ + # Save the hostname. Default to port 443 (HTTPS) if none is specified. if ":" not in host: host += ":443" @@ -130,8 +131,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -145,8 +145,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -160,8 +159,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -175,8 +173,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -190,8 +187,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -205,8 +201,7 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.DeadlineExceeded, - core_exceptions.ServiceUnavailable, + core_exceptions.GoogleAPICallError, ), deadline=600.0, ), @@ -296,5 +291,9 @@ def annotate_text( ]: raise NotImplementedError() + @property + def kind(self) -> str: + raise NotImplementedError() + __all__ = ("LanguageServiceTransport",) diff --git a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py index f5725f24..c6b1b540 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py @@ -412,5 +412,9 @@ def annotate_text( def close(self): self.grpc_channel.close() + @property + def kind(self) -> str: + return "grpc" + __all__ = ("LanguageServiceGrpcTransport",) diff --git a/google/cloud/language_v1beta2/types/language_service.py b/google/cloud/language_v1beta2/types/language_service.py index fe526cb8..194002bc 100644 --- a/google/cloud/language_v1beta2/types/language_service.py +++ b/google/cloud/language_v1beta2/types/language_service.py @@ -160,7 +160,7 @@ class Entity(proto.Message): The representative name for the entity. type_ (google.cloud.language_v1beta2.types.Entity.Type): The entity type. - metadata (Sequence[google.cloud.language_v1beta2.types.Entity.MetadataEntry]): + metadata (Mapping[str, str]): Metadata associated with the entity. For most entity types, the metadata is a Wikipedia URL diff --git a/tests/unit/gapic/language_v1/test_language_service.py b/tests/unit/gapic/language_v1/test_language_service.py index d5ac0ac6..08447420 100644 --- a/tests/unit/gapic/language_v1/test_language_service.py +++ b/tests/unit/gapic/language_v1/test_language_service.py @@ -86,24 +86,26 @@ def test__get_default_mtls_endpoint(): @pytest.mark.parametrize( - "client_class", + "client_class,transport_name", [ - LanguageServiceClient, - LanguageServiceAsyncClient, + (LanguageServiceClient, "grpc"), + (LanguageServiceAsyncClient, "grpc_asyncio"), ], ) -def test_language_service_client_from_service_account_info(client_class): +def test_language_service_client_from_service_account_info( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_info" ) as factory: factory.return_value = creds info = {"valid": True} - client = client_class.from_service_account_info(info) + client = client_class.from_service_account_info(info, transport=transport_name) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") @pytest.mark.parametrize( @@ -132,27 +134,33 @@ def test_language_service_client_service_account_always_use_jwt( @pytest.mark.parametrize( - "client_class", + "client_class,transport_name", [ - LanguageServiceClient, - LanguageServiceAsyncClient, + (LanguageServiceClient, "grpc"), + (LanguageServiceAsyncClient, "grpc_asyncio"), ], ) -def test_language_service_client_from_service_account_file(client_class): +def test_language_service_client_from_service_account_file( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_file" ) as factory: factory.return_value = creds - client = client_class.from_service_account_file("dummy/file/path.json") + client = client_class.from_service_account_file( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - client = client_class.from_service_account_json("dummy/file/path.json") + client = client_class.from_service_account_json( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") def test_language_service_client_get_transport_class(): @@ -1921,6 +1929,19 @@ def test_transport_adc(transport_class): adc.assert_called_once() +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + ], +) +def test_transport_kind(transport_name): + transport = LanguageServiceClient.get_transport_class(transport_name)( + credentials=ga_credentials.AnonymousCredentials(), + ) + assert transport.kind == transport_name + + def test_transport_grpc_default(): # A client should use the gRPC transport by default. client = LanguageServiceClient( @@ -1968,6 +1989,14 @@ def test_language_service_base_transport(): with pytest.raises(NotImplementedError): transport.close() + # Catch all for all remaining methods and properties + remainder = [ + "kind", + ] + for r in remainder: + with pytest.raises(NotImplementedError): + getattr(transport, r)() + def test_language_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file @@ -2125,24 +2154,40 @@ def test_language_service_grpc_transport_client_cert_source_for_mtls(transport_c ) -def test_language_service_host_no_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_language_service_host_no_port(transport_name): client = LanguageServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="language.googleapis.com" ), + transport=transport_name, ) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") -def test_language_service_host_with_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_language_service_host_with_port(transport_name): client = LanguageServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="language.googleapis.com:8000" ), + transport=transport_name, ) - assert client.transport._host == "language.googleapis.com:8000" + assert client.transport._host == ("language.googleapis.com:8000") def test_language_service_grpc_transport_channel(): diff --git a/tests/unit/gapic/language_v1beta2/test_language_service.py b/tests/unit/gapic/language_v1beta2/test_language_service.py index 89f8432a..6603d4a3 100644 --- a/tests/unit/gapic/language_v1beta2/test_language_service.py +++ b/tests/unit/gapic/language_v1beta2/test_language_service.py @@ -88,24 +88,26 @@ def test__get_default_mtls_endpoint(): @pytest.mark.parametrize( - "client_class", + "client_class,transport_name", [ - LanguageServiceClient, - LanguageServiceAsyncClient, + (LanguageServiceClient, "grpc"), + (LanguageServiceAsyncClient, "grpc_asyncio"), ], ) -def test_language_service_client_from_service_account_info(client_class): +def test_language_service_client_from_service_account_info( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_info" ) as factory: factory.return_value = creds info = {"valid": True} - client = client_class.from_service_account_info(info) + client = client_class.from_service_account_info(info, transport=transport_name) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") @pytest.mark.parametrize( @@ -134,27 +136,33 @@ def test_language_service_client_service_account_always_use_jwt( @pytest.mark.parametrize( - "client_class", + "client_class,transport_name", [ - LanguageServiceClient, - LanguageServiceAsyncClient, + (LanguageServiceClient, "grpc"), + (LanguageServiceAsyncClient, "grpc_asyncio"), ], ) -def test_language_service_client_from_service_account_file(client_class): +def test_language_service_client_from_service_account_file( + client_class, transport_name +): creds = ga_credentials.AnonymousCredentials() with mock.patch.object( service_account.Credentials, "from_service_account_file" ) as factory: factory.return_value = creds - client = client_class.from_service_account_file("dummy/file/path.json") + client = client_class.from_service_account_file( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - client = client_class.from_service_account_json("dummy/file/path.json") + client = client_class.from_service_account_json( + "dummy/file/path.json", transport=transport_name + ) assert client.transport._credentials == creds assert isinstance(client, client_class) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") def test_language_service_client_get_transport_class(): @@ -1923,6 +1931,19 @@ def test_transport_adc(transport_class): adc.assert_called_once() +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + ], +) +def test_transport_kind(transport_name): + transport = LanguageServiceClient.get_transport_class(transport_name)( + credentials=ga_credentials.AnonymousCredentials(), + ) + assert transport.kind == transport_name + + def test_transport_grpc_default(): # A client should use the gRPC transport by default. client = LanguageServiceClient( @@ -1970,6 +1991,14 @@ def test_language_service_base_transport(): with pytest.raises(NotImplementedError): transport.close() + # Catch all for all remaining methods and properties + remainder = [ + "kind", + ] + for r in remainder: + with pytest.raises(NotImplementedError): + getattr(transport, r)() + def test_language_service_base_transport_with_credentials_file(): # Instantiate the base transport with a credentials file @@ -2127,24 +2156,40 @@ def test_language_service_grpc_transport_client_cert_source_for_mtls(transport_c ) -def test_language_service_host_no_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_language_service_host_no_port(transport_name): client = LanguageServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="language.googleapis.com" ), + transport=transport_name, ) - assert client.transport._host == "language.googleapis.com:443" + assert client.transport._host == ("language.googleapis.com:443") -def test_language_service_host_with_port(): +@pytest.mark.parametrize( + "transport_name", + [ + "grpc", + "grpc_asyncio", + ], +) +def test_language_service_host_with_port(transport_name): client = LanguageServiceClient( credentials=ga_credentials.AnonymousCredentials(), client_options=client_options.ClientOptions( api_endpoint="language.googleapis.com:8000" ), + transport=transport_name, ) - assert client.transport._host == "language.googleapis.com:8000" + assert client.transport._host == ("language.googleapis.com:8000") def test_language_service_grpc_transport_channel(): From 7719e96d8d2ee0bed1c8f7ca545174aa855e3ab2 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 14 Apr 2022 07:43:12 -0400 Subject: [PATCH 16/29] chore: use gapic-generator-python 0.65.1 (#302) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.65.1 PiperOrigin-RevId: 441524537 Source-Link: https://github.com/googleapis/googleapis/commit/2a273915b3f70fe86c9d2a75470a0b83e48d0abf Source-Link: https://github.com/googleapis/googleapis-gen/commit/ab6756a48c89b5bcb9fb73443cb8e55d574f4643 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiYWI2NzU2YTQ4Yzg5YjViY2I5ZmI3MzQ0M2NiOGU1NWQ1NzRmNDY0MyJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../services/language_service/async_client.py | 18 +- .../language_service/transports/base.py | 18 +- .../services/language_service/async_client.py | 18 +- .../language_service/transports/base.py | 18 +- .../snippet_metadata_language_v1.json | 538 +++++++++++++++++- .../snippet_metadata_language_v1beta2.json | 538 +++++++++++++++++- 6 files changed, 1076 insertions(+), 72 deletions(-) diff --git a/google/cloud/language_v1/services/language_service/async_client.py b/google/cloud/language_v1/services/language_service/async_client.py index e12649a7..96784158 100644 --- a/google/cloud/language_v1/services/language_service/async_client.py +++ b/google/cloud/language_v1/services/language_service/async_client.py @@ -291,7 +291,8 @@ def sample_analyze_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -400,7 +401,8 @@ def sample_analyze_entities(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -512,7 +514,8 @@ def sample_analyze_entity_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -620,7 +623,8 @@ def sample_analyze_syntax(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -719,7 +723,8 @@ def sample_classify_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -839,7 +844,8 @@ def sample_annotate_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), diff --git a/google/cloud/language_v1/services/language_service/transports/base.py b/google/cloud/language_v1/services/language_service/transports/base.py index 29a95fad..65c3cae2 100644 --- a/google/cloud/language_v1/services/language_service/transports/base.py +++ b/google/cloud/language_v1/services/language_service/transports/base.py @@ -131,7 +131,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -145,7 +146,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -159,7 +161,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -173,7 +176,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -187,7 +191,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -201,7 +206,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), diff --git a/google/cloud/language_v1beta2/services/language_service/async_client.py b/google/cloud/language_v1beta2/services/language_service/async_client.py index 08757b5c..f20561ed 100644 --- a/google/cloud/language_v1beta2/services/language_service/async_client.py +++ b/google/cloud/language_v1beta2/services/language_service/async_client.py @@ -292,7 +292,8 @@ def sample_analyze_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -401,7 +402,8 @@ def sample_analyze_entities(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -513,7 +515,8 @@ def sample_analyze_entity_sentiment(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -621,7 +624,8 @@ def sample_analyze_syntax(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -720,7 +724,8 @@ def sample_classify_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -840,7 +845,8 @@ def sample_annotate_text(): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), diff --git a/google/cloud/language_v1beta2/services/language_service/transports/base.py b/google/cloud/language_v1beta2/services/language_service/transports/base.py index 278b65df..dd29d40a 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/base.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/base.py @@ -131,7 +131,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -145,7 +146,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -159,7 +161,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -173,7 +176,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -187,7 +191,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), @@ -201,7 +206,8 @@ def _prep_wrapped_messages(self, client_info): maximum=60.0, multiplier=1.3, predicate=retries.if_exception_type( - core_exceptions.GoogleAPICallError, + core_exceptions.DeadlineExceeded, + core_exceptions.ServiceUnavailable, ), deadline=600.0, ), diff --git a/samples/generated_samples/snippet_metadata_language_v1.json b/samples/generated_samples/snippet_metadata_language_v1.json index ad0df512..c1e4dd61 100644 --- a/samples/generated_samples/snippet_metadata_language_v1.json +++ b/samples/generated_samples/snippet_metadata_language_v1.json @@ -1,16 +1,65 @@ { + "clientLibrary": { + "apis": [ + { + "id": "google.cloud.language.v1", + "version": "v1" + } + ], + "language": "PYTHON", + "name": "google-cloud-language" + }, "snippets": [ { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.analyze_entities", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeEntities", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntities" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeEntitiesRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeEntitiesResponse", + "shortName": "analyze_entities" }, + "description": "Sample for AnalyzeEntities", "file": "language_v1_generated_language_service_analyze_entities_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeEntities_async", "segments": [ { @@ -43,18 +92,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_entities_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.analyze_entities", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeEntities", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntities" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeEntitiesRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeEntitiesResponse", + "shortName": "analyze_entities" }, + "description": "Sample for AnalyzeEntities", "file": "language_v1_generated_language_service_analyze_entities_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeEntities_sync", "segments": [ { @@ -87,19 +176,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_entities_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.analyze_entity_sentiment", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeEntitySentiment", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntitySentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeEntitySentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeEntitySentimentResponse", + "shortName": "analyze_entity_sentiment" }, + "description": "Sample for AnalyzeEntitySentiment", "file": "language_v1_generated_language_service_analyze_entity_sentiment_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeEntitySentiment_async", "segments": [ { @@ -132,18 +261,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_entity_sentiment_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.analyze_entity_sentiment", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeEntitySentiment", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntitySentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeEntitySentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeEntitySentimentResponse", + "shortName": "analyze_entity_sentiment" }, + "description": "Sample for AnalyzeEntitySentiment", "file": "language_v1_generated_language_service_analyze_entity_sentiment_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeEntitySentiment_sync", "segments": [ { @@ -176,19 +345,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_entity_sentiment_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.analyze_sentiment", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeSentiment", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeSentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeSentimentResponse", + "shortName": "analyze_sentiment" }, + "description": "Sample for AnalyzeSentiment", "file": "language_v1_generated_language_service_analyze_sentiment_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeSentiment_async", "segments": [ { @@ -221,18 +430,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_sentiment_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.analyze_sentiment", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeSentiment", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeSentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeSentimentResponse", + "shortName": "analyze_sentiment" }, + "description": "Sample for AnalyzeSentiment", "file": "language_v1_generated_language_service_analyze_sentiment_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeSentiment_sync", "segments": [ { @@ -265,19 +514,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_sentiment_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.analyze_syntax", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeSyntax", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSyntax" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeSyntaxRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeSyntaxResponse", + "shortName": "analyze_syntax" }, + "description": "Sample for AnalyzeSyntax", "file": "language_v1_generated_language_service_analyze_syntax_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeSyntax_async", "segments": [ { @@ -310,18 +599,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_syntax_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.analyze_syntax", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnalyzeSyntax", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSyntax" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnalyzeSyntaxRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnalyzeSyntaxResponse", + "shortName": "analyze_syntax" }, + "description": "Sample for AnalyzeSyntax", "file": "language_v1_generated_language_service_analyze_syntax_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnalyzeSyntax_sync", "segments": [ { @@ -354,19 +683,63 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_analyze_syntax_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.annotate_text", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnnotateText", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnnotateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnnotateTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "features", + "type": "google.cloud.language_v1.types.AnnotateTextRequest.Features" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnnotateTextResponse", + "shortName": "annotate_text" }, + "description": "Sample for AnnotateText", "file": "language_v1_generated_language_service_annotate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnnotateText_async", "segments": [ { @@ -399,18 +772,62 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_annotate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.annotate_text", "method": { + "fullName": "google.cloud.language.v1.LanguageService.AnnotateText", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "AnnotateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.AnnotateTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "features", + "type": "google.cloud.language_v1.types.AnnotateTextRequest.Features" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.AnnotateTextResponse", + "shortName": "annotate_text" }, + "description": "Sample for AnnotateText", "file": "language_v1_generated_language_service_annotate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_AnnotateText_sync", "segments": [ { @@ -443,19 +860,55 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_annotate_text_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceAsyncClient.classify_text", "method": { + "fullName": "google.cloud.language.v1.LanguageService.ClassifyText", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "ClassifyText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.ClassifyTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.ClassifyTextResponse", + "shortName": "classify_text" }, + "description": "Sample for ClassifyText", "file": "language_v1_generated_language_service_classify_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_ClassifyText_async", "segments": [ { @@ -488,18 +941,54 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_classify_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1.LanguageServiceClient.classify_text", "method": { + "fullName": "google.cloud.language.v1.LanguageService.ClassifyText", "service": { + "fullName": "google.cloud.language.v1.LanguageService", "shortName": "LanguageService" }, "shortName": "ClassifyText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1.types.ClassifyTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1.types.Document" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1.types.ClassifyTextResponse", + "shortName": "classify_text" }, + "description": "Sample for ClassifyText", "file": "language_v1_generated_language_service_classify_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1_generated_LanguageService_ClassifyText_sync", "segments": [ { @@ -532,7 +1021,8 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1_generated_language_service_classify_text_sync.py" } ] } diff --git a/samples/generated_samples/snippet_metadata_language_v1beta2.json b/samples/generated_samples/snippet_metadata_language_v1beta2.json index 68415e8e..bf3a59ca 100644 --- a/samples/generated_samples/snippet_metadata_language_v1beta2.json +++ b/samples/generated_samples/snippet_metadata_language_v1beta2.json @@ -1,16 +1,65 @@ { + "clientLibrary": { + "apis": [ + { + "id": "google.cloud.language.v1beta2", + "version": "v1beta2" + } + ], + "language": "PYTHON", + "name": "google-cloud-language" + }, "snippets": [ { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.analyze_entities", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeEntities", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntities" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeEntitiesRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeEntitiesResponse", + "shortName": "analyze_entities" }, + "description": "Sample for AnalyzeEntities", "file": "language_v1beta2_generated_language_service_analyze_entities_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeEntities_async", "segments": [ { @@ -43,18 +92,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_entities_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.analyze_entities", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeEntities", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntities" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeEntitiesRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeEntitiesResponse", + "shortName": "analyze_entities" }, + "description": "Sample for AnalyzeEntities", "file": "language_v1beta2_generated_language_service_analyze_entities_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeEntities_sync", "segments": [ { @@ -87,19 +176,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_entities_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.analyze_entity_sentiment", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeEntitySentiment", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntitySentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeEntitySentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeEntitySentimentResponse", + "shortName": "analyze_entity_sentiment" }, + "description": "Sample for AnalyzeEntitySentiment", "file": "language_v1beta2_generated_language_service_analyze_entity_sentiment_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeEntitySentiment_async", "segments": [ { @@ -132,18 +261,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_entity_sentiment_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.analyze_entity_sentiment", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeEntitySentiment", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeEntitySentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeEntitySentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeEntitySentimentResponse", + "shortName": "analyze_entity_sentiment" }, + "description": "Sample for AnalyzeEntitySentiment", "file": "language_v1beta2_generated_language_service_analyze_entity_sentiment_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeEntitySentiment_sync", "segments": [ { @@ -176,19 +345,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_entity_sentiment_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.analyze_sentiment", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeSentiment", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeSentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeSentimentResponse", + "shortName": "analyze_sentiment" }, + "description": "Sample for AnalyzeSentiment", "file": "language_v1beta2_generated_language_service_analyze_sentiment_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeSentiment_async", "segments": [ { @@ -221,18 +430,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_sentiment_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.analyze_sentiment", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeSentiment", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSentiment" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeSentimentRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeSentimentResponse", + "shortName": "analyze_sentiment" }, + "description": "Sample for AnalyzeSentiment", "file": "language_v1beta2_generated_language_service_analyze_sentiment_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeSentiment_sync", "segments": [ { @@ -265,19 +514,59 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_sentiment_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.analyze_syntax", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeSyntax", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSyntax" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeSyntaxRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeSyntaxResponse", + "shortName": "analyze_syntax" }, + "description": "Sample for AnalyzeSyntax", "file": "language_v1beta2_generated_language_service_analyze_syntax_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeSyntax_async", "segments": [ { @@ -310,18 +599,58 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_syntax_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.analyze_syntax", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnalyzeSyntax", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnalyzeSyntax" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnalyzeSyntaxRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnalyzeSyntaxResponse", + "shortName": "analyze_syntax" }, + "description": "Sample for AnalyzeSyntax", "file": "language_v1beta2_generated_language_service_analyze_syntax_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnalyzeSyntax_sync", "segments": [ { @@ -354,19 +683,63 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_analyze_syntax_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.annotate_text", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnnotateText", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnnotateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnnotateTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "features", + "type": "google.cloud.language_v1beta2.types.AnnotateTextRequest.Features" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnnotateTextResponse", + "shortName": "annotate_text" }, + "description": "Sample for AnnotateText", "file": "language_v1beta2_generated_language_service_annotate_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnnotateText_async", "segments": [ { @@ -399,18 +772,62 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_annotate_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.annotate_text", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.AnnotateText", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "AnnotateText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.AnnotateTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "features", + "type": "google.cloud.language_v1beta2.types.AnnotateTextRequest.Features" + }, + { + "name": "encoding_type", + "type": "google.cloud.language_v1beta2.types.EncodingType" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.AnnotateTextResponse", + "shortName": "annotate_text" }, + "description": "Sample for AnnotateText", "file": "language_v1beta2_generated_language_service_annotate_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_AnnotateText_sync", "segments": [ { @@ -443,19 +860,55 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_annotate_text_sync.py" }, { + "canonical": true, "clientMethod": { "async": true, + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient", + "shortName": "LanguageServiceAsyncClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceAsyncClient.classify_text", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.ClassifyText", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "ClassifyText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.ClassifyTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.ClassifyTextResponse", + "shortName": "classify_text" }, + "description": "Sample for ClassifyText", "file": "language_v1beta2_generated_language_service_classify_text_async.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_ClassifyText_async", "segments": [ { @@ -488,18 +941,54 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_classify_text_async.py" }, { + "canonical": true, "clientMethod": { + "client": { + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient", + "shortName": "LanguageServiceClient" + }, + "fullName": "google.cloud.language_v1beta2.LanguageServiceClient.classify_text", "method": { + "fullName": "google.cloud.language.v1beta2.LanguageService.ClassifyText", "service": { + "fullName": "google.cloud.language.v1beta2.LanguageService", "shortName": "LanguageService" }, "shortName": "ClassifyText" - } + }, + "parameters": [ + { + "name": "request", + "type": "google.cloud.language_v1beta2.types.ClassifyTextRequest" + }, + { + "name": "document", + "type": "google.cloud.language_v1beta2.types.Document" + }, + { + "name": "retry", + "type": "google.api_core.retry.Retry" + }, + { + "name": "timeout", + "type": "float" + }, + { + "name": "metadata", + "type": "Sequence[Tuple[str, str]" + } + ], + "resultType": "google.cloud.language_v1beta2.types.ClassifyTextResponse", + "shortName": "classify_text" }, + "description": "Sample for ClassifyText", "file": "language_v1beta2_generated_language_service_classify_text_sync.py", + "language": "PYTHON", + "origin": "API_DEFINITION", "regionTag": "language_v1beta2_generated_LanguageService_ClassifyText_sync", "segments": [ { @@ -532,7 +1021,8 @@ "start": 45, "type": "RESPONSE_HANDLING" } - ] + ], + "title": "language_v1beta2_generated_language_service_classify_text_sync.py" } ] } From 37be36fdfa49a41a4ba2993dcd507980a4c1d098 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 15 Apr 2022 02:45:14 +0200 Subject: [PATCH 17/29] chore(deps): update dependency google-auth to v2.6.5 (#303) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index ab42a15e..13fd78ce 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.44.0 -google-auth==2.6.4 +google-auth==2.6.5 google-auth-httplib2==0.1.0 From c605af68b349e50ef4a33854a8280f967453a085 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 19 Apr 2022 16:59:43 +0200 Subject: [PATCH 18/29] chore(deps): update dependency google-api-python-client to v2.45.0 (#304) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 13fd78ce..665a8c67 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.44.0 +google-api-python-client==2.45.0 google-auth==2.6.5 google-auth-httplib2==0.1.0 From 680ba3c47350419774ebbdf539ba9ec0bd0cb623 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 20 Apr 2022 21:28:28 -0400 Subject: [PATCH 19/29] chore(python): add nox session to sort python imports (#305) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(python): add nox session to sort python imports Source-Link: https://github.com/googleapis/synthtool/commit/1b71c10e20de7ed3f97f692f99a0e3399b67049f Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:00c9d764fd1cd56265f12a5ef4b99a0c9e87cf261018099141e2ca5158890416 * revert change to region tag * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot Co-authored-by: Anthonios Partheniou --- .github/.OwlBot.lock.yaml | 4 +- docs/conf.py | 2 +- google/cloud/language/__init__.py | 51 +++++++++--------- google/cloud/language_v1/__init__.py | 52 +++++++++---------- .../services/language_service/__init__.py | 2 +- .../services/language_service/async_client.py | 9 ++-- .../services/language_service/client.py | 7 +-- .../language_service/transports/__init__.py | 1 - .../language_service/transports/base.py | 4 +- .../language_service/transports/grpc.py | 9 ++-- .../transports/grpc_asyncio.py | 9 ++-- google/cloud/language_v1/types/__init__.py | 2 +- .../language_v1/types/language_service.py | 1 - google/cloud/language_v1beta2/__init__.py | 52 +++++++++---------- .../services/language_service/__init__.py | 2 +- .../services/language_service/async_client.py | 9 ++-- .../services/language_service/client.py | 7 +-- .../language_service/transports/__init__.py | 1 - .../language_service/transports/base.py | 4 +- .../language_service/transports/grpc.py | 9 ++-- .../transports/grpc_asyncio.py | 9 ++-- .../cloud/language_v1beta2/types/__init__.py | 2 +- .../types/language_service.py | 1 - noxfile.py | 28 ++++++++-- samples/snippets/api/noxfile.py | 23 +++++++- .../classify_text_tutorial_test.py | 1 - samples/snippets/classify_text/noxfile.py | 23 +++++++- samples/snippets/cloud-client/v1/noxfile.py | 23 +++++++- .../snippets/cloud-client/v1/quickstart.py | 1 - .../v1/language_sentiment_text.py | 1 + .../snippets/generated-samples/v1/noxfile.py | 23 +++++++- samples/snippets/sentiment/noxfile.py | 23 +++++++- setup.py | 1 - .../language_v1/test_language_service.py | 28 +++++----- .../language_v1beta2/test_language_service.py | 28 ++++------ 35 files changed, 280 insertions(+), 172 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index bc893c97..7c454abf 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:8a5d3f6a2e43ed8293f34e06a2f56931d1e88a2694c3bb11b15df4eb256ad163 -# created: 2022-04-06T10:30:21.687684602Z + digest: sha256:00c9d764fd1cd56265f12a5ef4b99a0c9e87cf261018099141e2ca5158890416 +# created: 2022-04-20T23:42:53.970438194Z diff --git a/docs/conf.py b/docs/conf.py index 8296ba53..0c13ee09 100644 --- a/docs/conf.py +++ b/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/google/cloud/language/__init__.py b/google/cloud/language/__init__.py index 07624150..60d1431a 100644 --- a/google/cloud/language/__init__.py +++ b/google/cloud/language/__init__.py @@ -14,40 +14,37 @@ # limitations under the License. # -from google.cloud.language_v1.services.language_service.client import ( - LanguageServiceClient, -) from google.cloud.language_v1.services.language_service.async_client import ( LanguageServiceAsyncClient, ) - -from google.cloud.language_v1.types.language_service import AnalyzeEntitiesRequest -from google.cloud.language_v1.types.language_service import AnalyzeEntitiesResponse -from google.cloud.language_v1.types.language_service import ( - AnalyzeEntitySentimentRequest, +from google.cloud.language_v1.services.language_service.client import ( + LanguageServiceClient, ) from google.cloud.language_v1.types.language_service import ( + AnalyzeEntitiesRequest, + AnalyzeEntitiesResponse, + AnalyzeEntitySentimentRequest, AnalyzeEntitySentimentResponse, + AnalyzeSentimentRequest, + AnalyzeSentimentResponse, + AnalyzeSyntaxRequest, + AnalyzeSyntaxResponse, + AnnotateTextRequest, + AnnotateTextResponse, + ClassificationCategory, + ClassifyTextRequest, + ClassifyTextResponse, + DependencyEdge, + Document, + EncodingType, + Entity, + EntityMention, + PartOfSpeech, + Sentence, + Sentiment, + TextSpan, + Token, ) -from google.cloud.language_v1.types.language_service import AnalyzeSentimentRequest -from google.cloud.language_v1.types.language_service import AnalyzeSentimentResponse -from google.cloud.language_v1.types.language_service import AnalyzeSyntaxRequest -from google.cloud.language_v1.types.language_service import AnalyzeSyntaxResponse -from google.cloud.language_v1.types.language_service import AnnotateTextRequest -from google.cloud.language_v1.types.language_service import AnnotateTextResponse -from google.cloud.language_v1.types.language_service import ClassificationCategory -from google.cloud.language_v1.types.language_service import ClassifyTextRequest -from google.cloud.language_v1.types.language_service import ClassifyTextResponse -from google.cloud.language_v1.types.language_service import DependencyEdge -from google.cloud.language_v1.types.language_service import Document -from google.cloud.language_v1.types.language_service import Entity -from google.cloud.language_v1.types.language_service import EntityMention -from google.cloud.language_v1.types.language_service import PartOfSpeech -from google.cloud.language_v1.types.language_service import Sentence -from google.cloud.language_v1.types.language_service import Sentiment -from google.cloud.language_v1.types.language_service import TextSpan -from google.cloud.language_v1.types.language_service import Token -from google.cloud.language_v1.types.language_service import EncodingType __all__ = ( "LanguageServiceClient", diff --git a/google/cloud/language_v1/__init__.py b/google/cloud/language_v1/__init__.py index bcca7fb4..9e99392d 100644 --- a/google/cloud/language_v1/__init__.py +++ b/google/cloud/language_v1/__init__.py @@ -14,32 +14,32 @@ # limitations under the License. # -from .services.language_service import LanguageServiceClient -from .services.language_service import LanguageServiceAsyncClient - -from .types.language_service import AnalyzeEntitiesRequest -from .types.language_service import AnalyzeEntitiesResponse -from .types.language_service import AnalyzeEntitySentimentRequest -from .types.language_service import AnalyzeEntitySentimentResponse -from .types.language_service import AnalyzeSentimentRequest -from .types.language_service import AnalyzeSentimentResponse -from .types.language_service import AnalyzeSyntaxRequest -from .types.language_service import AnalyzeSyntaxResponse -from .types.language_service import AnnotateTextRequest -from .types.language_service import AnnotateTextResponse -from .types.language_service import ClassificationCategory -from .types.language_service import ClassifyTextRequest -from .types.language_service import ClassifyTextResponse -from .types.language_service import DependencyEdge -from .types.language_service import Document -from .types.language_service import Entity -from .types.language_service import EntityMention -from .types.language_service import PartOfSpeech -from .types.language_service import Sentence -from .types.language_service import Sentiment -from .types.language_service import TextSpan -from .types.language_service import Token -from .types.language_service import EncodingType +from .services.language_service import LanguageServiceAsyncClient, LanguageServiceClient +from .types.language_service import ( + AnalyzeEntitiesRequest, + AnalyzeEntitiesResponse, + AnalyzeEntitySentimentRequest, + AnalyzeEntitySentimentResponse, + AnalyzeSentimentRequest, + AnalyzeSentimentResponse, + AnalyzeSyntaxRequest, + AnalyzeSyntaxResponse, + AnnotateTextRequest, + AnnotateTextResponse, + ClassificationCategory, + ClassifyTextRequest, + ClassifyTextResponse, + DependencyEdge, + Document, + EncodingType, + Entity, + EntityMention, + PartOfSpeech, + Sentence, + Sentiment, + TextSpan, + Token, +) __all__ = ( "LanguageServiceAsyncClient", diff --git a/google/cloud/language_v1/services/language_service/__init__.py b/google/cloud/language_v1/services/language_service/__init__.py index d12b0495..6a15301c 100644 --- a/google/cloud/language_v1/services/language_service/__init__.py +++ b/google/cloud/language_v1/services/language_service/__init__.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .client import LanguageServiceClient from .async_client import LanguageServiceAsyncClient +from .client import LanguageServiceClient __all__ = ( "LanguageServiceClient", diff --git a/google/cloud/language_v1/services/language_service/async_client.py b/google/cloud/language_v1/services/language_service/async_client.py index 96784158..cf38f87c 100644 --- a/google/cloud/language_v1/services/language_service/async_client.py +++ b/google/cloud/language_v1/services/language_service/async_client.py @@ -17,14 +17,14 @@ import functools import re from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources -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] @@ -32,9 +32,10 @@ OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.language_v1.types import language_service -from .transports.base import LanguageServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport + from .client import LanguageServiceClient +from .transports.base import DEFAULT_CLIENT_INFO, LanguageServiceTransport +from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport class LanguageServiceAsyncClient: diff --git a/google/cloud/language_v1/services/language_service/client.py b/google/cloud/language_v1/services/language_service/client.py index a5173c34..3ac67a03 100644 --- a/google/cloud/language_v1/services/language_service/client.py +++ b/google/cloud/language_v1/services/language_service/client.py @@ -17,17 +17,17 @@ import os import re from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources 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] @@ -35,7 +35,8 @@ OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.language_v1.types import language_service -from .transports.base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .transports.base import DEFAULT_CLIENT_INFO, LanguageServiceTransport from .transports.grpc import LanguageServiceGrpcTransport from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport diff --git a/google/cloud/language_v1/services/language_service/transports/__init__.py b/google/cloud/language_v1/services/language_service/transports/__init__.py index 2cb702a6..5ec2196c 100644 --- a/google/cloud/language_v1/services/language_service/transports/__init__.py +++ b/google/cloud/language_v1/services/language_service/transports/__init__.py @@ -20,7 +20,6 @@ from .grpc import LanguageServiceGrpcTransport from .grpc_asyncio import LanguageServiceGrpcAsyncIOTransport - # Compile a registry of transports. _transport_registry = OrderedDict() # type: Dict[str, Type[LanguageServiceTransport]] _transport_registry["grpc"] = LanguageServiceGrpcTransport diff --git a/google/cloud/language_v1/services/language_service/transports/base.py b/google/cloud/language_v1/services/language_service/transports/base.py index 65c3cae2..770b217e 100644 --- a/google/cloud/language_v1/services/language_service/transports/base.py +++ b/google/cloud/language_v1/services/language_service/transports/base.py @@ -15,15 +15,15 @@ # 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 +import pkg_resources from google.cloud.language_v1.types import language_service diff --git a/google/cloud/language_v1/services/language_service/transports/grpc.py b/google/cloud/language_v1/services/language_service/transports/grpc.py index b7b421af..5bf182e1 100644 --- a/google/cloud/language_v1/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1/services/language_service/transports/grpc.py @@ -13,19 +13,18 @@ # 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 - import grpc # type: ignore from google.cloud.language_v1.types import language_service -from .base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, LanguageServiceTransport class LanguageServiceGrpcTransport(LanguageServiceTransport): diff --git a/google/cloud/language_v1/services/language_service/transports/grpc_asyncio.py b/google/cloud/language_v1/services/language_service/transports/grpc_asyncio.py index 4b10a361..06ea0290 100644 --- a/google/cloud/language_v1/services/language_service/transports/grpc_asyncio.py +++ b/google/cloud/language_v1/services/language_service/transports/grpc_asyncio.py @@ -13,19 +13,18 @@ # 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 - import grpc # type: ignore from grpc.experimental import aio # type: ignore from google.cloud.language_v1.types import language_service -from .base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, LanguageServiceTransport from .grpc import LanguageServiceGrpcTransport diff --git a/google/cloud/language_v1/types/__init__.py b/google/cloud/language_v1/types/__init__.py index 6a80ff72..0f35f2e3 100644 --- a/google/cloud/language_v1/types/__init__.py +++ b/google/cloud/language_v1/types/__init__.py @@ -29,6 +29,7 @@ ClassifyTextResponse, DependencyEdge, Document, + EncodingType, Entity, EntityMention, PartOfSpeech, @@ -36,7 +37,6 @@ Sentiment, TextSpan, Token, - EncodingType, ) __all__ = ( diff --git a/google/cloud/language_v1/types/language_service.py b/google/cloud/language_v1/types/language_service.py index eed340e3..2cd79d57 100644 --- a/google/cloud/language_v1/types/language_service.py +++ b/google/cloud/language_v1/types/language_service.py @@ -15,7 +15,6 @@ # import proto # type: ignore - __protobuf__ = proto.module( package="google.cloud.language.v1", manifest={ diff --git a/google/cloud/language_v1beta2/__init__.py b/google/cloud/language_v1beta2/__init__.py index bcca7fb4..9e99392d 100644 --- a/google/cloud/language_v1beta2/__init__.py +++ b/google/cloud/language_v1beta2/__init__.py @@ -14,32 +14,32 @@ # limitations under the License. # -from .services.language_service import LanguageServiceClient -from .services.language_service import LanguageServiceAsyncClient - -from .types.language_service import AnalyzeEntitiesRequest -from .types.language_service import AnalyzeEntitiesResponse -from .types.language_service import AnalyzeEntitySentimentRequest -from .types.language_service import AnalyzeEntitySentimentResponse -from .types.language_service import AnalyzeSentimentRequest -from .types.language_service import AnalyzeSentimentResponse -from .types.language_service import AnalyzeSyntaxRequest -from .types.language_service import AnalyzeSyntaxResponse -from .types.language_service import AnnotateTextRequest -from .types.language_service import AnnotateTextResponse -from .types.language_service import ClassificationCategory -from .types.language_service import ClassifyTextRequest -from .types.language_service import ClassifyTextResponse -from .types.language_service import DependencyEdge -from .types.language_service import Document -from .types.language_service import Entity -from .types.language_service import EntityMention -from .types.language_service import PartOfSpeech -from .types.language_service import Sentence -from .types.language_service import Sentiment -from .types.language_service import TextSpan -from .types.language_service import Token -from .types.language_service import EncodingType +from .services.language_service import LanguageServiceAsyncClient, LanguageServiceClient +from .types.language_service import ( + AnalyzeEntitiesRequest, + AnalyzeEntitiesResponse, + AnalyzeEntitySentimentRequest, + AnalyzeEntitySentimentResponse, + AnalyzeSentimentRequest, + AnalyzeSentimentResponse, + AnalyzeSyntaxRequest, + AnalyzeSyntaxResponse, + AnnotateTextRequest, + AnnotateTextResponse, + ClassificationCategory, + ClassifyTextRequest, + ClassifyTextResponse, + DependencyEdge, + Document, + EncodingType, + Entity, + EntityMention, + PartOfSpeech, + Sentence, + Sentiment, + TextSpan, + Token, +) __all__ = ( "LanguageServiceAsyncClient", diff --git a/google/cloud/language_v1beta2/services/language_service/__init__.py b/google/cloud/language_v1beta2/services/language_service/__init__.py index d12b0495..6a15301c 100644 --- a/google/cloud/language_v1beta2/services/language_service/__init__.py +++ b/google/cloud/language_v1beta2/services/language_service/__init__.py @@ -13,8 +13,8 @@ # See the License for the specific language governing permissions and # limitations under the License. # -from .client import LanguageServiceClient from .async_client import LanguageServiceAsyncClient +from .client import LanguageServiceClient __all__ = ( "LanguageServiceClient", diff --git a/google/cloud/language_v1beta2/services/language_service/async_client.py b/google/cloud/language_v1beta2/services/language_service/async_client.py index f20561ed..abeaf9e3 100644 --- a/google/cloud/language_v1beta2/services/language_service/async_client.py +++ b/google/cloud/language_v1beta2/services/language_service/async_client.py @@ -17,14 +17,14 @@ import functools import re from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources -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] @@ -32,9 +32,10 @@ OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.language_v1beta2.types import language_service -from .transports.base import LanguageServiceTransport, DEFAULT_CLIENT_INFO -from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport + from .client import LanguageServiceClient +from .transports.base import DEFAULT_CLIENT_INFO, LanguageServiceTransport +from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport class LanguageServiceAsyncClient: diff --git a/google/cloud/language_v1beta2/services/language_service/client.py b/google/cloud/language_v1beta2/services/language_service/client.py index ac1049b9..936f1151 100644 --- a/google/cloud/language_v1beta2/services/language_service/client.py +++ b/google/cloud/language_v1beta2/services/language_service/client.py @@ -17,17 +17,17 @@ import os import re from typing import Dict, Mapping, Optional, Sequence, Tuple, Type, Union -import pkg_resources 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] @@ -35,7 +35,8 @@ OptionalRetry = Union[retries.Retry, object] # type: ignore from google.cloud.language_v1beta2.types import language_service -from .transports.base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .transports.base import DEFAULT_CLIENT_INFO, LanguageServiceTransport from .transports.grpc import LanguageServiceGrpcTransport from .transports.grpc_asyncio import LanguageServiceGrpcAsyncIOTransport diff --git a/google/cloud/language_v1beta2/services/language_service/transports/__init__.py b/google/cloud/language_v1beta2/services/language_service/transports/__init__.py index 2cb702a6..5ec2196c 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/__init__.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/__init__.py @@ -20,7 +20,6 @@ from .grpc import LanguageServiceGrpcTransport from .grpc_asyncio import LanguageServiceGrpcAsyncIOTransport - # Compile a registry of transports. _transport_registry = OrderedDict() # type: Dict[str, Type[LanguageServiceTransport]] _transport_registry["grpc"] = LanguageServiceGrpcTransport diff --git a/google/cloud/language_v1beta2/services/language_service/transports/base.py b/google/cloud/language_v1beta2/services/language_service/transports/base.py index dd29d40a..358e3dce 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/base.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/base.py @@ -15,15 +15,15 @@ # 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 +import pkg_resources from google.cloud.language_v1beta2.types import language_service diff --git a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py index c6b1b540..b584552e 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/grpc.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/grpc.py @@ -13,19 +13,18 @@ # 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 - import grpc # type: ignore from google.cloud.language_v1beta2.types import language_service -from .base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, LanguageServiceTransport class LanguageServiceGrpcTransport(LanguageServiceTransport): diff --git a/google/cloud/language_v1beta2/services/language_service/transports/grpc_asyncio.py b/google/cloud/language_v1beta2/services/language_service/transports/grpc_asyncio.py index 4cb0142e..f4f8e4d3 100644 --- a/google/cloud/language_v1beta2/services/language_service/transports/grpc_asyncio.py +++ b/google/cloud/language_v1beta2/services/language_service/transports/grpc_asyncio.py @@ -13,19 +13,18 @@ # 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 - import grpc # type: ignore from grpc.experimental import aio # type: ignore from google.cloud.language_v1beta2.types import language_service -from .base import LanguageServiceTransport, DEFAULT_CLIENT_INFO + +from .base import DEFAULT_CLIENT_INFO, LanguageServiceTransport from .grpc import LanguageServiceGrpcTransport diff --git a/google/cloud/language_v1beta2/types/__init__.py b/google/cloud/language_v1beta2/types/__init__.py index 6a80ff72..0f35f2e3 100644 --- a/google/cloud/language_v1beta2/types/__init__.py +++ b/google/cloud/language_v1beta2/types/__init__.py @@ -29,6 +29,7 @@ ClassifyTextResponse, DependencyEdge, Document, + EncodingType, Entity, EntityMention, PartOfSpeech, @@ -36,7 +37,6 @@ Sentiment, TextSpan, Token, - EncodingType, ) __all__ = ( diff --git a/google/cloud/language_v1beta2/types/language_service.py b/google/cloud/language_v1beta2/types/language_service.py index 194002bc..b43b62ed 100644 --- a/google/cloud/language_v1beta2/types/language_service.py +++ b/google/cloud/language_v1beta2/types/language_service.py @@ -15,7 +15,6 @@ # import proto # type: ignore - __protobuf__ = proto.module( package="google.cloud.language.v1beta2", manifest={ diff --git a/noxfile.py b/noxfile.py index 6ee5e8ab..7c1742d2 100644 --- a/noxfile.py +++ b/noxfile.py @@ -17,6 +17,7 @@ # Generated by synthtool. DO NOT EDIT! from __future__ import absolute_import + import os import pathlib import shutil @@ -25,7 +26,8 @@ import nox BLACK_VERSION = "black==22.3.0" -BLACK_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] +ISORT_VERSION = "isort==5.10.1" +LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"] DEFAULT_PYTHON_VERSION = "3.8" @@ -83,7 +85,7 @@ def lint(session): session.run( "black", "--check", - *BLACK_PATHS, + *LINT_PATHS, ) session.run("flake8", "google", "tests") @@ -94,7 +96,27 @@ def blacken(session): session.install(BLACK_VERSION) session.run( "black", - *BLACK_PATHS, + *LINT_PATHS, + ) + + +@nox.session(python=DEFAULT_PYTHON_VERSION) +def format(session): + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run( + "isort", + "--fss", + *LINT_PATHS, + ) + session.run( + "black", + *LINT_PATHS, ) diff --git a/samples/snippets/api/noxfile.py b/samples/snippets/api/noxfile.py index 25f87a21..3b3ffa5d 100644 --- a/samples/snippets/api/noxfile.py +++ b/samples/snippets/api/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -30,6 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +168,33 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/samples/snippets/classify_text/classify_text_tutorial_test.py b/samples/snippets/classify_text/classify_text_tutorial_test.py index 5e821129..5859a771 100644 --- a/samples/snippets/classify_text/classify_text_tutorial_test.py +++ b/samples/snippets/classify_text/classify_text_tutorial_test.py @@ -17,7 +17,6 @@ import classify_text_tutorial - OUTPUT = "index.json" RESOURCES = os.path.join(os.path.dirname(__file__), "resources") QUERY_TEXT = """Google Home enables users to speak voice commands to interact diff --git a/samples/snippets/classify_text/noxfile.py b/samples/snippets/classify_text/noxfile.py index 25f87a21..3b3ffa5d 100644 --- a/samples/snippets/classify_text/noxfile.py +++ b/samples/snippets/classify_text/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -30,6 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +168,33 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/samples/snippets/cloud-client/v1/noxfile.py b/samples/snippets/cloud-client/v1/noxfile.py index 25f87a21..3b3ffa5d 100644 --- a/samples/snippets/cloud-client/v1/noxfile.py +++ b/samples/snippets/cloud-client/v1/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -30,6 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +168,33 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/samples/snippets/cloud-client/v1/quickstart.py b/samples/snippets/cloud-client/v1/quickstart.py index 59c1cd43..bbc914d1 100644 --- a/samples/snippets/cloud-client/v1/quickstart.py +++ b/samples/snippets/cloud-client/v1/quickstart.py @@ -22,7 +22,6 @@ def run_quickstart(): from google.cloud import language_v1 # [END language_python_migration_imports] - # Instantiates a client # [START language_python_migration_client] client = language_v1.LanguageServiceClient() diff --git a/samples/snippets/generated-samples/v1/language_sentiment_text.py b/samples/snippets/generated-samples/v1/language_sentiment_text.py index 4170ddbc..13447d17 100644 --- a/samples/snippets/generated-samples/v1/language_sentiment_text.py +++ b/samples/snippets/generated-samples/v1/language_sentiment_text.py @@ -21,6 +21,7 @@ import sys +# isort: split # [START language_sentiment_text] from google.cloud import language_v1 diff --git a/samples/snippets/generated-samples/v1/noxfile.py b/samples/snippets/generated-samples/v1/noxfile.py index 25f87a21..3b3ffa5d 100644 --- a/samples/snippets/generated-samples/v1/noxfile.py +++ b/samples/snippets/generated-samples/v1/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -30,6 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +168,33 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/samples/snippets/sentiment/noxfile.py b/samples/snippets/sentiment/noxfile.py index 25f87a21..3b3ffa5d 100644 --- a/samples/snippets/sentiment/noxfile.py +++ b/samples/snippets/sentiment/noxfile.py @@ -22,7 +22,6 @@ import nox - # WARNING - WARNING - WARNING - WARNING - WARNING # WARNING - WARNING - WARNING - WARNING - WARNING # DO NOT EDIT THIS FILE EVER! @@ -30,6 +29,7 @@ # WARNING - WARNING - WARNING - WARNING - WARNING BLACK_VERSION = "black==22.3.0" +ISORT_VERSION = "isort==5.10.1" # Copy `noxfile_config.py` to your directory and modify it instead. @@ -168,12 +168,33 @@ def lint(session: nox.sessions.Session) -> None: @nox.session def blacken(session: nox.sessions.Session) -> None: + """Run black. Format code to uniform standard.""" session.install(BLACK_VERSION) python_files = [path for path in os.listdir(".") if path.endswith(".py")] session.run("black", *python_files) +# +# format = isort + black +# + + +@nox.session +def format(session: nox.sessions.Session) -> None: + """ + Run isort to sort imports. Then run black + to format code to uniform standard. + """ + session.install(BLACK_VERSION, ISORT_VERSION) + python_files = [path for path in os.listdir(".") if path.endswith(".py")] + + # Use the --fss option to sort imports using strict alphabetical order. + # See https://pycqa.github.io/isort/docs/configuration/options.html#force-sort-within-sections + session.run("isort", "--fss", *python_files) + session.run("black", *python_files) + + # # Sample Tests # diff --git a/setup.py b/setup.py index 7547eb60..8c8c73b6 100644 --- a/setup.py +++ b/setup.py @@ -17,7 +17,6 @@ import setuptools - # Package metadata. name = "google-cloud-language" diff --git a/tests/unit/gapic/language_v1/test_language_service.py b/tests/unit/gapic/language_v1/test_language_service.py index 08447420..a3baefe2 100644 --- a/tests/unit/gapic/language_v1/test_language_service.py +++ b/tests/unit/gapic/language_v1/test_language_service.py @@ -13,32 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import os -import mock - -import grpc -from grpc.experimental import aio import math -import pytest -from proto.marshal.rules.dates import DurationRule, TimestampRule - +import os +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.oauth2 import service_account +import grpc +from grpc.experimental import aio +import mock +from proto.marshal.rules.dates import DurationRule, TimestampRule +import pytest + from google.cloud.language_v1.services.language_service import ( LanguageServiceAsyncClient, + LanguageServiceClient, + transports, ) -from google.cloud.language_v1.services.language_service import LanguageServiceClient -from google.cloud.language_v1.services.language_service import transports from google.cloud.language_v1.types import language_service -from google.oauth2 import service_account -import google.auth def client_cert_source_callback(): diff --git a/tests/unit/gapic/language_v1beta2/test_language_service.py b/tests/unit/gapic/language_v1beta2/test_language_service.py index 6603d4a3..ff0e85f6 100644 --- a/tests/unit/gapic/language_v1beta2/test_language_service.py +++ b/tests/unit/gapic/language_v1beta2/test_language_service.py @@ -13,34 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. # -import os -import mock - -import grpc -from grpc.experimental import aio import math -import pytest -from proto.marshal.rules.dates import DurationRule, TimestampRule - +import os +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.oauth2 import service_account +import grpc +from grpc.experimental import aio +import mock +from proto.marshal.rules.dates import DurationRule, TimestampRule +import pytest + from google.cloud.language_v1beta2.services.language_service import ( LanguageServiceAsyncClient, -) -from google.cloud.language_v1beta2.services.language_service import ( LanguageServiceClient, + transports, ) -from google.cloud.language_v1beta2.services.language_service import transports from google.cloud.language_v1beta2.types import language_service -from google.oauth2 import service_account -import google.auth def client_cert_source_callback(): From a8801b29c63d5b78454fe18ff4d9922ec8909098 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 21 Apr 2022 16:12:34 +0000 Subject: [PATCH 20/29] chore(python): use ubuntu 22.04 in docs image (#307) Source-Link: https://github.com/googleapis/synthtool/commit/f15cc72fb401b4861cedebb10af74afe428fb1f8 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:bc5eed3804aec2f05fad42aacf973821d9500c174015341f721a984a0825b6fd --- .github/.OwlBot.lock.yaml | 4 ++-- .kokoro/docker/docs/Dockerfile | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 7c454abf..64f82d6b 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:00c9d764fd1cd56265f12a5ef4b99a0c9e87cf261018099141e2ca5158890416 -# created: 2022-04-20T23:42:53.970438194Z + digest: sha256:bc5eed3804aec2f05fad42aacf973821d9500c174015341f721a984a0825b6fd +# created: 2022-04-21T15:43:16.246106921Z diff --git a/.kokoro/docker/docs/Dockerfile b/.kokoro/docker/docs/Dockerfile index 4e1b1fb8..238b87b9 100644 --- a/.kokoro/docker/docs/Dockerfile +++ b/.kokoro/docker/docs/Dockerfile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from ubuntu:20.04 +from ubuntu:22.04 ENV DEBIAN_FRONTEND noninteractive @@ -60,8 +60,24 @@ RUN apt-get update \ && rm -rf /var/lib/apt/lists/* \ && rm -f /var/cache/apt/archives/*.deb +###################### Install python 3.8.11 + +# Download python 3.8.11 +RUN wget https://www.python.org/ftp/python/3.8.11/Python-3.8.11.tgz + +# Extract files +RUN tar -xvf Python-3.8.11.tgz + +# Install python 3.8.11 +RUN ./Python-3.8.11/configure --enable-optimizations +RUN make altinstall + +###################### Install pip RUN wget -O /tmp/get-pip.py 'https://bootstrap.pypa.io/get-pip.py' \ - && python3.8 /tmp/get-pip.py \ + && python3 /tmp/get-pip.py \ && rm /tmp/get-pip.py +# Test pip +RUN python3 -m pip + CMD ["python3.8"] From 5a66193d7e9f084f6cdd2148cf70c6976f545a0f Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Fri, 22 Apr 2022 10:27:20 +0200 Subject: [PATCH 21/29] chore(deps): update dependency google-auth to v2.6.6 (#308) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 665a8c67..ceb309e4 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ google-api-python-client==2.45.0 -google-auth==2.6.5 +google-auth==2.6.6 google-auth-httplib2==0.1.0 From 0f2de97e58fa6f58b743c3f85b05d5b82a46b258 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Mon, 25 Apr 2022 17:08:42 +0200 Subject: [PATCH 22/29] chore(deps): update dependency pytest to v7.1.2 (#310) --- samples/snippets/api/requirements-test.txt | 2 +- samples/snippets/classify_text/requirements-test.txt | 2 +- samples/snippets/cloud-client/v1/requirements-test.txt | 2 +- samples/snippets/generated-samples/v1/requirements-test.txt | 2 +- samples/snippets/sentiment/requirements-test.txt | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/samples/snippets/api/requirements-test.txt b/samples/snippets/api/requirements-test.txt index 4f6bf643..d00689e0 100644 --- a/samples/snippets/api/requirements-test.txt +++ b/samples/snippets/api/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 diff --git a/samples/snippets/classify_text/requirements-test.txt b/samples/snippets/classify_text/requirements-test.txt index 4f6bf643..d00689e0 100644 --- a/samples/snippets/classify_text/requirements-test.txt +++ b/samples/snippets/classify_text/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 diff --git a/samples/snippets/cloud-client/v1/requirements-test.txt b/samples/snippets/cloud-client/v1/requirements-test.txt index 4f6bf643..d00689e0 100644 --- a/samples/snippets/cloud-client/v1/requirements-test.txt +++ b/samples/snippets/cloud-client/v1/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 diff --git a/samples/snippets/generated-samples/v1/requirements-test.txt b/samples/snippets/generated-samples/v1/requirements-test.txt index 4f6bf643..d00689e0 100644 --- a/samples/snippets/generated-samples/v1/requirements-test.txt +++ b/samples/snippets/generated-samples/v1/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 diff --git a/samples/snippets/sentiment/requirements-test.txt b/samples/snippets/sentiment/requirements-test.txt index 4f6bf643..d00689e0 100644 --- a/samples/snippets/sentiment/requirements-test.txt +++ b/samples/snippets/sentiment/requirements-test.txt @@ -1 +1 @@ -pytest==7.1.1 +pytest==7.1.2 From 717faff52de5350d2428f1daae4c07d9c4487297 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 26 Apr 2022 20:03:33 +0200 Subject: [PATCH 23/29] chore(deps): update dependency google-api-python-client to v2.46.0 (#311) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index ceb309e4..658c99bf 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.45.0 +google-api-python-client==2.46.0 google-auth==2.6.6 google-auth-httplib2==0.1.0 From d202165a7493338d3887d30dbff39b6b9be97541 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 28 Apr 2022 08:05:13 -0400 Subject: [PATCH 24/29] chore: use gapic-generator-python 0.65.2 (#312) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: use gapic-generator-python 0.65.2 PiperOrigin-RevId: 444333013 Source-Link: https://github.com/googleapis/googleapis/commit/f91b6cf82e929280f6562f6110957c654bd9e2e6 Source-Link: https://github.com/googleapis/googleapis-gen/commit/16eb36095c294e712c74a1bf23550817b42174e5 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiMTZlYjM2MDk1YzI5NGU3MTJjNzRhMWJmMjM1NTA4MTdiNDIxNzRlNSJ9 * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../services/language_service/async_client.py | 36 +++++++++---------- .../services/language_service/async_client.py | 36 +++++++++---------- language-v1beta2-py.tar.gz | 0 3 files changed, 36 insertions(+), 36 deletions(-) create mode 100644 language-v1beta2-py.tar.gz diff --git a/google/cloud/language_v1/services/language_service/async_client.py b/google/cloud/language_v1/services/language_service/async_client.py index cf38f87c..3c778545 100644 --- a/google/cloud/language_v1/services/language_service/async_client.py +++ b/google/cloud/language_v1/services/language_service/async_client.py @@ -218,9 +218,9 @@ async def analyze_sentiment( from google.cloud import language_v1 - def sample_analyze_sentiment(): + async def sample_analyze_sentiment(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -231,7 +231,7 @@ def sample_analyze_sentiment(): ) # Make the request - response = client.analyze_sentiment(request=request) + response = await client.analyze_sentiment(request=request) # Handle the response print(response) @@ -331,9 +331,9 @@ async def analyze_entities( from google.cloud import language_v1 - def sample_analyze_entities(): + async def sample_analyze_entities(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -344,7 +344,7 @@ def sample_analyze_entities(): ) # Make the request - response = client.analyze_entities(request=request) + response = await client.analyze_entities(request=request) # Handle the response print(response) @@ -441,9 +441,9 @@ async def analyze_entity_sentiment( from google.cloud import language_v1 - def sample_analyze_entity_sentiment(): + async def sample_analyze_entity_sentiment(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -454,7 +454,7 @@ def sample_analyze_entity_sentiment(): ) # Make the request - response = client.analyze_entity_sentiment(request=request) + response = await client.analyze_entity_sentiment(request=request) # Handle the response print(response) @@ -553,9 +553,9 @@ async def analyze_syntax( from google.cloud import language_v1 - def sample_analyze_syntax(): + async def sample_analyze_syntax(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -566,7 +566,7 @@ def sample_analyze_syntax(): ) # Make the request - response = client.analyze_syntax(request=request) + response = await client.analyze_syntax(request=request) # Handle the response print(response) @@ -659,9 +659,9 @@ async def classify_text( from google.cloud import language_v1 - def sample_classify_text(): + async def sample_classify_text(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -672,7 +672,7 @@ def sample_classify_text(): ) # Make the request - response = client.classify_text(request=request) + response = await client.classify_text(request=request) # Handle the response print(response) @@ -763,9 +763,9 @@ async def annotate_text( from google.cloud import language_v1 - def sample_annotate_text(): + async def sample_annotate_text(): # Create a client - client = language_v1.LanguageServiceClient() + client = language_v1.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1.Document() @@ -776,7 +776,7 @@ def sample_annotate_text(): ) # Make the request - response = client.annotate_text(request=request) + response = await client.annotate_text(request=request) # Handle the response print(response) diff --git a/google/cloud/language_v1beta2/services/language_service/async_client.py b/google/cloud/language_v1beta2/services/language_service/async_client.py index abeaf9e3..52542d57 100644 --- a/google/cloud/language_v1beta2/services/language_service/async_client.py +++ b/google/cloud/language_v1beta2/services/language_service/async_client.py @@ -218,9 +218,9 @@ async def analyze_sentiment( from google.cloud import language_v1beta2 - def sample_analyze_sentiment(): + async def sample_analyze_sentiment(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -231,7 +231,7 @@ def sample_analyze_sentiment(): ) # Make the request - response = client.analyze_sentiment(request=request) + response = await client.analyze_sentiment(request=request) # Handle the response print(response) @@ -332,9 +332,9 @@ async def analyze_entities( from google.cloud import language_v1beta2 - def sample_analyze_entities(): + async def sample_analyze_entities(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -345,7 +345,7 @@ def sample_analyze_entities(): ) # Make the request - response = client.analyze_entities(request=request) + response = await client.analyze_entities(request=request) # Handle the response print(response) @@ -442,9 +442,9 @@ async def analyze_entity_sentiment( from google.cloud import language_v1beta2 - def sample_analyze_entity_sentiment(): + async def sample_analyze_entity_sentiment(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -455,7 +455,7 @@ def sample_analyze_entity_sentiment(): ) # Make the request - response = client.analyze_entity_sentiment(request=request) + response = await client.analyze_entity_sentiment(request=request) # Handle the response print(response) @@ -554,9 +554,9 @@ async def analyze_syntax( from google.cloud import language_v1beta2 - def sample_analyze_syntax(): + async def sample_analyze_syntax(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -567,7 +567,7 @@ def sample_analyze_syntax(): ) # Make the request - response = client.analyze_syntax(request=request) + response = await client.analyze_syntax(request=request) # Handle the response print(response) @@ -660,9 +660,9 @@ async def classify_text( from google.cloud import language_v1beta2 - def sample_classify_text(): + async def sample_classify_text(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -673,7 +673,7 @@ def sample_classify_text(): ) # Make the request - response = client.classify_text(request=request) + response = await client.classify_text(request=request) # Handle the response print(response) @@ -764,9 +764,9 @@ async def annotate_text( from google.cloud import language_v1beta2 - def sample_annotate_text(): + async def sample_annotate_text(): # Create a client - client = language_v1beta2.LanguageServiceClient() + client = language_v1beta2.LanguageServiceAsyncClient() # Initialize request argument(s) document = language_v1beta2.Document() @@ -777,7 +777,7 @@ def sample_annotate_text(): ) # Make the request - response = client.annotate_text(request=request) + response = await client.annotate_text(request=request) # Handle the response print(response) diff --git a/language-v1beta2-py.tar.gz b/language-v1beta2-py.tar.gz new file mode 100644 index 00000000..e69de29b From 29f76f4adaf9b25ad1148c85384429e418ca4a26 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 3 May 2022 20:20:30 +0200 Subject: [PATCH 25/29] chore(deps): update dependency google-api-python-client to v2.47.0 (#313) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 658c99bf..654cf0f4 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.46.0 +google-api-python-client==2.47.0 google-auth==2.6.6 google-auth-httplib2==0.1.0 From 9eba3cdc115f84d239a788f5089b1190fb15d598 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 5 May 2022 12:12:25 -0400 Subject: [PATCH 26/29] chore: [autoapprove] update readme_gen.py to include autoescape True (#314) Source-Link: https://github.com/googleapis/synthtool/commit/6b4d5a6407d740beb4158b302194a62a4108a8a6 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:f792ee1320e03eda2d13a5281a2989f7ed8a9e50b73ef6da97fac7e1e850b149 Co-authored-by: Owl Bot --- .github/.OwlBot.lock.yaml | 4 ++-- scripts/readme-gen/readme_gen.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index 64f82d6b..b631901e 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:bc5eed3804aec2f05fad42aacf973821d9500c174015341f721a984a0825b6fd -# created: 2022-04-21T15:43:16.246106921Z + digest: sha256:f792ee1320e03eda2d13a5281a2989f7ed8a9e50b73ef6da97fac7e1e850b149 +# created: 2022-05-05T15:17:27.599381182Z diff --git a/scripts/readme-gen/readme_gen.py b/scripts/readme-gen/readme_gen.py index d309d6e9..91b59676 100644 --- a/scripts/readme-gen/readme_gen.py +++ b/scripts/readme-gen/readme_gen.py @@ -28,7 +28,10 @@ jinja_env = jinja2.Environment( trim_blocks=True, loader=jinja2.FileSystemLoader( - os.path.abspath(os.path.join(os.path.dirname(__file__), 'templates')))) + os.path.abspath(os.path.join(os.path.dirname(__file__), "templates")) + ), + autoescape=True, +) README_TMPL = jinja_env.get_template('README.tmpl.rst') From 2179f33e37a06fb593cc6947a25c06b67f75b613 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Thu, 5 May 2022 23:06:27 +0000 Subject: [PATCH 27/29] chore(python): auto approve template changes (#316) Source-Link: https://github.com/googleapis/synthtool/commit/453a5d9c9a55d1969240a37d36cec626d20a9024 Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:81ed5ecdfc7cac5b699ba4537376f3563f6f04122c4ec9e735d3b3dc1d43dd32 --- .github/.OwlBot.lock.yaml | 4 ++-- .github/auto-approve.yml | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 .github/auto-approve.yml diff --git a/.github/.OwlBot.lock.yaml b/.github/.OwlBot.lock.yaml index b631901e..757c9dca 100644 --- a/.github/.OwlBot.lock.yaml +++ b/.github/.OwlBot.lock.yaml @@ -13,5 +13,5 @@ # limitations under the License. docker: image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest - digest: sha256:f792ee1320e03eda2d13a5281a2989f7ed8a9e50b73ef6da97fac7e1e850b149 -# created: 2022-05-05T15:17:27.599381182Z + digest: sha256:81ed5ecdfc7cac5b699ba4537376f3563f6f04122c4ec9e735d3b3dc1d43dd32 +# created: 2022-05-05T22:08:23.383410683Z diff --git a/.github/auto-approve.yml b/.github/auto-approve.yml new file mode 100644 index 00000000..311ebbb8 --- /dev/null +++ b/.github/auto-approve.yml @@ -0,0 +1,3 @@ +# https://github.com/googleapis/repo-automation-bots/tree/main/packages/auto-approve +processes: + - "OwlBotTemplateChanges" From ca849da05f05e996ae7855e8ea5ac2858db260d2 Mon Sep 17 00:00:00 2001 From: WhiteSource Renovate Date: Tue, 17 May 2022 20:49:23 +0200 Subject: [PATCH 28/29] chore(deps): update dependency google-api-python-client to v2.48.0 (#318) --- samples/snippets/api/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/snippets/api/requirements.txt b/samples/snippets/api/requirements.txt index 654cf0f4..04f99eac 100644 --- a/samples/snippets/api/requirements.txt +++ b/samples/snippets/api/requirements.txt @@ -1,3 +1,3 @@ -google-api-python-client==2.47.0 +google-api-python-client==2.48.0 google-auth==2.6.6 google-auth-httplib2==0.1.0 From e0a268177a5df9a843b19e1c4864ca5525963d5e Mon Sep 17 00:00:00 2001 From: "release-please[bot]" <55107282+release-please[bot]@users.noreply.github.com> Date: Thu, 19 May 2022 08:53:05 -0400 Subject: [PATCH 29/29] chore(main): release 2.4.2 (#301) Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> --- CHANGELOG.md | 7 +++++++ setup.py | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be795a5f..81ecff76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,13 @@ [1]: https://pypi.org/project/google-cloud-language/#history +### [2.4.2](https://github.com/googleapis/python-language/compare/v2.4.1...v2.4.2) (2022-05-17) + + +### Documentation + +* fix type in docstring for map fields ([41c28cd](https://github.com/googleapis/python-language/commit/41c28cd35b91adcbe3221a898419c323875b5cfd)) + ### [2.4.1](https://github.com/googleapis/python-language/compare/v2.4.0...v2.4.1) (2022-03-05) diff --git a/setup.py b/setup.py index 8c8c73b6..5f033d43 100644 --- a/setup.py +++ b/setup.py @@ -21,7 +21,7 @@ name = "google-cloud-language" description = "Google Cloud Natural Language API client library" -version = "2.4.1" +version = "2.4.2" # Should be one of: # 'Development Status :: 3 - Alpha' # 'Development Status :: 4 - Beta'