diff --git a/packages/google-cloud-language/google/cloud/language_v1/gapic/enums.py b/packages/google-cloud-language/google/cloud/language_v1/gapic/enums.py index 383f8b021989..2432cf84a711 100644 --- a/packages/google-cloud-language/google/cloud/language_v1/gapic/enums.py +++ b/packages/google-cloud-language/google/cloud/language_v1/gapic/enums.py @@ -1,10 +1,12 @@ -# Copyright 2017, Google LLC All rights reserved. +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# https://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, @@ -13,8 +15,10 @@ # limitations under the License. """Wrappers for protocol buffer enum types.""" +import enum + -class EncodingType(object): +class EncodingType(enum.IntEnum): """ Represents the text encoding that the caller uses to process the output. Providing an ``EncodingType`` is recommended because the API provides the @@ -42,7 +46,7 @@ class EncodingType(object): class Document(object): - class Type(object): + class Type(enum.IntEnum): """ The document types enum. @@ -57,7 +61,7 @@ class Type(object): class Entity(object): - class Type(object): + class Type(enum.IntEnum): """ The type of the entity. @@ -82,7 +86,7 @@ class Type(object): class PartOfSpeech(object): - class Tag(object): + class Tag(enum.IntEnum): """ The part of speech tags enum. @@ -117,7 +121,7 @@ class Tag(object): X = 12 AFFIX = 13 - class Aspect(object): + class Aspect(enum.IntEnum): """ The characteristic of a verb that expresses time flow during an event. @@ -132,7 +136,7 @@ class Aspect(object): IMPERFECTIVE = 2 PROGRESSIVE = 3 - class Case(object): + class Case(enum.IntEnum): """ The grammatical function performed by a noun or pronoun in a phrase, clause, or sentence. In some languages, other parts of speech, such as @@ -171,7 +175,7 @@ class Case(object): RELATIVE_CASE = 13 VOCATIVE = 14 - class Form(object): + class Form(enum.IntEnum): """ Depending on the language, Form can be categorizing different forms of verbs, adjectives, adverbs, etc. For example, categorizing inflected @@ -205,7 +209,7 @@ class Form(object): ORDER = 10 SPECIFIC = 11 - class Gender(object): + class Gender(enum.IntEnum): """ Gender classes of nouns reflected in the behaviour of associated words. @@ -220,7 +224,7 @@ class Gender(object): MASCULINE = 2 NEUTER = 3 - class Mood(object): + class Mood(enum.IntEnum): """ The grammatical feature of verbs, used for showing modality and attitude. @@ -241,7 +245,7 @@ class Mood(object): JUSSIVE = 5 SUBJUNCTIVE = 6 - class Number(object): + class Number(enum.IntEnum): """ Count distinctions. @@ -256,7 +260,7 @@ class Number(object): PLURAL = 2 DUAL = 3 - class Person(object): + class Person(enum.IntEnum): """ The distinction between the speaker, second person, third person, etc. @@ -273,7 +277,7 @@ class Person(object): THIRD = 3 REFLEXIVE_PERSON = 4 - class Proper(object): + class Proper(enum.IntEnum): """ This category shows if the token is part of a proper name. @@ -286,7 +290,7 @@ class Proper(object): PROPER = 1 NOT_PROPER = 2 - class Reciprocity(object): + class Reciprocity(enum.IntEnum): """ Reciprocal features of a pronoun. @@ -300,7 +304,7 @@ class Reciprocity(object): RECIPROCAL = 1 NON_RECIPROCAL = 2 - class Tense(object): + class Tense(enum.IntEnum): """ Time reference. @@ -321,7 +325,7 @@ class Tense(object): IMPERFECT = 5 PLUPERFECT = 6 - class Voice(object): + class Voice(enum.IntEnum): """ The relationship between the action that a verb expresses and the participants identified by its arguments. @@ -339,7 +343,7 @@ class Voice(object): class DependencyEdge(object): - class Label(object): + class Label(enum.IntEnum): """ The parse label enum for the token. @@ -514,7 +518,7 @@ class Label(object): class EntityMention(object): - class Type(object): + class Type(enum.IntEnum): """ The supported types of mentions. diff --git a/packages/google-cloud-language/google/cloud/language_v1/gapic/language_service_client.py b/packages/google-cloud-language/google/cloud/language_v1/gapic/language_service_client.py index 494e968a60eb..15e5367032b8 100644 --- a/packages/google-cloud-language/google/cloud/language_v1/gapic/language_service_client.py +++ b/packages/google-cloud-language/google/cloud/language_v1/gapic/language_service_client.py @@ -1,37 +1,35 @@ -# Copyright 2017, Google LLC All rights reserved. +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# https://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. -# -# EDITING INSTRUCTIONS -# This file was generated from the file -# https://github.com/google/googleapis/blob/master/google/cloud/language/v1/language_service.proto, -# and updates to that file get reflected here through a refresh process. -# For the short term, the refresh process will only be runnable by Google engineers. -# -# The only allowed edits are to method and file documentation. A 3-way -# merge preserves those additions if the generated source changes. """Accesses the google.cloud.language.v1 LanguageService API.""" import pkg_resources +import warnings +from google.oauth2 import service_account import google.api_core.gapic_v1.client_info import google.api_core.gapic_v1.config import google.api_core.gapic_v1.method import google.api_core.grpc_helpers +import grpc from google.cloud.language_v1.gapic import enums from google.cloud.language_v1.gapic import language_service_client_config +from google.cloud.language_v1.gapic.transports import language_service_grpc_transport from google.cloud.language_v1.proto import language_service_pb2 +from google.cloud.language_v1.proto import language_service_pb2_grpc _GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( 'google-cloud-language', ).version @@ -46,15 +44,33 @@ class LanguageServiceClient(object): SERVICE_ADDRESS = 'language.googleapis.com:443' """The default address of the service.""" - # The scopes needed to make gRPC calls to all of the methods defined in - # this service - _DEFAULT_SCOPES = ('https://www.googleapis.com/auth/cloud-platform', ) + # The name of the interface for this client. This is the key used to + # find the method configuration in the client_config dictionary. + _INTERFACE_NAME = 'google.cloud.language.v1.LanguageService' + + @classmethod + def from_service_account_file(cls, filename, *args, **kwargs): + """Creates an instance of this client using the provided credentials + file. + + Args: + filename (str): The path to the service account private key json + file. + args: Additional arguments to pass to the constructor. + kwargs: Additional arguments to pass to the constructor. + + Returns: + LanguageServiceClient: The constructed client. + """ + credentials = service_account.Credentials.from_service_account_file( + filename) + kwargs['credentials'] = credentials + return cls(*args, **kwargs) - # The name of the interface for this client. This is the key used to find - # method configuration in the client_config dictionary - _INTERFACE_NAME = ('google.cloud.language.v1.LanguageService') + from_service_account_json = from_service_account_file def __init__(self, + transport=None, channel=None, credentials=None, client_config=language_service_client_config.config, @@ -62,85 +78,91 @@ def __init__(self, """Constructor. Args: - channel (grpc.Channel): A ``Channel`` instance through - which to make calls. If specified, then the ``credentials`` - argument is ignored. + transport (Union[~.LanguageServiceGrpcTransport, + Callable[[~.Credentials, type], ~.LanguageServiceGrpcTransport]): A transport + instance, responsible for actually making the API calls. + The default transport uses the gRPC protocol. + This argument may also be a callable which returns a + transport instance. Callables will be sent the credentials + as the first argument and the default transport class as + the second argument. + channel (grpc.Channel): DEPRECATED. A ``Channel`` instance + through which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. credentials (google.auth.credentials.Credentials): The authorization credentials to attach to requests. These credentials identify this application to the service. If none are specified, the client will attempt to ascertain the credentials from the environment. - client_config (dict): - A dictionary of call options for each method. If not specified - the default configuration is used. Generally, you only need - to set this if you're developing your own client library. + This argument is mutually exclusive with providing a + transport instance to ``transport``; doing so will raise + an exception. + client_config (dict): DEPRECATED. A dictionary of call options for + each method. If not specified, the default configuration is used. client_info (google.api_core.gapic_v1.client_info.ClientInfo): The client info used to send a user-agent string along with API requests. If ``None``, then default info will be used. Generally, you only need to set this if you're developing your own client library. """ - if channel is not None and credentials is not None: - raise ValueError( - 'channel and credentials arguments to {} are mutually ' - 'exclusive.'.format(self.__class__.__name__)) - - if channel is None: - channel = google.api_core.grpc_helpers.create_channel( - self.SERVICE_ADDRESS, + # Raise deprecation warnings for things we want to go away. + if client_config: + warnings.warn('The `client_config` argument is deprecated.', + PendingDeprecationWarning) + if channel: + warnings.warn( + 'The `channel` argument is deprecated; use ' + '`transport` instead.', PendingDeprecationWarning) + + # Instantiate the transport. + # The transport is responsible for handling serialization and + # deserialization and actually sending data to the service. + if transport: + if callable(transport): + self.transport = transport( + credentials=credentials, + default_class=language_service_grpc_transport. + LanguageServiceGrpcTransport, + ) + else: + if credentials: + raise ValueError( + 'Received both a transport instance and ' + 'credentials; these are mutually exclusive.') + self.transport = transport + else: + self.transport = language_service_grpc_transport.LanguageServiceGrpcTransport( + address=self.SERVICE_ADDRESS, + channel=channel, credentials=credentials, - scopes=self._DEFAULT_SCOPES) - - self.language_service_stub = ( - language_service_pb2.LanguageServiceStub(channel)) + ) if client_info is None: client_info = ( google.api_core.gapic_v1.client_info.DEFAULT_CLIENT_INFO) - client_info.gapic_version = _GAPIC_LIBRARY_VERSION + self._client_info = client_info + + # Parse out the default settings for retry and timeout for each RPC + # from the client configuration. + # (Ordinarily, these are the defaults specified in the `*_config.py` + # file next to this one.) + self._method_configs = google.api_core.gapic_v1.config.parse_method_configs( + client_config['interfaces'][self._INTERFACE_NAME], ) - interface_config = client_config['interfaces'][self._INTERFACE_NAME] - method_configs = google.api_core.gapic_v1.config.parse_method_configs( - interface_config) - - self._analyze_sentiment = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeSentiment, - default_retry=method_configs['AnalyzeSentiment'].retry, - default_timeout=method_configs['AnalyzeSentiment'].timeout, - client_info=client_info) - self._analyze_entities = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeEntities, - default_retry=method_configs['AnalyzeEntities'].retry, - default_timeout=method_configs['AnalyzeEntities'].timeout, - client_info=client_info) - self._analyze_entity_sentiment = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeEntitySentiment, - default_retry=method_configs['AnalyzeEntitySentiment'].retry, - default_timeout=method_configs['AnalyzeEntitySentiment'].timeout, - client_info=client_info) - self._analyze_syntax = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeSyntax, - default_retry=method_configs['AnalyzeSyntax'].retry, - default_timeout=method_configs['AnalyzeSyntax'].timeout, - client_info=client_info) - self._classify_text = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.ClassifyText, - default_retry=method_configs['ClassifyText'].retry, - default_timeout=method_configs['ClassifyText'].timeout, - client_info=client_info) - self._annotate_text = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnnotateText, - default_retry=method_configs['AnnotateText'].retry, - default_timeout=method_configs['AnnotateText'].timeout, - client_info=client_info) + # Save a dictionary of cached API call functions. + # These are the actual callables which invoke the proper + # transport methods, wrapped with `wrap_method` to add retry, + # timeout, and the like. + self._inner_api_calls = {} # Service calls def analyze_sentiment(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Analyzes the sentiment of the provided text. @@ -149,6 +171,7 @@ def analyze_sentiment(self, >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_sentiment(document) @@ -164,6 +187,8 @@ def analyze_sentiment(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.AnalyzeSentimentResponse` instance. @@ -175,15 +200,31 @@ def analyze_sentiment(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_sentiment' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_sentiment'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_sentiment, + default_retry=self._method_configs['AnalyzeSentiment']. + retry, + default_timeout=self._method_configs['AnalyzeSentiment']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeSentimentRequest( - document=document, encoding_type=encoding_type) - return self._analyze_sentiment(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_sentiment']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_entities(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Finds named entities (currently proper names and common nouns) in the text along with entity types, salience, mentions for each entity, and @@ -194,6 +235,7 @@ def analyze_entities(self, >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_entities(document) @@ -209,6 +251,8 @@ def analyze_entities(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.AnalyzeEntitiesResponse` instance. @@ -220,16 +264,32 @@ def analyze_entities(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_entities' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_entities'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_entities, + default_retry=self._method_configs['AnalyzeEntities']. + retry, + default_timeout=self._method_configs['AnalyzeEntities']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeEntitiesRequest( - document=document, encoding_type=encoding_type) - return self._analyze_entities(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_entities']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_entity_sentiment( self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Finds entities, similar to ``AnalyzeEntities`` in the text and analyzes sentiment associated with each entity and its mentions. @@ -239,6 +299,7 @@ def analyze_entity_sentiment( >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_entity_sentiment(document) @@ -254,6 +315,8 @@ def analyze_entity_sentiment( timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.AnalyzeEntitySentimentResponse` instance. @@ -265,16 +328,31 @@ def analyze_entity_sentiment( to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_entity_sentiment' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_entity_sentiment'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_entity_sentiment, + default_retry=self. + _method_configs['AnalyzeEntitySentiment'].retry, + default_timeout=self. + _method_configs['AnalyzeEntitySentiment'].timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeEntitySentimentRequest( - document=document, encoding_type=encoding_type) - return self._analyze_entity_sentiment( - request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_entity_sentiment']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_syntax(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Analyzes the syntax of the text and provides sentence boundaries and tokenization along with part of speech tags, dependency trees, and other @@ -285,6 +363,7 @@ def analyze_syntax(self, >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_syntax(document) @@ -300,6 +379,8 @@ def analyze_syntax(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.AnalyzeSyntaxResponse` instance. @@ -311,14 +392,29 @@ def analyze_syntax(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_syntax' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_syntax'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_syntax, + default_retry=self._method_configs['AnalyzeSyntax'].retry, + default_timeout=self._method_configs['AnalyzeSyntax']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeSyntaxRequest( - document=document, encoding_type=encoding_type) - return self._analyze_syntax(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_syntax']( + request, retry=retry, timeout=timeout, metadata=metadata) def classify_text(self, document, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Classifies a document into categories. @@ -327,6 +423,7 @@ def classify_text(self, >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.classify_text(document) @@ -341,6 +438,8 @@ def classify_text(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.ClassifyTextResponse` instance. @@ -352,15 +451,28 @@ def classify_text(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ - request = language_service_pb2.ClassifyTextRequest(document=document) - return self._classify_text(request, retry=retry, timeout=timeout) + # Wrap the transport method to add retry and timeout logic. + if 'classify_text' not in self._inner_api_calls: + self._inner_api_calls[ + 'classify_text'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.classify_text, + default_retry=self._method_configs['ClassifyText'].retry, + default_timeout=self._method_configs['ClassifyText']. + timeout, + client_info=self._client_info, + ) + + request = language_service_pb2.ClassifyTextRequest(document=document, ) + return self._inner_api_calls['classify_text']( + request, retry=retry, timeout=timeout, metadata=metadata) def annotate_text(self, document, features, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ A convenience method that provides all the features that analyzeSentiment, analyzeEntities, and analyzeSyntax provide in one call. @@ -370,7 +482,10 @@ def annotate_text(self, >>> >>> client = language_v1.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} + >>> + >>> # TODO: Initialize ``features``: >>> features = {} >>> >>> response = client.annotate_text(document, features) @@ -389,6 +504,8 @@ def annotate_text(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1.types.AnnotateTextResponse` instance. @@ -400,6 +517,21 @@ def annotate_text(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'annotate_text' not in self._inner_api_calls: + self._inner_api_calls[ + 'annotate_text'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.annotate_text, + default_retry=self._method_configs['AnnotateText'].retry, + default_timeout=self._method_configs['AnnotateText']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnnotateTextRequest( - document=document, features=features, encoding_type=encoding_type) - return self._annotate_text(request, retry=retry, timeout=timeout) + document=document, + features=features, + encoding_type=encoding_type, + ) + return self._inner_api_calls['annotate_text']( + request, retry=retry, timeout=timeout, metadata=metadata) diff --git a/packages/google-cloud-language/google/cloud/language_v1/gapic/transports/__init__.py b/packages/google-cloud-language/google/cloud/language_v1/gapic/transports/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/google-cloud-language/google/cloud/language_v1/gapic/transports/language_service_grpc_transport.py b/packages/google-cloud-language/google/cloud/language_v1/gapic/transports/language_service_grpc_transport.py new file mode 100644 index 000000000000..7f30da413473 --- /dev/null +++ b/packages/google-cloud-language/google/cloud/language_v1/gapic/transports/language_service_grpc_transport.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# +# https://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. + +import google.api_core.grpc_helpers + +from google.cloud.language_v1.proto import language_service_pb2_grpc + + +class LanguageServiceGrpcTransport(object): + """gRPC transport class providing stubs for + google.cloud.language.v1 LanguageService API. + + The transport provides access to the raw gRPC stubs, + which can be used to take advantage of advanced + features of gRPC. + """ + # The scopes needed to make gRPC calls to all of the methods defined + # in this service. + _OAUTH_SCOPES = ('https://www.googleapis.com/auth/cloud-platform', ) + + def __init__(self, + channel=None, + credentials=None, + address='language.googleapis.com:443'): + """Instantiate the transport class. + + Args: + channel (grpc.Channel): A ``Channel`` instance through + which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. + credentials (google.auth.credentials.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If none + are specified, the client will attempt to ascertain the + credentials from the environment. + address (str): The address where the service is hosted. + """ + # If both `channel` and `credentials` are specified, raise an + # exception (channels come with credentials baked in already). + if channel is not None and credentials is not None: + raise ValueError( + 'The `channel` and `credentials` arguments are mutually ' + 'exclusive.', ) + + # Create the channel. + if channel is None: + channel = self.create_channel( + address=address, + credentials=credentials, + ) + + # gRPC uses objects called "stubs" that are bound to the + # channel and provide a basic method for each RPC. + self._stubs = { + 'language_service_stub': + language_service_pb2_grpc.LanguageServiceStub(channel), + } + + @classmethod + def create_channel(cls, + address='language.googleapis.com:443', + credentials=None): + """Create and return a gRPC channel object. + + Args: + address (str): The host for the channel to use. + credentials (~.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If + none are specified, the client will attempt to ascertain + the credentials from the environment. + + Returns: + grpc.Channel: A gRPC channel object. + """ + return google.api_core.grpc_helpers.create_channel( + address, + credentials=credentials, + scopes=cls._OAUTH_SCOPES, + ) + + @property + def analyze_sentiment(self): + """Return the gRPC stub for {$apiMethod.name}. + + Analyzes the sentiment of the provided text. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeSentiment + + @property + def analyze_entities(self): + """Return the gRPC stub for {$apiMethod.name}. + + Finds named entities (currently proper names and common nouns) in the text + along with entity types, salience, mentions for each entity, and + other properties. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeEntities + + @property + def analyze_entity_sentiment(self): + """Return the gRPC stub for {$apiMethod.name}. + + Finds entities, similar to ``AnalyzeEntities`` in the text and analyzes + sentiment associated with each entity and its mentions. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeEntitySentiment + + @property + def analyze_syntax(self): + """Return the gRPC stub for {$apiMethod.name}. + + Analyzes the syntax of the text and provides sentence boundaries and + tokenization along with part of speech tags, dependency trees, and other + properties. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeSyntax + + @property + def classify_text(self): + """Return the gRPC stub for {$apiMethod.name}. + + Classifies a document into categories. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].ClassifyText + + @property + def annotate_text(self): + """Return the gRPC stub for {$apiMethod.name}. + + A convenience method that provides all the features that analyzeSentiment, + analyzeEntities, and analyzeSyntax provide in one call. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnnotateText diff --git a/packages/google-cloud-language/google/cloud/language_v1/proto/language_service_pb2.py b/packages/google-cloud-language/google/cloud/language_v1/proto/language_service_pb2.py index 0b8bc97d054d..b98d931582bc 100644 --- a/packages/google-cloud-language/google/cloud/language_v1/proto/language_service_pb2.py +++ b/packages/google-cloud-language/google/cloud/language_v1/proto/language_service_pb2.py @@ -1016,28 +1016,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='content', full_name='google.cloud.language.v1.Document.content', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='gcs_content_uri', full_name='google.cloud.language.v1.Document.gcs_content_uri', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.Document.language', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1072,14 +1072,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1.Sentence.sentiment', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1110,14 +1110,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.cloud.language.v1.Entity.MetadataEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1147,42 +1147,42 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='google.cloud.language.v1.Entity.type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='metadata', full_name='google.cloud.language.v1.Entity.metadata', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='salience', full_name='google.cloud.language.v1.Entity.salience', index=3, number=4, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='mentions', full_name='google.cloud.language.v1.Entity.mentions', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1.Entity.sentiment', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1214,28 +1214,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='part_of_speech', full_name='google.cloud.language.v1.Token.part_of_speech', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dependency_edge', full_name='google.cloud.language.v1.Token.dependency_edge', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='lemma', full_name='google.cloud.language.v1.Token.lemma', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1266,14 +1266,14 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='score', full_name='google.cloud.language.v1.Sentiment.score', index=1, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1304,84 +1304,84 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='aspect', full_name='google.cloud.language.v1.PartOfSpeech.aspect', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='case', full_name='google.cloud.language.v1.PartOfSpeech.case', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='form', full_name='google.cloud.language.v1.PartOfSpeech.form', index=3, number=4, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='gender', full_name='google.cloud.language.v1.PartOfSpeech.gender', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='mood', full_name='google.cloud.language.v1.PartOfSpeech.mood', index=5, number=6, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.cloud.language.v1.PartOfSpeech.number', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='person', full_name='google.cloud.language.v1.PartOfSpeech.person', index=7, number=8, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='proper', full_name='google.cloud.language.v1.PartOfSpeech.proper', index=8, number=9, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reciprocity', full_name='google.cloud.language.v1.PartOfSpeech.reciprocity', index=9, number=10, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tense', full_name='google.cloud.language.v1.PartOfSpeech.tense', index=10, number=11, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='voice', full_name='google.cloud.language.v1.PartOfSpeech.voice', index=11, number=12, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1424,14 +1424,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='label', full_name='google.cloud.language.v1.DependencyEdge.label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1463,21 +1463,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='google.cloud.language.v1.EntityMention.type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1.EntityMention.sentiment', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1509,14 +1509,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='begin_offset', full_name='google.cloud.language.v1.TextSpan.begin_offset', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1547,14 +1547,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='confidence', full_name='google.cloud.language.v1.ClassificationCategory.confidence', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1585,14 +1585,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1.AnalyzeSentimentRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1623,21 +1623,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.AnalyzeSentimentResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentences', full_name='google.cloud.language.v1.AnalyzeSentimentResponse.sentences', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1668,14 +1668,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1.AnalyzeEntitySentimentRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1706,14 +1706,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.AnalyzeEntitySentimentResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1744,14 +1744,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1.AnalyzeEntitiesRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1782,14 +1782,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.AnalyzeEntitiesResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1820,14 +1820,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1.AnalyzeSyntaxRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1858,21 +1858,21 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tokens', full_name='google.cloud.language.v1.AnalyzeSyntaxResponse.tokens', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.AnalyzeSyntaxResponse.language', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1903,7 +1903,7 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1934,7 +1934,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1965,35 +1965,35 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_entities', full_name='google.cloud.language.v1.AnnotateTextRequest.Features.extract_entities', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_document_sentiment', full_name='google.cloud.language.v1.AnnotateTextRequest.Features.extract_document_sentiment', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_entity_sentiment', full_name='google.cloud.language.v1.AnnotateTextRequest.Features.extract_entity_sentiment', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='classify_text', full_name='google.cloud.language.v1.AnnotateTextRequest.Features.classify_text', index=4, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2023,21 +2023,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='features', full_name='google.cloud.language.v1.AnnotateTextRequest.features', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1.AnnotateTextRequest.encoding_type', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2068,42 +2068,42 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tokens', full_name='google.cloud.language.v1.AnnotateTextResponse.tokens', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entities', full_name='google.cloud.language.v1.AnnotateTextResponse.entities', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='document_sentiment', full_name='google.cloud.language.v1.AnnotateTextResponse.document_sentiment', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1.AnnotateTextResponse.language', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='categories', full_name='google.cloud.language.v1.AnnotateTextResponse.categories', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2767,305 +2767,73 @@ DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n\034com.google.cloud.language.v1B\024LanguageServiceProtoP\001Z@google.golang.org/genproto/googleapis/cloud/language/v1;language')) _ENTITY_METADATAENTRY.has_options = True _ENTITY_METADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -try: - # THESE ELEMENTS WILL BE DEPRECATED. - # Please use the generated *_pb2_grpc.py files instead. - import grpc - from grpc.beta import implementations as beta_implementations - from grpc.beta import interfaces as beta_interfaces - from grpc.framework.common import cardinality - from grpc.framework.interfaces.face import utilities as face_utilities - - - class LanguageServiceStub(object): - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.AnalyzeSentiment = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/AnalyzeSentiment', - request_serializer=AnalyzeSentimentRequest.SerializeToString, - response_deserializer=AnalyzeSentimentResponse.FromString, - ) - self.AnalyzeEntities = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/AnalyzeEntities', - request_serializer=AnalyzeEntitiesRequest.SerializeToString, - response_deserializer=AnalyzeEntitiesResponse.FromString, - ) - self.AnalyzeEntitySentiment = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/AnalyzeEntitySentiment', - request_serializer=AnalyzeEntitySentimentRequest.SerializeToString, - response_deserializer=AnalyzeEntitySentimentResponse.FromString, - ) - self.AnalyzeSyntax = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/AnalyzeSyntax', - request_serializer=AnalyzeSyntaxRequest.SerializeToString, - response_deserializer=AnalyzeSyntaxResponse.FromString, - ) - self.ClassifyText = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/ClassifyText', - request_serializer=ClassifyTextRequest.SerializeToString, - response_deserializer=ClassifyTextResponse.FromString, - ) - self.AnnotateText = channel.unary_unary( - '/google.cloud.language.v1.LanguageService/AnnotateText', - request_serializer=AnnotateTextRequest.SerializeToString, - response_deserializer=AnnotateTextResponse.FromString, - ) - - - class LanguageServiceServicer(object): - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - - def AnalyzeSentiment(self, request, context): - """Analyzes the sentiment of the provided text. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeEntities(self, request, context): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeEntitySentiment(self, request, context): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeSyntax(self, request, context): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ClassifyText(self, request, context): - """Classifies a document into categories. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnnotateText(self, request, context): - """A convenience method that provides all the features that analyzeSentiment, - analyzeEntities, and analyzeSyntax provide in one call. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - - def add_LanguageServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'AnalyzeSentiment': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeSentiment, - request_deserializer=AnalyzeSentimentRequest.FromString, - response_serializer=AnalyzeSentimentResponse.SerializeToString, - ), - 'AnalyzeEntities': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeEntities, - request_deserializer=AnalyzeEntitiesRequest.FromString, - response_serializer=AnalyzeEntitiesResponse.SerializeToString, - ), - 'AnalyzeEntitySentiment': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeEntitySentiment, - request_deserializer=AnalyzeEntitySentimentRequest.FromString, - response_serializer=AnalyzeEntitySentimentResponse.SerializeToString, - ), - 'AnalyzeSyntax': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeSyntax, - request_deserializer=AnalyzeSyntaxRequest.FromString, - response_serializer=AnalyzeSyntaxResponse.SerializeToString, - ), - 'ClassifyText': grpc.unary_unary_rpc_method_handler( - servicer.ClassifyText, - request_deserializer=ClassifyTextRequest.FromString, - response_serializer=ClassifyTextResponse.SerializeToString, - ), - 'AnnotateText': grpc.unary_unary_rpc_method_handler( - servicer.AnnotateText, - request_deserializer=AnnotateTextRequest.FromString, - response_serializer=AnnotateTextResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'google.cloud.language.v1.LanguageService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - class BetaLanguageServiceServicer(object): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This class was generated - only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0.""" - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - def AnalyzeSentiment(self, request, context): - """Analyzes the sentiment of the provided text. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeEntities(self, request, context): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeEntitySentiment(self, request, context): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeSyntax(self, request, context): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ClassifyText(self, request, context): - """Classifies a document into categories. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnnotateText(self, request, context): - """A convenience method that provides all the features that analyzeSentiment, - analyzeEntities, and analyzeSyntax provide in one call. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - - - class BetaLanguageServiceStub(object): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This class was generated - only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0.""" - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - def AnalyzeSentiment(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Analyzes the sentiment of the provided text. - """ - raise NotImplementedError() - AnalyzeSentiment.future = None - def AnalyzeEntities(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - raise NotImplementedError() - AnalyzeEntities.future = None - def AnalyzeEntitySentiment(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - raise NotImplementedError() - AnalyzeEntitySentiment.future = None - def AnalyzeSyntax(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - raise NotImplementedError() - AnalyzeSyntax.future = None - def ClassifyText(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Classifies a document into categories. - """ - raise NotImplementedError() - ClassifyText.future = None - def AnnotateText(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """A convenience method that provides all the features that analyzeSentiment, - analyzeEntities, and analyzeSyntax provide in one call. - """ - raise NotImplementedError() - AnnotateText.future = None - - - def beta_create_LanguageService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This function was - generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0""" - request_deserializers = { - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesRequest.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentRequest.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentRequest.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxRequest.FromString, - ('google.cloud.language.v1.LanguageService', 'AnnotateText'): AnnotateTextRequest.FromString, - ('google.cloud.language.v1.LanguageService', 'ClassifyText'): ClassifyTextRequest.FromString, - } - response_serializers = { - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesResponse.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentResponse.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentResponse.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxResponse.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnnotateText'): AnnotateTextResponse.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'ClassifyText'): ClassifyTextResponse.SerializeToString, - } - method_implementations = { - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntities'): face_utilities.unary_unary_inline(servicer.AnalyzeEntities), - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntitySentiment'): face_utilities.unary_unary_inline(servicer.AnalyzeEntitySentiment), - ('google.cloud.language.v1.LanguageService', 'AnalyzeSentiment'): face_utilities.unary_unary_inline(servicer.AnalyzeSentiment), - ('google.cloud.language.v1.LanguageService', 'AnalyzeSyntax'): face_utilities.unary_unary_inline(servicer.AnalyzeSyntax), - ('google.cloud.language.v1.LanguageService', 'AnnotateText'): face_utilities.unary_unary_inline(servicer.AnnotateText), - ('google.cloud.language.v1.LanguageService', 'ClassifyText'): face_utilities.unary_unary_inline(servicer.ClassifyText), - } - server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout) - return beta_implementations.server(method_implementations, options=server_options) - - - def beta_create_LanguageService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This function was - generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0""" - request_serializers = { - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesRequest.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentRequest.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentRequest.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxRequest.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'AnnotateText'): AnnotateTextRequest.SerializeToString, - ('google.cloud.language.v1.LanguageService', 'ClassifyText'): ClassifyTextRequest.SerializeToString, - } - response_deserializers = { - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesResponse.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentResponse.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentResponse.FromString, - ('google.cloud.language.v1.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxResponse.FromString, - ('google.cloud.language.v1.LanguageService', 'AnnotateText'): AnnotateTextResponse.FromString, - ('google.cloud.language.v1.LanguageService', 'ClassifyText'): ClassifyTextResponse.FromString, - } - cardinalities = { - 'AnalyzeEntities': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeEntitySentiment': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeSentiment': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeSyntax': cardinality.Cardinality.UNARY_UNARY, - 'AnnotateText': cardinality.Cardinality.UNARY_UNARY, - 'ClassifyText': cardinality.Cardinality.UNARY_UNARY, - } - stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size) - return beta_implementations.dynamic_stub(channel, 'google.cloud.language.v1.LanguageService', cardinalities, options=stub_options) -except ImportError: - pass + +_LANGUAGESERVICE = _descriptor.ServiceDescriptor( + name='LanguageService', + full_name='google.cloud.language.v1.LanguageService', + file=DESCRIPTOR, + index=0, + options=None, + serialized_start=6643, + serialized_end=7638, + methods=[ + _descriptor.MethodDescriptor( + name='AnalyzeSentiment', + full_name='google.cloud.language.v1.LanguageService.AnalyzeSentiment', + index=0, + containing_service=None, + input_type=_ANALYZESENTIMENTREQUEST, + output_type=_ANALYZESENTIMENTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002#\"\036/v1/documents:analyzeSentiment:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeEntities', + full_name='google.cloud.language.v1.LanguageService.AnalyzeEntities', + index=1, + containing_service=None, + input_type=_ANALYZEENTITIESREQUEST, + output_type=_ANALYZEENTITIESRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\"\"\035/v1/documents:analyzeEntities:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeEntitySentiment', + full_name='google.cloud.language.v1.LanguageService.AnalyzeEntitySentiment', + index=2, + containing_service=None, + input_type=_ANALYZEENTITYSENTIMENTREQUEST, + output_type=_ANALYZEENTITYSENTIMENTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002)\"$/v1/documents:analyzeEntitySentiment:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeSyntax', + full_name='google.cloud.language.v1.LanguageService.AnalyzeSyntax', + index=3, + containing_service=None, + input_type=_ANALYZESYNTAXREQUEST, + output_type=_ANALYZESYNTAXRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002 \"\033/v1/documents:analyzeSyntax:\001*')), + ), + _descriptor.MethodDescriptor( + name='ClassifyText', + full_name='google.cloud.language.v1.LanguageService.ClassifyText', + index=4, + containing_service=None, + input_type=_CLASSIFYTEXTREQUEST, + output_type=_CLASSIFYTEXTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\037\"\032/v1/documents:classifyText:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnnotateText', + full_name='google.cloud.language.v1.LanguageService.AnnotateText', + index=5, + containing_service=None, + input_type=_ANNOTATETEXTREQUEST, + output_type=_ANNOTATETEXTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\037\"\032/v1/documents:annotateText:\001*')), + ), +]) +_sym_db.RegisterServiceDescriptor(_LANGUAGESERVICE) + +DESCRIPTOR.services_by_name['LanguageService'] = _LANGUAGESERVICE + # @@protoc_insertion_point(module_scope) diff --git a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/enums.py b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/enums.py index 383f8b021989..2432cf84a711 100644 --- a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/enums.py +++ b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/enums.py @@ -1,10 +1,12 @@ -# Copyright 2017, Google LLC All rights reserved. +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# https://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, @@ -13,8 +15,10 @@ # limitations under the License. """Wrappers for protocol buffer enum types.""" +import enum + -class EncodingType(object): +class EncodingType(enum.IntEnum): """ Represents the text encoding that the caller uses to process the output. Providing an ``EncodingType`` is recommended because the API provides the @@ -42,7 +46,7 @@ class EncodingType(object): class Document(object): - class Type(object): + class Type(enum.IntEnum): """ The document types enum. @@ -57,7 +61,7 @@ class Type(object): class Entity(object): - class Type(object): + class Type(enum.IntEnum): """ The type of the entity. @@ -82,7 +86,7 @@ class Type(object): class PartOfSpeech(object): - class Tag(object): + class Tag(enum.IntEnum): """ The part of speech tags enum. @@ -117,7 +121,7 @@ class Tag(object): X = 12 AFFIX = 13 - class Aspect(object): + class Aspect(enum.IntEnum): """ The characteristic of a verb that expresses time flow during an event. @@ -132,7 +136,7 @@ class Aspect(object): IMPERFECTIVE = 2 PROGRESSIVE = 3 - class Case(object): + class Case(enum.IntEnum): """ The grammatical function performed by a noun or pronoun in a phrase, clause, or sentence. In some languages, other parts of speech, such as @@ -171,7 +175,7 @@ class Case(object): RELATIVE_CASE = 13 VOCATIVE = 14 - class Form(object): + class Form(enum.IntEnum): """ Depending on the language, Form can be categorizing different forms of verbs, adjectives, adverbs, etc. For example, categorizing inflected @@ -205,7 +209,7 @@ class Form(object): ORDER = 10 SPECIFIC = 11 - class Gender(object): + class Gender(enum.IntEnum): """ Gender classes of nouns reflected in the behaviour of associated words. @@ -220,7 +224,7 @@ class Gender(object): MASCULINE = 2 NEUTER = 3 - class Mood(object): + class Mood(enum.IntEnum): """ The grammatical feature of verbs, used for showing modality and attitude. @@ -241,7 +245,7 @@ class Mood(object): JUSSIVE = 5 SUBJUNCTIVE = 6 - class Number(object): + class Number(enum.IntEnum): """ Count distinctions. @@ -256,7 +260,7 @@ class Number(object): PLURAL = 2 DUAL = 3 - class Person(object): + class Person(enum.IntEnum): """ The distinction between the speaker, second person, third person, etc. @@ -273,7 +277,7 @@ class Person(object): THIRD = 3 REFLEXIVE_PERSON = 4 - class Proper(object): + class Proper(enum.IntEnum): """ This category shows if the token is part of a proper name. @@ -286,7 +290,7 @@ class Proper(object): PROPER = 1 NOT_PROPER = 2 - class Reciprocity(object): + class Reciprocity(enum.IntEnum): """ Reciprocal features of a pronoun. @@ -300,7 +304,7 @@ class Reciprocity(object): RECIPROCAL = 1 NON_RECIPROCAL = 2 - class Tense(object): + class Tense(enum.IntEnum): """ Time reference. @@ -321,7 +325,7 @@ class Tense(object): IMPERFECT = 5 PLUPERFECT = 6 - class Voice(object): + class Voice(enum.IntEnum): """ The relationship between the action that a verb expresses and the participants identified by its arguments. @@ -339,7 +343,7 @@ class Voice(object): class DependencyEdge(object): - class Label(object): + class Label(enum.IntEnum): """ The parse label enum for the token. @@ -514,7 +518,7 @@ class Label(object): class EntityMention(object): - class Type(object): + class Type(enum.IntEnum): """ The supported types of mentions. diff --git a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/language_service_client.py b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/language_service_client.py index d2c7c143147f..a7b3c560c172 100644 --- a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/language_service_client.py +++ b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/language_service_client.py @@ -1,37 +1,35 @@ -# Copyright 2017, Google LLC All rights reserved. +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# https://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. -# -# EDITING INSTRUCTIONS -# This file was generated from the file -# https://github.com/google/googleapis/blob/master/google/cloud/language/v1beta2/language_service.proto, -# and updates to that file get reflected here through a refresh process. -# For the short term, the refresh process will only be runnable by Google engineers. -# -# The only allowed edits are to method and file documentation. A 3-way -# merge preserves those additions if the generated source changes. """Accesses the google.cloud.language.v1beta2 LanguageService API.""" import pkg_resources +import warnings +from google.oauth2 import service_account import google.api_core.gapic_v1.client_info import google.api_core.gapic_v1.config import google.api_core.gapic_v1.method import google.api_core.grpc_helpers +import grpc from google.cloud.language_v1beta2.gapic import enums from google.cloud.language_v1beta2.gapic import language_service_client_config +from google.cloud.language_v1beta2.gapic.transports import language_service_grpc_transport from google.cloud.language_v1beta2.proto import language_service_pb2 +from google.cloud.language_v1beta2.proto import language_service_pb2_grpc _GAPIC_LIBRARY_VERSION = pkg_resources.get_distribution( 'google-cloud-language', ).version @@ -46,15 +44,33 @@ class LanguageServiceClient(object): SERVICE_ADDRESS = 'language.googleapis.com:443' """The default address of the service.""" - # The scopes needed to make gRPC calls to all of the methods defined in - # this service - _DEFAULT_SCOPES = ('https://www.googleapis.com/auth/cloud-platform', ) + # The name of the interface for this client. This is the key used to + # find the method configuration in the client_config dictionary. + _INTERFACE_NAME = 'google.cloud.language.v1beta2.LanguageService' + + @classmethod + def from_service_account_file(cls, filename, *args, **kwargs): + """Creates an instance of this client using the provided credentials + file. + + Args: + filename (str): The path to the service account private key json + file. + args: Additional arguments to pass to the constructor. + kwargs: Additional arguments to pass to the constructor. + + Returns: + LanguageServiceClient: The constructed client. + """ + credentials = service_account.Credentials.from_service_account_file( + filename) + kwargs['credentials'] = credentials + return cls(*args, **kwargs) - # The name of the interface for this client. This is the key used to find - # method configuration in the client_config dictionary - _INTERFACE_NAME = ('google.cloud.language.v1beta2.LanguageService') + from_service_account_json = from_service_account_file def __init__(self, + transport=None, channel=None, credentials=None, client_config=language_service_client_config.config, @@ -62,85 +78,91 @@ def __init__(self, """Constructor. Args: - channel (grpc.Channel): A ``Channel`` instance through - which to make calls. If specified, then the ``credentials`` - argument is ignored. + transport (Union[~.LanguageServiceGrpcTransport, + Callable[[~.Credentials, type], ~.LanguageServiceGrpcTransport]): A transport + instance, responsible for actually making the API calls. + The default transport uses the gRPC protocol. + This argument may also be a callable which returns a + transport instance. Callables will be sent the credentials + as the first argument and the default transport class as + the second argument. + channel (grpc.Channel): DEPRECATED. A ``Channel`` instance + through which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. credentials (google.auth.credentials.Credentials): The authorization credentials to attach to requests. These credentials identify this application to the service. If none are specified, the client will attempt to ascertain the credentials from the environment. - client_config (dict): - A dictionary of call options for each method. If not specified - the default configuration is used. Generally, you only need - to set this if you're developing your own client library. + This argument is mutually exclusive with providing a + transport instance to ``transport``; doing so will raise + an exception. + client_config (dict): DEPRECATED. A dictionary of call options for + each method. If not specified, the default configuration is used. client_info (google.api_core.gapic_v1.client_info.ClientInfo): The client info used to send a user-agent string along with API requests. If ``None``, then default info will be used. Generally, you only need to set this if you're developing your own client library. """ - if channel is not None and credentials is not None: - raise ValueError( - 'channel and credentials arguments to {} are mutually ' - 'exclusive.'.format(self.__class__.__name__)) - - if channel is None: - channel = google.api_core.grpc_helpers.create_channel( - self.SERVICE_ADDRESS, + # Raise deprecation warnings for things we want to go away. + if client_config: + warnings.warn('The `client_config` argument is deprecated.', + PendingDeprecationWarning) + if channel: + warnings.warn( + 'The `channel` argument is deprecated; use ' + '`transport` instead.', PendingDeprecationWarning) + + # Instantiate the transport. + # The transport is responsible for handling serialization and + # deserialization and actually sending data to the service. + if transport: + if callable(transport): + self.transport = transport( + credentials=credentials, + default_class=language_service_grpc_transport. + LanguageServiceGrpcTransport, + ) + else: + if credentials: + raise ValueError( + 'Received both a transport instance and ' + 'credentials; these are mutually exclusive.') + self.transport = transport + else: + self.transport = language_service_grpc_transport.LanguageServiceGrpcTransport( + address=self.SERVICE_ADDRESS, + channel=channel, credentials=credentials, - scopes=self._DEFAULT_SCOPES) - - self.language_service_stub = ( - language_service_pb2.LanguageServiceStub(channel)) + ) if client_info is None: client_info = ( google.api_core.gapic_v1.client_info.DEFAULT_CLIENT_INFO) - client_info.gapic_version = _GAPIC_LIBRARY_VERSION + self._client_info = client_info + + # Parse out the default settings for retry and timeout for each RPC + # from the client configuration. + # (Ordinarily, these are the defaults specified in the `*_config.py` + # file next to this one.) + self._method_configs = google.api_core.gapic_v1.config.parse_method_configs( + client_config['interfaces'][self._INTERFACE_NAME], ) - interface_config = client_config['interfaces'][self._INTERFACE_NAME] - method_configs = google.api_core.gapic_v1.config.parse_method_configs( - interface_config) - - self._analyze_sentiment = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeSentiment, - default_retry=method_configs['AnalyzeSentiment'].retry, - default_timeout=method_configs['AnalyzeSentiment'].timeout, - client_info=client_info) - self._analyze_entities = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeEntities, - default_retry=method_configs['AnalyzeEntities'].retry, - default_timeout=method_configs['AnalyzeEntities'].timeout, - client_info=client_info) - self._analyze_entity_sentiment = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeEntitySentiment, - default_retry=method_configs['AnalyzeEntitySentiment'].retry, - default_timeout=method_configs['AnalyzeEntitySentiment'].timeout, - client_info=client_info) - self._analyze_syntax = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnalyzeSyntax, - default_retry=method_configs['AnalyzeSyntax'].retry, - default_timeout=method_configs['AnalyzeSyntax'].timeout, - client_info=client_info) - self._classify_text = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.ClassifyText, - default_retry=method_configs['ClassifyText'].retry, - default_timeout=method_configs['ClassifyText'].timeout, - client_info=client_info) - self._annotate_text = google.api_core.gapic_v1.method.wrap_method( - self.language_service_stub.AnnotateText, - default_retry=method_configs['AnnotateText'].retry, - default_timeout=method_configs['AnnotateText'].timeout, - client_info=client_info) + # Save a dictionary of cached API call functions. + # These are the actual callables which invoke the proper + # transport methods, wrapped with `wrap_method` to add retry, + # timeout, and the like. + self._inner_api_calls = {} # Service calls def analyze_sentiment(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Analyzes the sentiment of the provided text. @@ -149,6 +171,7 @@ def analyze_sentiment(self, >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_sentiment(document) @@ -165,6 +188,8 @@ def analyze_sentiment(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.AnalyzeSentimentResponse` instance. @@ -176,15 +201,31 @@ def analyze_sentiment(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_sentiment' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_sentiment'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_sentiment, + default_retry=self._method_configs['AnalyzeSentiment']. + retry, + default_timeout=self._method_configs['AnalyzeSentiment']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeSentimentRequest( - document=document, encoding_type=encoding_type) - return self._analyze_sentiment(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_sentiment']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_entities(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Finds named entities (currently proper names and common nouns) in the text along with entity types, salience, mentions for each entity, and @@ -195,6 +236,7 @@ def analyze_entities(self, >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_entities(document) @@ -210,6 +252,8 @@ def analyze_entities(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.AnalyzeEntitiesResponse` instance. @@ -221,16 +265,32 @@ def analyze_entities(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_entities' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_entities'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_entities, + default_retry=self._method_configs['AnalyzeEntities']. + retry, + default_timeout=self._method_configs['AnalyzeEntities']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeEntitiesRequest( - document=document, encoding_type=encoding_type) - return self._analyze_entities(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_entities']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_entity_sentiment( self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Finds entities, similar to ``AnalyzeEntities`` in the text and analyzes sentiment associated with each entity and its mentions. @@ -240,6 +300,7 @@ def analyze_entity_sentiment( >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_entity_sentiment(document) @@ -255,6 +316,8 @@ def analyze_entity_sentiment( timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.AnalyzeEntitySentimentResponse` instance. @@ -266,16 +329,31 @@ def analyze_entity_sentiment( to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_entity_sentiment' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_entity_sentiment'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_entity_sentiment, + default_retry=self. + _method_configs['AnalyzeEntitySentiment'].retry, + default_timeout=self. + _method_configs['AnalyzeEntitySentiment'].timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeEntitySentimentRequest( - document=document, encoding_type=encoding_type) - return self._analyze_entity_sentiment( - request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_entity_sentiment']( + request, retry=retry, timeout=timeout, metadata=metadata) def analyze_syntax(self, document, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Analyzes the syntax of the text and provides sentence boundaries and tokenization along with part of speech tags, dependency trees, and other @@ -286,6 +364,7 @@ def analyze_syntax(self, >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.analyze_syntax(document) @@ -301,6 +380,8 @@ def analyze_syntax(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.AnalyzeSyntaxResponse` instance. @@ -312,14 +393,29 @@ def analyze_syntax(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'analyze_syntax' not in self._inner_api_calls: + self._inner_api_calls[ + 'analyze_syntax'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.analyze_syntax, + default_retry=self._method_configs['AnalyzeSyntax'].retry, + default_timeout=self._method_configs['AnalyzeSyntax']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnalyzeSyntaxRequest( - document=document, encoding_type=encoding_type) - return self._analyze_syntax(request, retry=retry, timeout=timeout) + document=document, + encoding_type=encoding_type, + ) + return self._inner_api_calls['analyze_syntax']( + request, retry=retry, timeout=timeout, metadata=metadata) def classify_text(self, document, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ Classifies a document into categories. @@ -328,6 +424,7 @@ def classify_text(self, >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} >>> >>> response = client.classify_text(document) @@ -342,6 +439,8 @@ def classify_text(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.ClassifyTextResponse` instance. @@ -353,15 +452,28 @@ def classify_text(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ - request = language_service_pb2.ClassifyTextRequest(document=document) - return self._classify_text(request, retry=retry, timeout=timeout) + # Wrap the transport method to add retry and timeout logic. + if 'classify_text' not in self._inner_api_calls: + self._inner_api_calls[ + 'classify_text'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.classify_text, + default_retry=self._method_configs['ClassifyText'].retry, + default_timeout=self._method_configs['ClassifyText']. + timeout, + client_info=self._client_info, + ) + + request = language_service_pb2.ClassifyTextRequest(document=document, ) + return self._inner_api_calls['classify_text']( + request, retry=retry, timeout=timeout, metadata=metadata) def annotate_text(self, document, features, encoding_type=None, retry=google.api_core.gapic_v1.method.DEFAULT, - timeout=google.api_core.gapic_v1.method.DEFAULT): + timeout=google.api_core.gapic_v1.method.DEFAULT, + metadata=None): """ A convenience method that provides all syntax, sentiment, entity, and classification features in one call. @@ -371,7 +483,10 @@ def annotate_text(self, >>> >>> client = language_v1beta2.LanguageServiceClient() >>> + >>> # TODO: Initialize ``document``: >>> document = {} + >>> + >>> # TODO: Initialize ``features``: >>> features = {} >>> >>> response = client.annotate_text(document, features) @@ -390,6 +505,8 @@ def annotate_text(self, timeout (Optional[float]): The amount of time, in seconds, to wait for the request to complete. Note that if ``retry`` is specified, the timeout applies to each individual attempt. + metadata (Optional[Sequence[Tuple[str, str]]]): Additional metadata + that is provided to the method. Returns: A :class:`~google.cloud.language_v1beta2.types.AnnotateTextResponse` instance. @@ -401,6 +518,21 @@ def annotate_text(self, to a retryable error and retry attempts failed. ValueError: If the parameters are invalid. """ + # Wrap the transport method to add retry and timeout logic. + if 'annotate_text' not in self._inner_api_calls: + self._inner_api_calls[ + 'annotate_text'] = google.api_core.gapic_v1.method.wrap_method( + self.transport.annotate_text, + default_retry=self._method_configs['AnnotateText'].retry, + default_timeout=self._method_configs['AnnotateText']. + timeout, + client_info=self._client_info, + ) + request = language_service_pb2.AnnotateTextRequest( - document=document, features=features, encoding_type=encoding_type) - return self._annotate_text(request, retry=retry, timeout=timeout) + document=document, + features=features, + encoding_type=encoding_type, + ) + return self._inner_api_calls['annotate_text']( + request, retry=retry, timeout=timeout, metadata=metadata) diff --git a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/transports/__init__.py b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/transports/__init__.py new file mode 100644 index 000000000000..e69de29bb2d1 diff --git a/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/transports/language_service_grpc_transport.py b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/transports/language_service_grpc_transport.py new file mode 100644 index 000000000000..0cf6b652bd25 --- /dev/null +++ b/packages/google-cloud-language/google/cloud/language_v1beta2/gapic/transports/language_service_grpc_transport.py @@ -0,0 +1,177 @@ +# -*- coding: utf-8 -*- +# +# Copyright 2018 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 +# +# https://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. + +import google.api_core.grpc_helpers + +from google.cloud.language_v1beta2.proto import language_service_pb2_grpc + + +class LanguageServiceGrpcTransport(object): + """gRPC transport class providing stubs for + google.cloud.language.v1beta2 LanguageService API. + + The transport provides access to the raw gRPC stubs, + which can be used to take advantage of advanced + features of gRPC. + """ + # The scopes needed to make gRPC calls to all of the methods defined + # in this service. + _OAUTH_SCOPES = ('https://www.googleapis.com/auth/cloud-platform', ) + + def __init__(self, + channel=None, + credentials=None, + address='language.googleapis.com:443'): + """Instantiate the transport class. + + Args: + channel (grpc.Channel): A ``Channel`` instance through + which to make calls. This argument is mutually exclusive + with ``credentials``; providing both will raise an exception. + credentials (google.auth.credentials.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If none + are specified, the client will attempt to ascertain the + credentials from the environment. + address (str): The address where the service is hosted. + """ + # If both `channel` and `credentials` are specified, raise an + # exception (channels come with credentials baked in already). + if channel is not None and credentials is not None: + raise ValueError( + 'The `channel` and `credentials` arguments are mutually ' + 'exclusive.', ) + + # Create the channel. + if channel is None: + channel = self.create_channel( + address=address, + credentials=credentials, + ) + + # gRPC uses objects called "stubs" that are bound to the + # channel and provide a basic method for each RPC. + self._stubs = { + 'language_service_stub': + language_service_pb2_grpc.LanguageServiceStub(channel), + } + + @classmethod + def create_channel(cls, + address='language.googleapis.com:443', + credentials=None): + """Create and return a gRPC channel object. + + Args: + address (str): The host for the channel to use. + credentials (~.Credentials): The + authorization credentials to attach to requests. These + credentials identify this application to the service. If + none are specified, the client will attempt to ascertain + the credentials from the environment. + + Returns: + grpc.Channel: A gRPC channel object. + """ + return google.api_core.grpc_helpers.create_channel( + address, + credentials=credentials, + scopes=cls._OAUTH_SCOPES, + ) + + @property + def analyze_sentiment(self): + """Return the gRPC stub for {$apiMethod.name}. + + Analyzes the sentiment of the provided text. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeSentiment + + @property + def analyze_entities(self): + """Return the gRPC stub for {$apiMethod.name}. + + Finds named entities (currently proper names and common nouns) in the text + along with entity types, salience, mentions for each entity, and + other properties. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeEntities + + @property + def analyze_entity_sentiment(self): + """Return the gRPC stub for {$apiMethod.name}. + + Finds entities, similar to ``AnalyzeEntities`` in the text and analyzes + sentiment associated with each entity and its mentions. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeEntitySentiment + + @property + def analyze_syntax(self): + """Return the gRPC stub for {$apiMethod.name}. + + Analyzes the syntax of the text and provides sentence boundaries and + tokenization along with part of speech tags, dependency trees, and other + properties. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnalyzeSyntax + + @property + def classify_text(self): + """Return the gRPC stub for {$apiMethod.name}. + + Classifies a document into categories. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].ClassifyText + + @property + def annotate_text(self): + """Return the gRPC stub for {$apiMethod.name}. + + A convenience method that provides all syntax, sentiment, entity, and + classification features in one call. + + Returns: + Callable: A callable which accepts the appropriate + deserialized request object and returns a + deserialized response object. + """ + return self._stubs['language_service_stub'].AnnotateText diff --git a/packages/google-cloud-language/google/cloud/language_v1beta2/proto/language_service_pb2.py b/packages/google-cloud-language/google/cloud/language_v1beta2/proto/language_service_pb2.py index 7dc8d2202190..50537b192c20 100644 --- a/packages/google-cloud-language/google/cloud/language_v1beta2/proto/language_service_pb2.py +++ b/packages/google-cloud-language/google/cloud/language_v1beta2/proto/language_service_pb2.py @@ -1019,28 +1019,28 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='content', full_name='google.cloud.language.v1beta2.Document.content', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='gcs_content_uri', full_name='google.cloud.language.v1beta2.Document.gcs_content_uri', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.Document.language', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1075,14 +1075,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1beta2.Sentence.sentiment', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1113,14 +1113,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='value', full_name='google.cloud.language.v1beta2.Entity.MetadataEntry.value', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1150,42 +1150,42 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='google.cloud.language.v1beta2.Entity.type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='metadata', full_name='google.cloud.language.v1beta2.Entity.metadata', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='salience', full_name='google.cloud.language.v1beta2.Entity.salience', index=3, number=4, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='mentions', full_name='google.cloud.language.v1beta2.Entity.mentions', index=4, number=5, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1beta2.Entity.sentiment', index=5, number=6, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1217,28 +1217,28 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='part_of_speech', full_name='google.cloud.language.v1beta2.Token.part_of_speech', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='dependency_edge', full_name='google.cloud.language.v1beta2.Token.dependency_edge', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='lemma', full_name='google.cloud.language.v1beta2.Token.lemma', index=3, number=4, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1269,14 +1269,14 @@ has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='score', full_name='google.cloud.language.v1beta2.Sentiment.score', index=1, number=3, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1307,84 +1307,84 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='aspect', full_name='google.cloud.language.v1beta2.PartOfSpeech.aspect', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='case', full_name='google.cloud.language.v1beta2.PartOfSpeech.case', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='form', full_name='google.cloud.language.v1beta2.PartOfSpeech.form', index=3, number=4, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='gender', full_name='google.cloud.language.v1beta2.PartOfSpeech.gender', index=4, number=5, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='mood', full_name='google.cloud.language.v1beta2.PartOfSpeech.mood', index=5, number=6, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='number', full_name='google.cloud.language.v1beta2.PartOfSpeech.number', index=6, number=7, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='person', full_name='google.cloud.language.v1beta2.PartOfSpeech.person', index=7, number=8, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='proper', full_name='google.cloud.language.v1beta2.PartOfSpeech.proper', index=8, number=9, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='reciprocity', full_name='google.cloud.language.v1beta2.PartOfSpeech.reciprocity', index=9, number=10, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tense', full_name='google.cloud.language.v1beta2.PartOfSpeech.tense', index=10, number=11, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='voice', full_name='google.cloud.language.v1beta2.PartOfSpeech.voice', index=11, number=12, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1427,14 +1427,14 @@ has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='label', full_name='google.cloud.language.v1beta2.DependencyEdge.label', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1466,21 +1466,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='type', full_name='google.cloud.language.v1beta2.EntityMention.type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentiment', full_name='google.cloud.language.v1beta2.EntityMention.sentiment', index=2, number=3, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1512,14 +1512,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='begin_offset', full_name='google.cloud.language.v1beta2.TextSpan.begin_offset', index=1, number=2, type=5, cpp_type=1, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1550,14 +1550,14 @@ has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='confidence', full_name='google.cloud.language.v1beta2.ClassificationCategory.confidence', index=1, number=2, type=2, cpp_type=6, label=1, has_default_value=False, default_value=float(0), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1588,14 +1588,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1beta2.AnalyzeSentimentRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1626,21 +1626,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.AnalyzeSentimentResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='sentences', full_name='google.cloud.language.v1beta2.AnalyzeSentimentResponse.sentences', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1671,14 +1671,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1beta2.AnalyzeEntitySentimentRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1709,14 +1709,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.AnalyzeEntitySentimentResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1747,14 +1747,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1beta2.AnalyzeEntitiesRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1785,14 +1785,14 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.AnalyzeEntitiesResponse.language', index=1, number=2, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1823,14 +1823,14 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1beta2.AnalyzeSyntaxRequest.encoding_type', index=1, number=2, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1861,21 +1861,21 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tokens', full_name='google.cloud.language.v1beta2.AnalyzeSyntaxResponse.tokens', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.AnalyzeSyntaxResponse.language', index=2, number=3, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1906,7 +1906,7 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1937,7 +1937,7 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -1968,35 +1968,35 @@ has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_entities', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.Features.extract_entities', index=1, number=2, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_document_sentiment', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.Features.extract_document_sentiment', index=2, number=3, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='extract_entity_sentiment', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.Features.extract_entity_sentiment', index=3, number=4, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='classify_text', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.Features.classify_text', index=4, number=6, type=8, cpp_type=7, label=1, has_default_value=False, default_value=False, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2026,21 +2026,21 @@ has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='features', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.features', index=1, number=2, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='encoding_type', full_name='google.cloud.language.v1beta2.AnnotateTextRequest.encoding_type', index=2, number=3, type=14, cpp_type=8, label=1, has_default_value=False, default_value=0, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2071,42 +2071,42 @@ has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='tokens', full_name='google.cloud.language.v1beta2.AnnotateTextResponse.tokens', index=1, number=2, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='entities', full_name='google.cloud.language.v1beta2.AnnotateTextResponse.entities', index=2, number=3, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='document_sentiment', full_name='google.cloud.language.v1beta2.AnnotateTextResponse.document_sentiment', index=3, number=4, type=11, cpp_type=10, label=1, has_default_value=False, default_value=None, message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='language', full_name='google.cloud.language.v1beta2.AnnotateTextResponse.language', index=4, number=5, type=9, cpp_type=9, label=1, has_default_value=False, default_value=_b("").decode('utf-8'), message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), _descriptor.FieldDescriptor( name='categories', full_name='google.cloud.language.v1beta2.AnnotateTextResponse.categories', index=5, number=6, type=11, cpp_type=10, label=3, has_default_value=False, default_value=[], message_type=None, enum_type=None, containing_type=None, is_extension=False, extension_scope=None, - options=None), + options=None, file=DESCRIPTOR), ], extensions=[ ], @@ -2771,305 +2771,73 @@ DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\n!com.google.cloud.language.v1beta2B\024LanguageServiceProtoP\001ZEgoogle.golang.org/genproto/googleapis/cloud/language/v1beta2;language')) _ENTITY_METADATAENTRY.has_options = True _ENTITY_METADATAENTRY._options = _descriptor._ParseOptions(descriptor_pb2.MessageOptions(), _b('8\001')) -try: - # THESE ELEMENTS WILL BE DEPRECATED. - # Please use the generated *_pb2_grpc.py files instead. - import grpc - from grpc.beta import implementations as beta_implementations - from grpc.beta import interfaces as beta_interfaces - from grpc.framework.common import cardinality - from grpc.framework.interfaces.face import utilities as face_utilities - - - class LanguageServiceStub(object): - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.AnalyzeSentiment = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/AnalyzeSentiment', - request_serializer=AnalyzeSentimentRequest.SerializeToString, - response_deserializer=AnalyzeSentimentResponse.FromString, - ) - self.AnalyzeEntities = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/AnalyzeEntities', - request_serializer=AnalyzeEntitiesRequest.SerializeToString, - response_deserializer=AnalyzeEntitiesResponse.FromString, - ) - self.AnalyzeEntitySentiment = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/AnalyzeEntitySentiment', - request_serializer=AnalyzeEntitySentimentRequest.SerializeToString, - response_deserializer=AnalyzeEntitySentimentResponse.FromString, - ) - self.AnalyzeSyntax = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/AnalyzeSyntax', - request_serializer=AnalyzeSyntaxRequest.SerializeToString, - response_deserializer=AnalyzeSyntaxResponse.FromString, - ) - self.ClassifyText = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/ClassifyText', - request_serializer=ClassifyTextRequest.SerializeToString, - response_deserializer=ClassifyTextResponse.FromString, - ) - self.AnnotateText = channel.unary_unary( - '/google.cloud.language.v1beta2.LanguageService/AnnotateText', - request_serializer=AnnotateTextRequest.SerializeToString, - response_deserializer=AnnotateTextResponse.FromString, - ) - - - class LanguageServiceServicer(object): - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - - def AnalyzeSentiment(self, request, context): - """Analyzes the sentiment of the provided text. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeEntities(self, request, context): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeEntitySentiment(self, request, context): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1beta2.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnalyzeSyntax(self, request, context): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ClassifyText(self, request, context): - """Classifies a document into categories. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def AnnotateText(self, request, context): - """A convenience method that provides all syntax, sentiment, entity, and - classification features in one call. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - - def add_LanguageServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'AnalyzeSentiment': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeSentiment, - request_deserializer=AnalyzeSentimentRequest.FromString, - response_serializer=AnalyzeSentimentResponse.SerializeToString, - ), - 'AnalyzeEntities': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeEntities, - request_deserializer=AnalyzeEntitiesRequest.FromString, - response_serializer=AnalyzeEntitiesResponse.SerializeToString, - ), - 'AnalyzeEntitySentiment': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeEntitySentiment, - request_deserializer=AnalyzeEntitySentimentRequest.FromString, - response_serializer=AnalyzeEntitySentimentResponse.SerializeToString, - ), - 'AnalyzeSyntax': grpc.unary_unary_rpc_method_handler( - servicer.AnalyzeSyntax, - request_deserializer=AnalyzeSyntaxRequest.FromString, - response_serializer=AnalyzeSyntaxResponse.SerializeToString, - ), - 'ClassifyText': grpc.unary_unary_rpc_method_handler( - servicer.ClassifyText, - request_deserializer=ClassifyTextRequest.FromString, - response_serializer=ClassifyTextResponse.SerializeToString, - ), - 'AnnotateText': grpc.unary_unary_rpc_method_handler( - servicer.AnnotateText, - request_deserializer=AnnotateTextRequest.FromString, - response_serializer=AnnotateTextResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'google.cloud.language.v1beta2.LanguageService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - class BetaLanguageServiceServicer(object): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This class was generated - only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0.""" - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - def AnalyzeSentiment(self, request, context): - """Analyzes the sentiment of the provided text. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeEntities(self, request, context): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeEntitySentiment(self, request, context): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1beta2.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnalyzeSyntax(self, request, context): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def ClassifyText(self, request, context): - """Classifies a document into categories. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - def AnnotateText(self, request, context): - """A convenience method that provides all syntax, sentiment, entity, and - classification features in one call. - """ - context.code(beta_interfaces.StatusCode.UNIMPLEMENTED) - - - class BetaLanguageServiceStub(object): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This class was generated - only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0.""" - """Provides text analysis operations such as sentiment analysis and entity - recognition. - """ - def AnalyzeSentiment(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Analyzes the sentiment of the provided text. - """ - raise NotImplementedError() - AnalyzeSentiment.future = None - def AnalyzeEntities(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Finds named entities (currently proper names and common nouns) in the text - along with entity types, salience, mentions for each entity, and - other properties. - """ - raise NotImplementedError() - AnalyzeEntities.future = None - def AnalyzeEntitySentiment(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Finds entities, similar to [AnalyzeEntities][google.cloud.language.v1beta2.LanguageService.AnalyzeEntities] in the text and analyzes - sentiment associated with each entity and its mentions. - """ - raise NotImplementedError() - AnalyzeEntitySentiment.future = None - def AnalyzeSyntax(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Analyzes the syntax of the text and provides sentence boundaries and - tokenization along with part of speech tags, dependency trees, and other - properties. - """ - raise NotImplementedError() - AnalyzeSyntax.future = None - def ClassifyText(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """Classifies a document into categories. - """ - raise NotImplementedError() - ClassifyText.future = None - def AnnotateText(self, request, timeout, metadata=None, with_call=False, protocol_options=None): - """A convenience method that provides all syntax, sentiment, entity, and - classification features in one call. - """ - raise NotImplementedError() - AnnotateText.future = None - - - def beta_create_LanguageService_server(servicer, pool=None, pool_size=None, default_timeout=None, maximum_timeout=None): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This function was - generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0""" - request_deserializers = { - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesRequest.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentRequest.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentRequest.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxRequest.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnnotateText'): AnnotateTextRequest.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'ClassifyText'): ClassifyTextRequest.FromString, - } - response_serializers = { - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesResponse.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentResponse.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentResponse.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxResponse.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnnotateText'): AnnotateTextResponse.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'ClassifyText'): ClassifyTextResponse.SerializeToString, - } - method_implementations = { - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntities'): face_utilities.unary_unary_inline(servicer.AnalyzeEntities), - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntitySentiment'): face_utilities.unary_unary_inline(servicer.AnalyzeEntitySentiment), - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSentiment'): face_utilities.unary_unary_inline(servicer.AnalyzeSentiment), - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSyntax'): face_utilities.unary_unary_inline(servicer.AnalyzeSyntax), - ('google.cloud.language.v1beta2.LanguageService', 'AnnotateText'): face_utilities.unary_unary_inline(servicer.AnnotateText), - ('google.cloud.language.v1beta2.LanguageService', 'ClassifyText'): face_utilities.unary_unary_inline(servicer.ClassifyText), - } - server_options = beta_implementations.server_options(request_deserializers=request_deserializers, response_serializers=response_serializers, thread_pool=pool, thread_pool_size=pool_size, default_timeout=default_timeout, maximum_timeout=maximum_timeout) - return beta_implementations.server(method_implementations, options=server_options) - - - def beta_create_LanguageService_stub(channel, host=None, metadata_transformer=None, pool=None, pool_size=None): - """The Beta API is deprecated for 0.15.0 and later. - - It is recommended to use the GA API (classes and functions in this - file not marked beta) for all further purposes. This function was - generated only to ease transition from grpcio<0.15.0 to grpcio>=0.15.0""" - request_serializers = { - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesRequest.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentRequest.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentRequest.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxRequest.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'AnnotateText'): AnnotateTextRequest.SerializeToString, - ('google.cloud.language.v1beta2.LanguageService', 'ClassifyText'): ClassifyTextRequest.SerializeToString, - } - response_deserializers = { - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntities'): AnalyzeEntitiesResponse.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeEntitySentiment'): AnalyzeEntitySentimentResponse.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSentiment'): AnalyzeSentimentResponse.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnalyzeSyntax'): AnalyzeSyntaxResponse.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'AnnotateText'): AnnotateTextResponse.FromString, - ('google.cloud.language.v1beta2.LanguageService', 'ClassifyText'): ClassifyTextResponse.FromString, - } - cardinalities = { - 'AnalyzeEntities': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeEntitySentiment': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeSentiment': cardinality.Cardinality.UNARY_UNARY, - 'AnalyzeSyntax': cardinality.Cardinality.UNARY_UNARY, - 'AnnotateText': cardinality.Cardinality.UNARY_UNARY, - 'ClassifyText': cardinality.Cardinality.UNARY_UNARY, - } - stub_options = beta_implementations.stub_options(host=host, metadata_transformer=metadata_transformer, request_serializers=request_serializers, response_deserializers=response_deserializers, thread_pool=pool, thread_pool_size=pool_size) - return beta_implementations.dynamic_stub(channel, 'google.cloud.language.v1beta2.LanguageService', cardinalities, options=stub_options) -except ImportError: - pass + +_LANGUAGESERVICE = _descriptor.ServiceDescriptor( + name='LanguageService', + full_name='google.cloud.language.v1beta2.LanguageService', + file=DESCRIPTOR, + index=0, + options=None, + serialized_start=6998, + serialized_end=8083, + methods=[ + _descriptor.MethodDescriptor( + name='AnalyzeSentiment', + full_name='google.cloud.language.v1beta2.LanguageService.AnalyzeSentiment', + index=0, + containing_service=None, + input_type=_ANALYZESENTIMENTREQUEST, + output_type=_ANALYZESENTIMENTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002(\"#/v1beta2/documents:analyzeSentiment:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeEntities', + full_name='google.cloud.language.v1beta2.LanguageService.AnalyzeEntities', + index=1, + containing_service=None, + input_type=_ANALYZEENTITIESREQUEST, + output_type=_ANALYZEENTITIESRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002\'\"\"/v1beta2/documents:analyzeEntities:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeEntitySentiment', + full_name='google.cloud.language.v1beta2.LanguageService.AnalyzeEntitySentiment', + index=2, + containing_service=None, + input_type=_ANALYZEENTITYSENTIMENTREQUEST, + output_type=_ANALYZEENTITYSENTIMENTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002.\")/v1beta2/documents:analyzeEntitySentiment:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnalyzeSyntax', + full_name='google.cloud.language.v1beta2.LanguageService.AnalyzeSyntax', + index=3, + containing_service=None, + input_type=_ANALYZESYNTAXREQUEST, + output_type=_ANALYZESYNTAXRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002%\" /v1beta2/documents:analyzeSyntax:\001*')), + ), + _descriptor.MethodDescriptor( + name='ClassifyText', + full_name='google.cloud.language.v1beta2.LanguageService.ClassifyText', + index=4, + containing_service=None, + input_type=_CLASSIFYTEXTREQUEST, + output_type=_CLASSIFYTEXTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002$\"\037/v1beta2/documents:classifyText:\001*')), + ), + _descriptor.MethodDescriptor( + name='AnnotateText', + full_name='google.cloud.language.v1beta2.LanguageService.AnnotateText', + index=5, + containing_service=None, + input_type=_ANNOTATETEXTREQUEST, + output_type=_ANNOTATETEXTRESPONSE, + options=_descriptor._ParseOptions(descriptor_pb2.MethodOptions(), _b('\202\323\344\223\002$\"\037/v1beta2/documents:annotateText:\001*')), + ), +]) +_sym_db.RegisterServiceDescriptor(_LANGUAGESERVICE) + +DESCRIPTOR.services_by_name['LanguageService'] = _LANGUAGESERVICE + # @@protoc_insertion_point(module_scope) diff --git a/packages/google-cloud-language/synth.py b/packages/google-cloud-language/synth.py new file mode 100644 index 000000000000..eab04478c63c --- /dev/null +++ b/packages/google-cloud-language/synth.py @@ -0,0 +1,33 @@ +# Copyright 2018 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. + +"""This script is used to synthesize generated parts of this library.""" + +import synthtool as s +from synthtool import gcp + +gapic = gcp.GAPICGenerator() + +versions = ['v1beta2', 'v1'] + + +for version in versions: + library = gapic.py_library( + 'language', + version, + config_path=f'/google/cloud/language/artman_language_{version}.yaml', + artman_output_name=f'language-{version}') + + s.move(library / f'google/cloud/language_{version}/proto') + s.move(library / f'google/cloud/language_{version}/gapic')