structure saas with tools

This commit is contained in:
Davidson Gomes
2025-04-25 15:30:54 -03:00
commit 1aef473937
16434 changed files with 6584257 additions and 0 deletions

View File

@@ -0,0 +1,168 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from google.cloud.speech_v2 import gapic_version as package_version
__version__ = package_version.__version__
from .services.speech import SpeechAsyncClient, SpeechClient
from .types.cloud_speech import (
AutoDetectDecodingConfig,
BatchRecognizeFileMetadata,
BatchRecognizeFileResult,
BatchRecognizeMetadata,
BatchRecognizeRequest,
BatchRecognizeResponse,
BatchRecognizeResults,
BatchRecognizeTranscriptionMetadata,
CloudStorageResult,
Config,
CreateCustomClassRequest,
CreatePhraseSetRequest,
CreateRecognizerRequest,
CustomClass,
DeleteCustomClassRequest,
DeletePhraseSetRequest,
DeleteRecognizerRequest,
ExplicitDecodingConfig,
GcsOutputConfig,
GetConfigRequest,
GetCustomClassRequest,
GetPhraseSetRequest,
GetRecognizerRequest,
InlineOutputConfig,
InlineResult,
ListCustomClassesRequest,
ListCustomClassesResponse,
ListPhraseSetsRequest,
ListPhraseSetsResponse,
ListRecognizersRequest,
ListRecognizersResponse,
NativeOutputFileFormatConfig,
OperationMetadata,
OutputFormatConfig,
PhraseSet,
RecognitionConfig,
RecognitionFeatures,
RecognitionOutputConfig,
RecognitionResponseMetadata,
Recognizer,
RecognizeRequest,
RecognizeResponse,
SpeakerDiarizationConfig,
SpeechAdaptation,
SpeechRecognitionAlternative,
SpeechRecognitionResult,
SrtOutputFileFormatConfig,
StreamingRecognitionConfig,
StreamingRecognitionFeatures,
StreamingRecognitionResult,
StreamingRecognizeRequest,
StreamingRecognizeResponse,
TranscriptNormalization,
TranslationConfig,
UndeleteCustomClassRequest,
UndeletePhraseSetRequest,
UndeleteRecognizerRequest,
UpdateConfigRequest,
UpdateCustomClassRequest,
UpdatePhraseSetRequest,
UpdateRecognizerRequest,
VttOutputFileFormatConfig,
WordInfo,
)
from .types.locations_metadata import (
AccessMetadata,
LanguageMetadata,
LocationsMetadata,
ModelFeature,
ModelFeatures,
ModelMetadata,
)
__all__ = (
"SpeechAsyncClient",
"AccessMetadata",
"AutoDetectDecodingConfig",
"BatchRecognizeFileMetadata",
"BatchRecognizeFileResult",
"BatchRecognizeMetadata",
"BatchRecognizeRequest",
"BatchRecognizeResponse",
"BatchRecognizeResults",
"BatchRecognizeTranscriptionMetadata",
"CloudStorageResult",
"Config",
"CreateCustomClassRequest",
"CreatePhraseSetRequest",
"CreateRecognizerRequest",
"CustomClass",
"DeleteCustomClassRequest",
"DeletePhraseSetRequest",
"DeleteRecognizerRequest",
"ExplicitDecodingConfig",
"GcsOutputConfig",
"GetConfigRequest",
"GetCustomClassRequest",
"GetPhraseSetRequest",
"GetRecognizerRequest",
"InlineOutputConfig",
"InlineResult",
"LanguageMetadata",
"ListCustomClassesRequest",
"ListCustomClassesResponse",
"ListPhraseSetsRequest",
"ListPhraseSetsResponse",
"ListRecognizersRequest",
"ListRecognizersResponse",
"LocationsMetadata",
"ModelFeature",
"ModelFeatures",
"ModelMetadata",
"NativeOutputFileFormatConfig",
"OperationMetadata",
"OutputFormatConfig",
"PhraseSet",
"RecognitionConfig",
"RecognitionFeatures",
"RecognitionOutputConfig",
"RecognitionResponseMetadata",
"RecognizeRequest",
"RecognizeResponse",
"Recognizer",
"SpeakerDiarizationConfig",
"SpeechAdaptation",
"SpeechClient",
"SpeechRecognitionAlternative",
"SpeechRecognitionResult",
"SrtOutputFileFormatConfig",
"StreamingRecognitionConfig",
"StreamingRecognitionFeatures",
"StreamingRecognitionResult",
"StreamingRecognizeRequest",
"StreamingRecognizeResponse",
"TranscriptNormalization",
"TranslationConfig",
"UndeleteCustomClassRequest",
"UndeletePhraseSetRequest",
"UndeleteRecognizerRequest",
"UpdateConfigRequest",
"UpdateCustomClassRequest",
"UpdatePhraseSetRequest",
"UpdateRecognizerRequest",
"VttOutputFileFormatConfig",
"WordInfo",
)

View File

@@ -0,0 +1,373 @@
{
"comment": "This file maps proto services/RPCs to the corresponding library clients/methods",
"language": "python",
"libraryPackage": "google.cloud.speech_v2",
"protoPackage": "google.cloud.speech.v2",
"schema": "1.0",
"services": {
"Speech": {
"clients": {
"grpc": {
"libraryClient": "SpeechClient",
"rpcs": {
"BatchRecognize": {
"methods": [
"batch_recognize"
]
},
"CreateCustomClass": {
"methods": [
"create_custom_class"
]
},
"CreatePhraseSet": {
"methods": [
"create_phrase_set"
]
},
"CreateRecognizer": {
"methods": [
"create_recognizer"
]
},
"DeleteCustomClass": {
"methods": [
"delete_custom_class"
]
},
"DeletePhraseSet": {
"methods": [
"delete_phrase_set"
]
},
"DeleteRecognizer": {
"methods": [
"delete_recognizer"
]
},
"GetConfig": {
"methods": [
"get_config"
]
},
"GetCustomClass": {
"methods": [
"get_custom_class"
]
},
"GetPhraseSet": {
"methods": [
"get_phrase_set"
]
},
"GetRecognizer": {
"methods": [
"get_recognizer"
]
},
"ListCustomClasses": {
"methods": [
"list_custom_classes"
]
},
"ListPhraseSets": {
"methods": [
"list_phrase_sets"
]
},
"ListRecognizers": {
"methods": [
"list_recognizers"
]
},
"Recognize": {
"methods": [
"recognize"
]
},
"StreamingRecognize": {
"methods": [
"streaming_recognize"
]
},
"UndeleteCustomClass": {
"methods": [
"undelete_custom_class"
]
},
"UndeletePhraseSet": {
"methods": [
"undelete_phrase_set"
]
},
"UndeleteRecognizer": {
"methods": [
"undelete_recognizer"
]
},
"UpdateConfig": {
"methods": [
"update_config"
]
},
"UpdateCustomClass": {
"methods": [
"update_custom_class"
]
},
"UpdatePhraseSet": {
"methods": [
"update_phrase_set"
]
},
"UpdateRecognizer": {
"methods": [
"update_recognizer"
]
}
}
},
"grpc-async": {
"libraryClient": "SpeechAsyncClient",
"rpcs": {
"BatchRecognize": {
"methods": [
"batch_recognize"
]
},
"CreateCustomClass": {
"methods": [
"create_custom_class"
]
},
"CreatePhraseSet": {
"methods": [
"create_phrase_set"
]
},
"CreateRecognizer": {
"methods": [
"create_recognizer"
]
},
"DeleteCustomClass": {
"methods": [
"delete_custom_class"
]
},
"DeletePhraseSet": {
"methods": [
"delete_phrase_set"
]
},
"DeleteRecognizer": {
"methods": [
"delete_recognizer"
]
},
"GetConfig": {
"methods": [
"get_config"
]
},
"GetCustomClass": {
"methods": [
"get_custom_class"
]
},
"GetPhraseSet": {
"methods": [
"get_phrase_set"
]
},
"GetRecognizer": {
"methods": [
"get_recognizer"
]
},
"ListCustomClasses": {
"methods": [
"list_custom_classes"
]
},
"ListPhraseSets": {
"methods": [
"list_phrase_sets"
]
},
"ListRecognizers": {
"methods": [
"list_recognizers"
]
},
"Recognize": {
"methods": [
"recognize"
]
},
"StreamingRecognize": {
"methods": [
"streaming_recognize"
]
},
"UndeleteCustomClass": {
"methods": [
"undelete_custom_class"
]
},
"UndeletePhraseSet": {
"methods": [
"undelete_phrase_set"
]
},
"UndeleteRecognizer": {
"methods": [
"undelete_recognizer"
]
},
"UpdateConfig": {
"methods": [
"update_config"
]
},
"UpdateCustomClass": {
"methods": [
"update_custom_class"
]
},
"UpdatePhraseSet": {
"methods": [
"update_phrase_set"
]
},
"UpdateRecognizer": {
"methods": [
"update_recognizer"
]
}
}
},
"rest": {
"libraryClient": "SpeechClient",
"rpcs": {
"BatchRecognize": {
"methods": [
"batch_recognize"
]
},
"CreateCustomClass": {
"methods": [
"create_custom_class"
]
},
"CreatePhraseSet": {
"methods": [
"create_phrase_set"
]
},
"CreateRecognizer": {
"methods": [
"create_recognizer"
]
},
"DeleteCustomClass": {
"methods": [
"delete_custom_class"
]
},
"DeletePhraseSet": {
"methods": [
"delete_phrase_set"
]
},
"DeleteRecognizer": {
"methods": [
"delete_recognizer"
]
},
"GetConfig": {
"methods": [
"get_config"
]
},
"GetCustomClass": {
"methods": [
"get_custom_class"
]
},
"GetPhraseSet": {
"methods": [
"get_phrase_set"
]
},
"GetRecognizer": {
"methods": [
"get_recognizer"
]
},
"ListCustomClasses": {
"methods": [
"list_custom_classes"
]
},
"ListPhraseSets": {
"methods": [
"list_phrase_sets"
]
},
"ListRecognizers": {
"methods": [
"list_recognizers"
]
},
"Recognize": {
"methods": [
"recognize"
]
},
"StreamingRecognize": {
"methods": [
"streaming_recognize"
]
},
"UndeleteCustomClass": {
"methods": [
"undelete_custom_class"
]
},
"UndeletePhraseSet": {
"methods": [
"undelete_phrase_set"
]
},
"UndeleteRecognizer": {
"methods": [
"undelete_recognizer"
]
},
"UpdateConfig": {
"methods": [
"update_config"
]
},
"UpdateCustomClass": {
"methods": [
"update_custom_class"
]
},
"UpdatePhraseSet": {
"methods": [
"update_phrase_set"
]
},
"UpdateRecognizer": {
"methods": [
"update_recognizer"
]
}
}
}
}
}
}
}

View File

@@ -0,0 +1,16 @@
# -*- coding: utf-8 -*-
# Copyright 2025 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
__version__ = "2.32.0" # {x-release-please-version}

View File

@@ -0,0 +1,2 @@
# Marker file for PEP 561.
# The google-cloud-speech package uses inline types.

View File

@@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#

View File

@@ -0,0 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from .async_client import SpeechAsyncClient
from .client import SpeechClient
__all__ = (
"SpeechClient",
"SpeechAsyncClient",
)

View File

@@ -0,0 +1,509 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from typing import (
Any,
AsyncIterator,
Awaitable,
Callable,
Iterator,
Optional,
Sequence,
Tuple,
Union,
)
from google.api_core import gapic_v1
from google.api_core import retry as retries
from google.api_core import retry_async as retries_async
try:
OptionalRetry = Union[retries.Retry, gapic_v1.method._MethodDefault, None]
OptionalAsyncRetry = Union[
retries_async.AsyncRetry, gapic_v1.method._MethodDefault, None
]
except AttributeError: # pragma: NO COVER
OptionalRetry = Union[retries.Retry, object, None] # type: ignore
OptionalAsyncRetry = Union[retries_async.AsyncRetry, object, None] # type: ignore
from google.cloud.speech_v2.types import cloud_speech
class ListRecognizersPager:
"""A pager for iterating through ``list_recognizers`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListRecognizersResponse` object, and
provides an ``__iter__`` method to iterate through its
``recognizers`` field.
If there are more pages, the ``__iter__`` method will make additional
``ListRecognizers`` requests and continue to iterate
through the ``recognizers`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListRecognizersResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., cloud_speech.ListRecognizersResponse],
request: cloud_speech.ListRecognizersRequest,
response: cloud_speech.ListRecognizersResponse,
*,
retry: OptionalRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiate the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListRecognizersRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListRecognizersResponse):
The initial response object.
retry (google.api_core.retry.Retry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListRecognizersRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
def pages(self) -> Iterator[cloud_speech.ListRecognizersResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __iter__(self) -> Iterator[cloud_speech.Recognizer]:
for page in self.pages:
yield from page.recognizers
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
class ListRecognizersAsyncPager:
"""A pager for iterating through ``list_recognizers`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListRecognizersResponse` object, and
provides an ``__aiter__`` method to iterate through its
``recognizers`` field.
If there are more pages, the ``__aiter__`` method will make additional
``ListRecognizers`` requests and continue to iterate
through the ``recognizers`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListRecognizersResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., Awaitable[cloud_speech.ListRecognizersResponse]],
request: cloud_speech.ListRecognizersRequest,
response: cloud_speech.ListRecognizersResponse,
*,
retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiates the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListRecognizersRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListRecognizersResponse):
The initial response object.
retry (google.api_core.retry.AsyncRetry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListRecognizersRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
async def pages(self) -> AsyncIterator[cloud_speech.ListRecognizersResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = await self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __aiter__(self) -> AsyncIterator[cloud_speech.Recognizer]:
async def async_generator():
async for page in self.pages:
for response in page.recognizers:
yield response
return async_generator()
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
class ListCustomClassesPager:
"""A pager for iterating through ``list_custom_classes`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListCustomClassesResponse` object, and
provides an ``__iter__`` method to iterate through its
``custom_classes`` field.
If there are more pages, the ``__iter__`` method will make additional
``ListCustomClasses`` requests and continue to iterate
through the ``custom_classes`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListCustomClassesResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., cloud_speech.ListCustomClassesResponse],
request: cloud_speech.ListCustomClassesRequest,
response: cloud_speech.ListCustomClassesResponse,
*,
retry: OptionalRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiate the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListCustomClassesRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListCustomClassesResponse):
The initial response object.
retry (google.api_core.retry.Retry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListCustomClassesRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
def pages(self) -> Iterator[cloud_speech.ListCustomClassesResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __iter__(self) -> Iterator[cloud_speech.CustomClass]:
for page in self.pages:
yield from page.custom_classes
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
class ListCustomClassesAsyncPager:
"""A pager for iterating through ``list_custom_classes`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListCustomClassesResponse` object, and
provides an ``__aiter__`` method to iterate through its
``custom_classes`` field.
If there are more pages, the ``__aiter__`` method will make additional
``ListCustomClasses`` requests and continue to iterate
through the ``custom_classes`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListCustomClassesResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., Awaitable[cloud_speech.ListCustomClassesResponse]],
request: cloud_speech.ListCustomClassesRequest,
response: cloud_speech.ListCustomClassesResponse,
*,
retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiates the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListCustomClassesRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListCustomClassesResponse):
The initial response object.
retry (google.api_core.retry.AsyncRetry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListCustomClassesRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
async def pages(self) -> AsyncIterator[cloud_speech.ListCustomClassesResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = await self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __aiter__(self) -> AsyncIterator[cloud_speech.CustomClass]:
async def async_generator():
async for page in self.pages:
for response in page.custom_classes:
yield response
return async_generator()
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
class ListPhraseSetsPager:
"""A pager for iterating through ``list_phrase_sets`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListPhraseSetsResponse` object, and
provides an ``__iter__`` method to iterate through its
``phrase_sets`` field.
If there are more pages, the ``__iter__`` method will make additional
``ListPhraseSets`` requests and continue to iterate
through the ``phrase_sets`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListPhraseSetsResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., cloud_speech.ListPhraseSetsResponse],
request: cloud_speech.ListPhraseSetsRequest,
response: cloud_speech.ListPhraseSetsResponse,
*,
retry: OptionalRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiate the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListPhraseSetsRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListPhraseSetsResponse):
The initial response object.
retry (google.api_core.retry.Retry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListPhraseSetsRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
def pages(self) -> Iterator[cloud_speech.ListPhraseSetsResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __iter__(self) -> Iterator[cloud_speech.PhraseSet]:
for page in self.pages:
yield from page.phrase_sets
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)
class ListPhraseSetsAsyncPager:
"""A pager for iterating through ``list_phrase_sets`` requests.
This class thinly wraps an initial
:class:`google.cloud.speech_v2.types.ListPhraseSetsResponse` object, and
provides an ``__aiter__`` method to iterate through its
``phrase_sets`` field.
If there are more pages, the ``__aiter__`` method will make additional
``ListPhraseSets`` requests and continue to iterate
through the ``phrase_sets`` field on the
corresponding responses.
All the usual :class:`google.cloud.speech_v2.types.ListPhraseSetsResponse`
attributes are available on the pager. If multiple requests are made, only
the most recent response is retained, and thus used for attribute lookup.
"""
def __init__(
self,
method: Callable[..., Awaitable[cloud_speech.ListPhraseSetsResponse]],
request: cloud_speech.ListPhraseSetsRequest,
response: cloud_speech.ListPhraseSetsResponse,
*,
retry: OptionalAsyncRetry = gapic_v1.method.DEFAULT,
timeout: Union[float, object] = gapic_v1.method.DEFAULT,
metadata: Sequence[Tuple[str, Union[str, bytes]]] = ()
):
"""Instantiates the pager.
Args:
method (Callable): The method that was originally called, and
which instantiated this pager.
request (google.cloud.speech_v2.types.ListPhraseSetsRequest):
The initial request object.
response (google.cloud.speech_v2.types.ListPhraseSetsResponse):
The initial response object.
retry (google.api_core.retry.AsyncRetry): Designation of what errors,
if any, should be retried.
timeout (float): The timeout for this request.
metadata (Sequence[Tuple[str, Union[str, bytes]]]): Key/value pairs which should be
sent along with the request as metadata. Normally, each value must be of type `str`,
but for metadata keys ending with the suffix `-bin`, the corresponding values must
be of type `bytes`.
"""
self._method = method
self._request = cloud_speech.ListPhraseSetsRequest(request)
self._response = response
self._retry = retry
self._timeout = timeout
self._metadata = metadata
def __getattr__(self, name: str) -> Any:
return getattr(self._response, name)
@property
async def pages(self) -> AsyncIterator[cloud_speech.ListPhraseSetsResponse]:
yield self._response
while self._response.next_page_token:
self._request.page_token = self._response.next_page_token
self._response = await self._method(
self._request,
retry=self._retry,
timeout=self._timeout,
metadata=self._metadata,
)
yield self._response
def __aiter__(self) -> AsyncIterator[cloud_speech.PhraseSet]:
async def async_generator():
async for page in self.pages:
for response in page.phrase_sets:
yield response
return async_generator()
def __repr__(self) -> str:
return "{0}<{1!r}>".format(self.__class__.__name__, self._response)

View File

@@ -0,0 +1,36 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from collections import OrderedDict
from typing import Dict, Type
from .base import SpeechTransport
from .grpc import SpeechGrpcTransport
from .grpc_asyncio import SpeechGrpcAsyncIOTransport
from .rest import SpeechRestInterceptor, SpeechRestTransport
# Compile a registry of transports.
_transport_registry = OrderedDict() # type: Dict[str, Type[SpeechTransport]]
_transport_registry["grpc"] = SpeechGrpcTransport
_transport_registry["grpc_asyncio"] = SpeechGrpcAsyncIOTransport
_transport_registry["rest"] = SpeechRestTransport
__all__ = (
"SpeechTransport",
"SpeechGrpcTransport",
"SpeechGrpcAsyncIOTransport",
"SpeechRestTransport",
"SpeechRestInterceptor",
)

View File

@@ -0,0 +1,574 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
import abc
from typing import Awaitable, Callable, Dict, Optional, Sequence, Union
import google.api_core
from google.api_core import exceptions as core_exceptions
from google.api_core import gapic_v1, operations_v1
from google.api_core import retry as retries
import google.auth # type: ignore
from google.auth import credentials as ga_credentials # type: ignore
from google.cloud.location import locations_pb2 # type: ignore
from google.longrunning import operations_pb2 # type: ignore
from google.oauth2 import service_account # type: ignore
from google.cloud.speech_v2 import gapic_version as package_version
from google.cloud.speech_v2.types import cloud_speech
DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo(
gapic_version=package_version.__version__
)
class SpeechTransport(abc.ABC):
"""Abstract transport class for Speech."""
AUTH_SCOPES = ("https://www.googleapis.com/auth/cloud-platform",)
DEFAULT_HOST: str = "speech.googleapis.com"
def __init__(
self,
*,
host: str = DEFAULT_HOST,
credentials: Optional[ga_credentials.Credentials] = None,
credentials_file: Optional[str] = None,
scopes: Optional[Sequence[str]] = None,
quota_project_id: Optional[str] = None,
client_info: gapic_v1.client_info.ClientInfo = DEFAULT_CLIENT_INFO,
always_use_jwt_access: Optional[bool] = False,
api_audience: Optional[str] = None,
**kwargs,
) -> None:
"""Instantiate the transport.
Args:
host (Optional[str]):
The hostname to connect to (default: 'speech.googleapis.com').
credentials (Optional[google.auth.credentials.Credentials]): The
authorization credentials to attach to requests. These
credentials identify the application to the service; if none
are specified, the client will attempt to ascertain the
credentials from the environment.
credentials_file (Optional[str]): A file with credentials that can
be loaded with :func:`google.auth.load_credentials_from_file`.
This argument is mutually exclusive with credentials.
scopes (Optional[Sequence[str]]): A list of scopes.
quota_project_id (Optional[str]): An optional project to use for billing
and quota.
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.
always_use_jwt_access (Optional[bool]): Whether self signed JWT should
be used for service account credentials.
"""
scopes_kwargs = {"scopes": scopes, "default_scopes": self.AUTH_SCOPES}
# Save the scopes.
self._scopes = scopes
if not hasattr(self, "_ignore_credentials"):
self._ignore_credentials: bool = False
# If no credentials are provided, then determine the appropriate
# defaults.
if credentials and credentials_file:
raise core_exceptions.DuplicateCredentialArgs(
"'credentials_file' and 'credentials' are mutually exclusive"
)
if credentials_file is not None:
credentials, _ = google.auth.load_credentials_from_file(
credentials_file, **scopes_kwargs, quota_project_id=quota_project_id
)
elif credentials is None and not self._ignore_credentials:
credentials, _ = google.auth.default(
**scopes_kwargs, quota_project_id=quota_project_id
)
# Don't apply audience if the credentials file passed from user.
if hasattr(credentials, "with_gdch_audience"):
credentials = credentials.with_gdch_audience(
api_audience if api_audience else host
)
# If the credentials are service account credentials, then always try to use self signed JWT.
if (
always_use_jwt_access
and isinstance(credentials, service_account.Credentials)
and hasattr(service_account.Credentials, "with_always_use_jwt_access")
):
credentials = credentials.with_always_use_jwt_access(True)
# Save the credentials.
self._credentials = credentials
# Save the hostname. Default to port 443 (HTTPS) if none is specified.
if ":" not in host:
host += ":443"
self._host = host
@property
def host(self):
return self._host
def _prep_wrapped_messages(self, client_info):
# Precompute the wrapped methods.
self._wrapped_methods = {
self.create_recognizer: gapic_v1.method.wrap_method(
self.create_recognizer,
default_timeout=None,
client_info=client_info,
),
self.list_recognizers: gapic_v1.method.wrap_method(
self.list_recognizers,
default_timeout=None,
client_info=client_info,
),
self.get_recognizer: gapic_v1.method.wrap_method(
self.get_recognizer,
default_timeout=None,
client_info=client_info,
),
self.update_recognizer: gapic_v1.method.wrap_method(
self.update_recognizer,
default_timeout=None,
client_info=client_info,
),
self.delete_recognizer: gapic_v1.method.wrap_method(
self.delete_recognizer,
default_timeout=None,
client_info=client_info,
),
self.undelete_recognizer: gapic_v1.method.wrap_method(
self.undelete_recognizer,
default_timeout=None,
client_info=client_info,
),
self.recognize: gapic_v1.method.wrap_method(
self.recognize,
default_timeout=None,
client_info=client_info,
),
self.streaming_recognize: gapic_v1.method.wrap_method(
self.streaming_recognize,
default_timeout=None,
client_info=client_info,
),
self.batch_recognize: gapic_v1.method.wrap_method(
self.batch_recognize,
default_timeout=None,
client_info=client_info,
),
self.get_config: gapic_v1.method.wrap_method(
self.get_config,
default_timeout=None,
client_info=client_info,
),
self.update_config: gapic_v1.method.wrap_method(
self.update_config,
default_timeout=None,
client_info=client_info,
),
self.create_custom_class: gapic_v1.method.wrap_method(
self.create_custom_class,
default_timeout=None,
client_info=client_info,
),
self.list_custom_classes: gapic_v1.method.wrap_method(
self.list_custom_classes,
default_timeout=None,
client_info=client_info,
),
self.get_custom_class: gapic_v1.method.wrap_method(
self.get_custom_class,
default_timeout=None,
client_info=client_info,
),
self.update_custom_class: gapic_v1.method.wrap_method(
self.update_custom_class,
default_timeout=None,
client_info=client_info,
),
self.delete_custom_class: gapic_v1.method.wrap_method(
self.delete_custom_class,
default_timeout=None,
client_info=client_info,
),
self.undelete_custom_class: gapic_v1.method.wrap_method(
self.undelete_custom_class,
default_timeout=None,
client_info=client_info,
),
self.create_phrase_set: gapic_v1.method.wrap_method(
self.create_phrase_set,
default_timeout=None,
client_info=client_info,
),
self.list_phrase_sets: gapic_v1.method.wrap_method(
self.list_phrase_sets,
default_timeout=None,
client_info=client_info,
),
self.get_phrase_set: gapic_v1.method.wrap_method(
self.get_phrase_set,
default_timeout=None,
client_info=client_info,
),
self.update_phrase_set: gapic_v1.method.wrap_method(
self.update_phrase_set,
default_timeout=None,
client_info=client_info,
),
self.delete_phrase_set: gapic_v1.method.wrap_method(
self.delete_phrase_set,
default_timeout=None,
client_info=client_info,
),
self.undelete_phrase_set: gapic_v1.method.wrap_method(
self.undelete_phrase_set,
default_timeout=None,
client_info=client_info,
),
self.get_location: gapic_v1.method.wrap_method(
self.get_location,
default_timeout=None,
client_info=client_info,
),
self.list_locations: gapic_v1.method.wrap_method(
self.list_locations,
default_timeout=None,
client_info=client_info,
),
self.cancel_operation: gapic_v1.method.wrap_method(
self.cancel_operation,
default_timeout=None,
client_info=client_info,
),
self.delete_operation: gapic_v1.method.wrap_method(
self.delete_operation,
default_timeout=None,
client_info=client_info,
),
self.get_operation: gapic_v1.method.wrap_method(
self.get_operation,
default_timeout=None,
client_info=client_info,
),
self.list_operations: gapic_v1.method.wrap_method(
self.list_operations,
default_timeout=None,
client_info=client_info,
),
}
def close(self):
"""Closes resources associated with the transport.
.. warning::
Only call this method if the transport is NOT shared
with other clients - this may cause errors in other clients!
"""
raise NotImplementedError()
@property
def operations_client(self):
"""Return the client designed to process long-running operations."""
raise NotImplementedError()
@property
def create_recognizer(
self,
) -> Callable[
[cloud_speech.CreateRecognizerRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def list_recognizers(
self,
) -> Callable[
[cloud_speech.ListRecognizersRequest],
Union[
cloud_speech.ListRecognizersResponse,
Awaitable[cloud_speech.ListRecognizersResponse],
],
]:
raise NotImplementedError()
@property
def get_recognizer(
self,
) -> Callable[
[cloud_speech.GetRecognizerRequest],
Union[cloud_speech.Recognizer, Awaitable[cloud_speech.Recognizer]],
]:
raise NotImplementedError()
@property
def update_recognizer(
self,
) -> Callable[
[cloud_speech.UpdateRecognizerRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def delete_recognizer(
self,
) -> Callable[
[cloud_speech.DeleteRecognizerRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def undelete_recognizer(
self,
) -> Callable[
[cloud_speech.UndeleteRecognizerRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def recognize(
self,
) -> Callable[
[cloud_speech.RecognizeRequest],
Union[
cloud_speech.RecognizeResponse, Awaitable[cloud_speech.RecognizeResponse]
],
]:
raise NotImplementedError()
@property
def streaming_recognize(
self,
) -> Callable[
[cloud_speech.StreamingRecognizeRequest],
Union[
cloud_speech.StreamingRecognizeResponse,
Awaitable[cloud_speech.StreamingRecognizeResponse],
],
]:
raise NotImplementedError()
@property
def batch_recognize(
self,
) -> Callable[
[cloud_speech.BatchRecognizeRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def get_config(
self,
) -> Callable[
[cloud_speech.GetConfigRequest],
Union[cloud_speech.Config, Awaitable[cloud_speech.Config]],
]:
raise NotImplementedError()
@property
def update_config(
self,
) -> Callable[
[cloud_speech.UpdateConfigRequest],
Union[cloud_speech.Config, Awaitable[cloud_speech.Config]],
]:
raise NotImplementedError()
@property
def create_custom_class(
self,
) -> Callable[
[cloud_speech.CreateCustomClassRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def list_custom_classes(
self,
) -> Callable[
[cloud_speech.ListCustomClassesRequest],
Union[
cloud_speech.ListCustomClassesResponse,
Awaitable[cloud_speech.ListCustomClassesResponse],
],
]:
raise NotImplementedError()
@property
def get_custom_class(
self,
) -> Callable[
[cloud_speech.GetCustomClassRequest],
Union[cloud_speech.CustomClass, Awaitable[cloud_speech.CustomClass]],
]:
raise NotImplementedError()
@property
def update_custom_class(
self,
) -> Callable[
[cloud_speech.UpdateCustomClassRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def delete_custom_class(
self,
) -> Callable[
[cloud_speech.DeleteCustomClassRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def undelete_custom_class(
self,
) -> Callable[
[cloud_speech.UndeleteCustomClassRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def create_phrase_set(
self,
) -> Callable[
[cloud_speech.CreatePhraseSetRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def list_phrase_sets(
self,
) -> Callable[
[cloud_speech.ListPhraseSetsRequest],
Union[
cloud_speech.ListPhraseSetsResponse,
Awaitable[cloud_speech.ListPhraseSetsResponse],
],
]:
raise NotImplementedError()
@property
def get_phrase_set(
self,
) -> Callable[
[cloud_speech.GetPhraseSetRequest],
Union[cloud_speech.PhraseSet, Awaitable[cloud_speech.PhraseSet]],
]:
raise NotImplementedError()
@property
def update_phrase_set(
self,
) -> Callable[
[cloud_speech.UpdatePhraseSetRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def delete_phrase_set(
self,
) -> Callable[
[cloud_speech.DeletePhraseSetRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def undelete_phrase_set(
self,
) -> Callable[
[cloud_speech.UndeletePhraseSetRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def list_operations(
self,
) -> Callable[
[operations_pb2.ListOperationsRequest],
Union[
operations_pb2.ListOperationsResponse,
Awaitable[operations_pb2.ListOperationsResponse],
],
]:
raise NotImplementedError()
@property
def get_operation(
self,
) -> Callable[
[operations_pb2.GetOperationRequest],
Union[operations_pb2.Operation, Awaitable[operations_pb2.Operation]],
]:
raise NotImplementedError()
@property
def cancel_operation(
self,
) -> Callable[[operations_pb2.CancelOperationRequest], None,]:
raise NotImplementedError()
@property
def delete_operation(
self,
) -> Callable[[operations_pb2.DeleteOperationRequest], None,]:
raise NotImplementedError()
@property
def get_location(
self,
) -> Callable[
[locations_pb2.GetLocationRequest],
Union[locations_pb2.Location, Awaitable[locations_pb2.Location]],
]:
raise NotImplementedError()
@property
def list_locations(
self,
) -> Callable[
[locations_pb2.ListLocationsRequest],
Union[
locations_pb2.ListLocationsResponse,
Awaitable[locations_pb2.ListLocationsResponse],
],
]:
raise NotImplementedError()
@property
def kind(self) -> str:
raise NotImplementedError()
__all__ = ("SpeechTransport",)

View File

@@ -0,0 +1,160 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from .cloud_speech import (
AutoDetectDecodingConfig,
BatchRecognizeFileMetadata,
BatchRecognizeFileResult,
BatchRecognizeMetadata,
BatchRecognizeRequest,
BatchRecognizeResponse,
BatchRecognizeResults,
BatchRecognizeTranscriptionMetadata,
CloudStorageResult,
Config,
CreateCustomClassRequest,
CreatePhraseSetRequest,
CreateRecognizerRequest,
CustomClass,
DeleteCustomClassRequest,
DeletePhraseSetRequest,
DeleteRecognizerRequest,
ExplicitDecodingConfig,
GcsOutputConfig,
GetConfigRequest,
GetCustomClassRequest,
GetPhraseSetRequest,
GetRecognizerRequest,
InlineOutputConfig,
InlineResult,
ListCustomClassesRequest,
ListCustomClassesResponse,
ListPhraseSetsRequest,
ListPhraseSetsResponse,
ListRecognizersRequest,
ListRecognizersResponse,
NativeOutputFileFormatConfig,
OperationMetadata,
OutputFormatConfig,
PhraseSet,
RecognitionConfig,
RecognitionFeatures,
RecognitionOutputConfig,
RecognitionResponseMetadata,
Recognizer,
RecognizeRequest,
RecognizeResponse,
SpeakerDiarizationConfig,
SpeechAdaptation,
SpeechRecognitionAlternative,
SpeechRecognitionResult,
SrtOutputFileFormatConfig,
StreamingRecognitionConfig,
StreamingRecognitionFeatures,
StreamingRecognitionResult,
StreamingRecognizeRequest,
StreamingRecognizeResponse,
TranscriptNormalization,
TranslationConfig,
UndeleteCustomClassRequest,
UndeletePhraseSetRequest,
UndeleteRecognizerRequest,
UpdateConfigRequest,
UpdateCustomClassRequest,
UpdatePhraseSetRequest,
UpdateRecognizerRequest,
VttOutputFileFormatConfig,
WordInfo,
)
from .locations_metadata import (
AccessMetadata,
LanguageMetadata,
LocationsMetadata,
ModelFeature,
ModelFeatures,
ModelMetadata,
)
__all__ = (
"AutoDetectDecodingConfig",
"BatchRecognizeFileMetadata",
"BatchRecognizeFileResult",
"BatchRecognizeMetadata",
"BatchRecognizeRequest",
"BatchRecognizeResponse",
"BatchRecognizeResults",
"BatchRecognizeTranscriptionMetadata",
"CloudStorageResult",
"Config",
"CreateCustomClassRequest",
"CreatePhraseSetRequest",
"CreateRecognizerRequest",
"CustomClass",
"DeleteCustomClassRequest",
"DeletePhraseSetRequest",
"DeleteRecognizerRequest",
"ExplicitDecodingConfig",
"GcsOutputConfig",
"GetConfigRequest",
"GetCustomClassRequest",
"GetPhraseSetRequest",
"GetRecognizerRequest",
"InlineOutputConfig",
"InlineResult",
"ListCustomClassesRequest",
"ListCustomClassesResponse",
"ListPhraseSetsRequest",
"ListPhraseSetsResponse",
"ListRecognizersRequest",
"ListRecognizersResponse",
"NativeOutputFileFormatConfig",
"OperationMetadata",
"OutputFormatConfig",
"PhraseSet",
"RecognitionConfig",
"RecognitionFeatures",
"RecognitionOutputConfig",
"RecognitionResponseMetadata",
"Recognizer",
"RecognizeRequest",
"RecognizeResponse",
"SpeakerDiarizationConfig",
"SpeechAdaptation",
"SpeechRecognitionAlternative",
"SpeechRecognitionResult",
"SrtOutputFileFormatConfig",
"StreamingRecognitionConfig",
"StreamingRecognitionFeatures",
"StreamingRecognitionResult",
"StreamingRecognizeRequest",
"StreamingRecognizeResponse",
"TranscriptNormalization",
"TranslationConfig",
"UndeleteCustomClassRequest",
"UndeletePhraseSetRequest",
"UndeleteRecognizerRequest",
"UpdateConfigRequest",
"UpdateCustomClassRequest",
"UpdatePhraseSetRequest",
"UpdateRecognizerRequest",
"VttOutputFileFormatConfig",
"WordInfo",
"AccessMetadata",
"LanguageMetadata",
"LocationsMetadata",
"ModelFeature",
"ModelFeatures",
"ModelMetadata",
)

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,169 @@
# -*- coding: utf-8 -*-
# Copyright 2025 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.
#
from __future__ import annotations
from typing import MutableMapping, MutableSequence
import proto # type: ignore
__protobuf__ = proto.module(
package="google.cloud.speech.v2",
manifest={
"ModelFeature",
"ModelFeatures",
"ModelMetadata",
"LanguageMetadata",
"AccessMetadata",
"LocationsMetadata",
},
)
class ModelFeature(proto.Message):
r"""Representes a singular feature of a model. If the feature is
``recognizer``, the release_state of the feature represents the
release_state of the model
Attributes:
feature (str):
The name of the feature (Note: the feature can be
``recognizer``)
release_state (str):
The release state of the feature
"""
feature: str = proto.Field(
proto.STRING,
number=1,
)
release_state: str = proto.Field(
proto.STRING,
number=2,
)
class ModelFeatures(proto.Message):
r"""Represents the collection of features belonging to a model
Attributes:
model_feature (MutableSequence[google.cloud.speech_v2.types.ModelFeature]):
Repeated field that contains all features of
the model
"""
model_feature: MutableSequence["ModelFeature"] = proto.RepeatedField(
proto.MESSAGE,
number=1,
message="ModelFeature",
)
class ModelMetadata(proto.Message):
r"""The metadata about the models in a given region for a
specific locale. Currently this is just the features of the
model
Attributes:
model_features (MutableMapping[str, google.cloud.speech_v2.types.ModelFeatures]):
Map of the model name -> features of that
model
"""
model_features: MutableMapping[str, "ModelFeatures"] = proto.MapField(
proto.STRING,
proto.MESSAGE,
number=1,
message="ModelFeatures",
)
class LanguageMetadata(proto.Message):
r"""The metadata about locales available in a given region.
Currently this is just the models that are available for each
locale
Attributes:
models (MutableMapping[str, google.cloud.speech_v2.types.ModelMetadata]):
Map of locale (language code) -> models
"""
models: MutableMapping[str, "ModelMetadata"] = proto.MapField(
proto.STRING,
proto.MESSAGE,
number=1,
message="ModelMetadata",
)
class AccessMetadata(proto.Message):
r"""The access metadata for a particular region. This can be
applied if the org policy for the given project disallows a
particular region.
Attributes:
constraint_type (google.cloud.speech_v2.types.AccessMetadata.ConstraintType):
Describes the different types of constraints
that are applied.
"""
class ConstraintType(proto.Enum):
r"""Describes the different types of constraints that can be
applied on a region.
Values:
CONSTRAINT_TYPE_UNSPECIFIED (0):
Unspecified constraint applied.
RESOURCE_LOCATIONS_ORG_POLICY_CREATE_CONSTRAINT (1):
The project's org policy disallows the given
region.
"""
CONSTRAINT_TYPE_UNSPECIFIED = 0
RESOURCE_LOCATIONS_ORG_POLICY_CREATE_CONSTRAINT = 1
constraint_type: ConstraintType = proto.Field(
proto.ENUM,
number=1,
enum=ConstraintType,
)
class LocationsMetadata(proto.Message):
r"""Main metadata for the Locations API for STT V2. Currently
this is just the metadata about locales, models, and features
Attributes:
languages (google.cloud.speech_v2.types.LanguageMetadata):
Information about available locales, models,
and features represented in the hierarchical
structure of locales -> models -> features
access_metadata (google.cloud.speech_v2.types.AccessMetadata):
Information about access metadata for the
region and given project.
"""
languages: "LanguageMetadata" = proto.Field(
proto.MESSAGE,
number=1,
message="LanguageMetadata",
)
access_metadata: "AccessMetadata" = proto.Field(
proto.MESSAGE,
number=2,
message="AccessMetadata",
)
__all__ = tuple(sorted(__protobuf__.manifest))