Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translate_v3_batch_translate_text_with_glossary_test: test_batch_translate_text_with_glossary failed #4239

Closed
flaky-bot bot opened this issue Jul 4, 2020 · 5 comments · Fixed by #4247 or #4357
Assignees
Labels
priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@flaky-bot
Copy link

flaky-bot bot commented Jul 4, 2020

This test failed!

To configure my behavior, see the Build Cop Bot documentation.

If I'm commenting on this issue too often, add the buildcop: quiet label and
I will stop commenting.


commit: 51a66f9
buildURL: Build Status, Sponge
status: failed

Test output
target = functools.partial(>)
predicate = .if_exception_type_predicate at 0x7f0d25184400>
sleep_generator = 
deadline = 180, on_error = None
def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
          return target()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:184:


self = <google.api_core.operation.Operation object at 0x7f0d220e70f0>

def _done_or_raise(self):
    """Check if the future is done and raise if it's not."""
    if not self.done():
      raise _OperationNotComplete()

E google.api_core.future.polling._OperationNotComplete

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:84: _OperationNotComplete

The above exception was the direct cause of the following exception:

self = <google.api_core.operation.Operation object at 0x7f0d220e70f0>
timeout = 180

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
      retry_(self._done_or_raise)()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:104:


args = (), kwargs = {}
target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f0d220e70f0>>)
sleep_generator = <generator object exponential_sleep_generator at 0x7f0d220c6e08>

@general_helpers.wraps(func)
def retry_wrapped_func(*args, **kwargs):
    """A wrapper that calls target function with retry."""
    target = functools.partial(func, *args, **kwargs)
    sleep_generator = exponential_sleep_generator(
        self._initial, self._maximum, multiplier=self._multiplier
    )
    return retry_target(
        target,
        self._predicate,
        sleep_generator,
        self._deadline,
      on_error=on_error,
    )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:286:


target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f0d220e70f0>>)
predicate = <function if_exception_type..if_exception_type_predicate at 0x7f0d25184400>
sleep_generator = <generator object exponential_sleep_generator at 0x7f0d220c6e08>
deadline = 180, on_error = None

def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
            return target()

        # pylint: disable=broad-except
        # This function explicitly must deal with broad exceptions.
        except Exception as exc:
            if not predicate(exc):
                raise
            last_exc = exc
            if on_error is not None:
                on_error(exc)

        now = datetime_helpers.utcnow()

        if deadline_datetime is not None:
            if deadline_datetime <= now:
                six.raise_from(
                    exceptions.RetryError(
                        "Deadline of {:.1f}s exceeded while calling {}".format(
                            deadline, target
                        ),
                        last_exc,
                    ),
                  last_exc,
                )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:206:


value = None, from_value = _OperationNotComplete()

???
E google.api_core.exceptions.RetryError: Deadline of 180.0s exceeded while calling functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f0d220e70f0>>), last exception:

:3: RetryError

During handling of the above exception, another exception occurred:

capsys = <_pytest.capture.CaptureFixture object at 0x7f0d2204d6a0>
bucket = <Bucket: tmp-345cb7a7dfce4c27a5116d4e7c04fd3e>
glossary = 'test-8763692c-e018-4ef7-b87e-b4a4df543853'

@pytest.mark.flaky(max_runs=3, min_passes=1)
def test_batch_translate_text_with_glossary(capsys, bucket, glossary):
    translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary(
        "gs://cloud-samples-data/translation/text_with_glossary.txt",
        "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name),
        PROJECT_ID,
      glossary,
    )

translate_v3_batch_translate_text_with_glossary_test.py:75:


translate_v3_batch_translate_text_with_glossary.py:68: in batch_translate_text_with_glossary
response = operation.result(180)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:125: in result
self._blocking_poll(timeout=timeout)


self = <google.api_core.operation.Operation object at 0x7f0d220e70f0>
timeout = 180

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
        retry_(self._done_or_raise)()
    except exceptions.RetryError:
        raise concurrent.futures.TimeoutError(
          "Operation did not complete within the designated " "timeout."
        )

E concurrent.futures._base.TimeoutError: Operation did not complete within the designated timeout.

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:107: TimeoutError

@flaky-bot flaky-bot bot added buildcop: issue priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. labels Jul 4, 2020
@flaky-bot
Copy link
Author

flaky-bot bot commented Jul 4, 2020

Looks like this issue is flaky. 😟

I'm going to leave this open and stop commenting.

A human should fix and close this.


When run at the same commit (51a66f9), this test passed in one build (Build Status, Sponge) and failed in another build (Build Status, Sponge).

@tmatsuo tmatsuo assigned tmatsuo and unassigned leahecole Jul 6, 2020
tmatsuo pushed a commit to tmatsuo/python-docs-samples that referenced this issue Jul 6, 2020
tmatsuo pushed a commit that referenced this issue Jul 6, 2020
fixes #4239
(by specifying a longer timeout)
@flaky-bot flaky-bot bot reopened this Jul 12, 2020
@flaky-bot
Copy link
Author

flaky-bot bot commented Jul 12, 2020

Oops! Looks like this issue is still flaky. It failed again. 😬

I reopened the issue, but a human will need to close it again.


commit: 899251e
buildURL: Build Status, Sponge
status: failed

Test output
target = functools.partial(>)
predicate = .if_exception_type_predicate at 0x7f305ed06598>
sleep_generator = 
deadline = 240, on_error = None
def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
          return target()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:184:


self = <google.api_core.operation.Operation object at 0x7f305c3cb198>

def _done_or_raise(self):
    """Check if the future is done and raise if it's not."""
    if not self.done():
      raise _OperationNotComplete()

E google.api_core.future.polling._OperationNotComplete

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:84: _OperationNotComplete

The above exception was the direct cause of the following exception:

self = <google.api_core.operation.Operation object at 0x7f305c3cb198>
timeout = 240

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
      retry_(self._done_or_raise)()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:104:


args = (), kwargs = {}
target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f305c3cb198>>)
sleep_generator = <generator object exponential_sleep_generator at 0x7f305c3188e0>

@general_helpers.wraps(func)
def retry_wrapped_func(*args, **kwargs):
    """A wrapper that calls target function with retry."""
    target = functools.partial(func, *args, **kwargs)
    sleep_generator = exponential_sleep_generator(
        self._initial, self._maximum, multiplier=self._multiplier
    )
    return retry_target(
        target,
        self._predicate,
        sleep_generator,
        self._deadline,
      on_error=on_error,
    )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:286:


target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f305c3cb198>>)
predicate = <function if_exception_type..if_exception_type_predicate at 0x7f305ed06598>
sleep_generator = <generator object exponential_sleep_generator at 0x7f305c3188e0>
deadline = 240, on_error = None

def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
            return target()

        # pylint: disable=broad-except
        # This function explicitly must deal with broad exceptions.
        except Exception as exc:
            if not predicate(exc):
                raise
            last_exc = exc
            if on_error is not None:
                on_error(exc)

        now = datetime_helpers.utcnow()

        if deadline_datetime is not None:
            if deadline_datetime <= now:
                six.raise_from(
                    exceptions.RetryError(
                        "Deadline of {:.1f}s exceeded while calling {}".format(
                            deadline, target
                        ),
                        last_exc,
                    ),
                  last_exc,
                )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:206:


value = None, from_value = _OperationNotComplete()

???
E google.api_core.exceptions.RetryError: Deadline of 240.0s exceeded while calling functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f305c3cb198>>), last exception:

:3: RetryError

During handling of the above exception, another exception occurred:

capsys = <_pytest.capture.CaptureFixture object at 0x7f305c34d358>
bucket = <Bucket: tmp-02a8da71ec504d0da6d7b03a19d90c4e>
glossary = 'test-109d706e-9871-44d4-b9ff-b7625fe42fa4'

@pytest.mark.flaky(max_runs=3, min_passes=1)
def test_batch_translate_text_with_glossary(capsys, bucket, glossary):
    translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary(
        "gs://cloud-samples-data/translation/text_with_glossary.txt",
        "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name),
        PROJECT_ID,
        glossary,
      240
    )

translate_v3_batch_translate_text_with_glossary_test.py:76:


translate_v3_batch_translate_text_with_glossary.py:69: in batch_translate_text_with_glossary
response = operation.result(timeout)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:125: in result
self._blocking_poll(timeout=timeout)


self = <google.api_core.operation.Operation object at 0x7f305c3cb198>
timeout = 240

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
        retry_(self._done_or_raise)()
    except exceptions.RetryError:
        raise concurrent.futures.TimeoutError(
          "Operation did not complete within the designated " "timeout."
        )

E concurrent.futures._base.TimeoutError: Operation did not complete within the designated timeout.

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:107: TimeoutError

@yoshi-automation yoshi-automation added the 🚨 This issue needs some love. label Jul 12, 2020
@tmatsuo
Copy link
Contributor

tmatsuo commented Jul 13, 2020

There's not much we can do in the code IMO. Downgrading to p2.

@tmatsuo tmatsuo added priority: p2 Moderately-important priority. Fix may not be included in next release. and removed 🚨 This issue needs some love. priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. labels Jul 13, 2020
@tmatsuo
Copy link
Contributor

tmatsuo commented Jul 16, 2020

I'm fine with a little bit of flakiness as long as it's not happening too often.

@tmatsuo tmatsuo closed this as completed Jul 16, 2020
@flaky-bot flaky-bot bot reopened this Jul 20, 2020
@flaky-bot
Copy link
Author

flaky-bot bot commented Jul 20, 2020

Oops! Looks like this issue is still flaky. It failed again. 😬

I reopened the issue, but a human will need to close it again.


commit: 3e55269
buildURL: Build Status, Sponge
status: failed

Test output
target = functools.partial(>)
predicate = .if_exception_type_predicate at 0x7f06a8159158>
sleep_generator = 
deadline = 240, on_error = None
def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
          return target()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:184:


self = <google.api_core.operation.Operation object at 0x7f06a4fc0940>

def _done_or_raise(self):
    """Check if the future is done and raise if it's not."""
    if not self.done():
      raise _OperationNotComplete()

E google.api_core.future.polling._OperationNotComplete

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:84: _OperationNotComplete

The above exception was the direct cause of the following exception:

self = <google.api_core.operation.Operation object at 0x7f06a4fc0940>
timeout = 240

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
      retry_(self._done_or_raise)()

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:104:


args = (), kwargs = {}
target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f06a4fc0940>>)
sleep_generator = <generator object exponential_sleep_generator at 0x7f06a4ff0200>

@general_helpers.wraps(func)
def retry_wrapped_func(*args, **kwargs):
    """A wrapper that calls target function with retry."""
    target = functools.partial(func, *args, **kwargs)
    sleep_generator = exponential_sleep_generator(
        self._initial, self._maximum, multiplier=self._multiplier
    )
    return retry_target(
        target,
        self._predicate,
        sleep_generator,
        self._deadline,
      on_error=on_error,
    )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:286:


target = functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f06a4fc0940>>)
predicate = <function if_exception_type..if_exception_type_predicate at 0x7f06a8159158>
sleep_generator = <generator object exponential_sleep_generator at 0x7f06a4ff0200>
deadline = 240, on_error = None

def retry_target(target, predicate, sleep_generator, deadline, on_error=None):
    """Call a function and retry if it fails.

    This is the lowest-level retry helper. Generally, you'll use the
    higher-level retry helper :class:`Retry`.

    Args:
        target(Callable): The function to call and retry. This must be a
            nullary function - apply arguments with `functools.partial`.
        predicate (Callable[Exception]): A callable used to determine if an
            exception raised by the target should be considered retryable.
            It should return True to retry or False otherwise.
        sleep_generator (Iterable[float]): An infinite iterator that determines
            how long to sleep between retries.
        deadline (float): How long to keep retrying the target. The last sleep
            period is shortened as necessary, so that the last retry runs at
            ``deadline`` (and not considerably beyond it).
        on_error (Callable[Exception]): A function to call while processing a
            retryable exception.  Any error raised by this function will *not*
            be caught.

    Returns:
        Any: the return value of the target function.

    Raises:
        google.api_core.RetryError: If the deadline is exceeded while retrying.
        ValueError: If the sleep generator stops yielding values.
        Exception: If the target raises a method that isn't retryable.
    """
    if deadline is not None:
        deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(
            seconds=deadline
        )
    else:
        deadline_datetime = None

    last_exc = None

    for sleep in sleep_generator:
        try:
            return target()

        # pylint: disable=broad-except
        # This function explicitly must deal with broad exceptions.
        except Exception as exc:
            if not predicate(exc):
                raise
            last_exc = exc
            if on_error is not None:
                on_error(exc)

        now = datetime_helpers.utcnow()

        if deadline_datetime is not None:
            if deadline_datetime <= now:
                six.raise_from(
                    exceptions.RetryError(
                        "Deadline of {:.1f}s exceeded while calling {}".format(
                            deadline, target
                        ),
                        last_exc,
                    ),
                  last_exc,
                )

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/retry.py:206:


value = None, from_value = _OperationNotComplete()

???
E google.api_core.exceptions.RetryError: Deadline of 240.0s exceeded while calling functools.partial(<bound method PollingFuture._done_or_raise of <google.api_core.operation.Operation object at 0x7f06a4fc0940>>), last exception:

:3: RetryError

During handling of the above exception, another exception occurred:

capsys = <_pytest.capture.CaptureFixture object at 0x7f06a7f980b8>
bucket = <Bucket: tmp-a20fcb41c45c48339c9a1d5a07ff438d>
glossary = 'test-a9729035-dc3a-4db4-8cb8-3816437ce891'

@pytest.mark.flaky(max_runs=3, min_passes=1)
def test_batch_translate_text_with_glossary(capsys, bucket, glossary):
    translate_v3_batch_translate_text_with_glossary.batch_translate_text_with_glossary(
        "gs://cloud-samples-data/translation/text_with_glossary.txt",
        "gs://{}/translation/BATCH_TRANSLATION_OUTPUT/".format(bucket.name),
        PROJECT_ID,
        glossary,
      240
    )

translate_v3_batch_translate_text_with_glossary_test.py:76:


translate_v3_batch_translate_text_with_glossary.py:69: in batch_translate_text_with_glossary
response = operation.result(timeout)
.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:125: in result
self._blocking_poll(timeout=timeout)


self = <google.api_core.operation.Operation object at 0x7f06a4fc0940>
timeout = 240

def _blocking_poll(self, timeout=None):
    """Poll and wait for the Future to be resolved.

    Args:
        timeout (int):
            How long (in seconds) to wait for the operation to complete.
            If None, wait indefinitely.
    """
    if self._result_set:
        return

    retry_ = self._retry.with_deadline(timeout)

    try:
        retry_(self._done_or_raise)()
    except exceptions.RetryError:
        raise concurrent.futures.TimeoutError(
          "Operation did not complete within the designated " "timeout."
        )

E concurrent.futures._base.TimeoutError: Operation did not complete within the designated timeout.

.nox/py-3-6/lib/python3.6/site-packages/google/api_core/future/polling.py:107: TimeoutError

telpirion pushed a commit that referenced this issue Nov 16, 2022
telpirion pushed a commit that referenced this issue Nov 16, 2022
* Add new "quickstart" samples [(#547)](#547)

* Quickstart tests [(#569)](#569)

* Add tests for quickstarts
* Update secrets

* Add translate samples [(#574)](#574)

* Generate most non-appengine readmes

Change-Id: I3779282126cdd05b047194d356932b9995484115

* Update requirements.txt

* added model in the sample [(#650)](#650)

* added with and without model separately [(#657)](#657)

* Translate API no longer requires an API key. [(#659)](#659)

* Auto-update dependencies. [(#715)](#715)

* Changes default model to premium [(#749)](#749)

* Updates readme template to show credential auth instead of api key. [(#802)](#802)

* Updates translate version to match speech and language. [(#843)](#843)

* Translate update [(#886)](#886)

* Remove cloud config fixture [(#887)](#887)

* Remove cloud config fixture

* Fix client secrets

* Fix bigtable instance

* Unicode for translation

* Adds check for translated text

* Unicode for translation

* Unicode for translation

* Unicode for translation

* missing newline

* Adds six for 2/3 compatibility

* Changes encoding style.

* Fix unicode

* renaming of the product to Google Translation API [(#910)](#910)

* Update translate readme

* Re-generate all readmes

* Fix README rst links [(#962)](#962)

* Fix README rst links

* Update all READMEs

* Auto-update dependencies. [(#1004)](#1004)

* Auto-update dependencies.

* Fix natural language samples

* Fix pubsub iam samples

* Fix language samples

* Fix bigquery samples

* Auto-update dependencies. [(#1055)](#1055)

* Auto-update dependencies.

* Explicitly use latest bigtable client

Change-Id: Id71e9e768f020730e4ca9514a0d7ebaa794e7d9e

* Revert language update for now

Change-Id: I8867f154e9a5aae00d0047c9caf880e5e8f50c53

* Remove pdb. smh

Change-Id: I5ff905fadc026eebbcd45512d4e76e003e3b2b43

* Auto-update dependencies. [(#1093)](#1093)

* Auto-update dependencies.

* Fix storage notification poll sample

Change-Id: I6afbc79d15e050531555e4c8e51066996717a0f3

* Fix spanner samples

Change-Id: I40069222c60d57e8f3d3878167591af9130895cb

* Drop coverage because it's not useful

Change-Id: Iae399a7083d7866c3c7b9162d0de244fbff8b522

* Try again to fix flaky logging test

Change-Id: I6225c074701970c17c426677ef1935bb6d7e36b4

* Update all generated readme auth instructions [(#1121)](#1121)

Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2

* Added Link to Python Setup Guide [(#1158)](#1158)

* Update Readme.rst to add Python setup guide

As requested in b/64770713.

This sample is linked in documentation https://cloud.google.com/bigtable/docs/scaling, and it would make more sense to update the guide here than in the documentation.

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update install_deps.tmpl.rst

* Updated readmegen scripts and re-generated related README files

* Fixed the lint error

* Auto-update dependencies. [(#1186)](#1186)

* Fixed failed tests on Kokoro (Spanner + Translate) [(#1192)](#1192)

* Fixed failed tests on Kokoro (Spanner + Translate)

* Update quickstart_test.py

* Added "Open in Cloud Shell" buttons to README files [(#1254)](#1254)

* Auto-update dependencies. [(#1377)](#1377)

* Auto-update dependencies.

* Update requirements.txt

* Regenerate the README files and fix the Open in Cloud Shell link for some samples [(#1441)](#1441)

* Update READMEs to fix numbering and add git clone [(#1464)](#1464)

* Add translate region tags [(#1488)](#1488)

* Add region tags

* Added end region tags

* Linting errors fixed

* Include the comma in the translation [(#1787)](#1787)

* Auto-update dependencies. [(#1980)](#1980)

* Auto-update dependencies.

* Update requirements.txt

* Update requirements.txt

* Translation v3beta1 samples [(#2084)](#2084)

* Add in progress beta snippets

Change-Id: I2cd8ddc2307a8e40d56ce7e493749dc05c34d164

* Add google-cloud-storage dependency

Change-Id: Iff7bc9b2c82b1e829580a3d4ad628087dbeee8be

* Non-'global' location required for BatchTranslateText

Change-Id: I5198aa6368a088e8f5ee295dc55a5e9e4ca8f494

* Upgrade google-cloud-translate to 1.4.0

1.4.0 includes the new v3beta1 alongside V2

Change-Id: I5adfe78ea7e78d84678db343cd84516e3d05491f

* Update Translate samples

You can now provide your own glossary ID

The tests now run within a randomly created bucket (deleted after each
test)

Change-Id: I5cb2680cd0e9e43c85932a6a0dc19e6fab5008c5

* pytest.fixture for random test bucket

Change-Id: I8e816ed4c95a6235347a29849044b4cab02d40a8

* flake8 spec fixes

Change-Id: I4932bcf856a9498b01d9661c90c6b45ee2958ee1

* Added pytest fixture for creating glossary (WIP)

Change-Id: Iddb5ecbf0eefb9efd2243dc4bc56b585102e9351

* Add assertions, remove placeholder TODOs

Change-Id: If1eb20bca5bfcc87dd0652d5488b2188afa626af

* fixing translate-with-glossary bug [(#2323)](#2323)

* Translate beta samples fix [(#2327)](#2327)

* fixing translate-with-glossary bug

* tests passing

* reverting to python3 compatibility

* snippets test fix

* Using glossaries with tts and vision tutorial sample code [(#2325)](#2325)

* fixing translate-with-glossary bug

* initial commit

* adding resources

* adding more resources

* glossary accomodates upper case words

* finished hybrid glossaries tutorial sample code

* Revert "fixing translate-with-glossary bug"

This reverts commit 6a9f7ca.

* lint fix for tests. TODO src lint fix

* lint

* it's the final lint-down

* adding README

* implementing @nnegrey's feedback

* lint

* lint

* extracting files from cloud-client

* lint comment test

* fixing comments per @beccasaurus

* removing redundant directory

* implementing @nnegrey's feedback

* lint

* lint

* handling glossary-already-exists exception

* lint

* adding ssml functionality

* fixing imports per @nnegrey

* fixed import comment

* more specific exceptions import

* removing period from copyright

* fix: refactored MP3 file creation test for Hybrid glossaries samples [(#2379)](#2379)

* fix: refactored MP3 file creation test

* fix: lint

* Fix variable names in comments [(#2400)](#2400)

* Adds updates for samples profiler ... vision [(#2439)](#2439)

* Update v2 samples to explicitly use v2 library [(#2498)](#2498)

* fix: translate test [(#2671)](#2671)

* fix: translate test

* Add unicode formatting

* automl: add natural language sentiment analysis ga samples [(#2677)](#2677)

* automl: add natural language sentiment analysis ga samples

* Add links to documentation

* Update tests to use centralized project

* Fix environment variable, make translate test less flaky

* fix region tag typo [(#2731)](#2731)

* Migrate published samples [(#2759)](#2759)

Migrate from tmp-generated-samples branch 615c08e
Remove boilerplate
Update copyright date
Blacken
Remove unused imports
Shorten docstrings
Remove CLI
Set defaults in function definition
Add link to supported types guide
Inline function arguments
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* translate v3 snippets [(#2745)](#2745)

* translate text v3

* added translate text with glossary snippets

* finished glossary tests

* removed overlapping files

* added encoding tag

* added more descriptive docs and broke down tests

* Update translate/cloud-client/translate_v3_create_glossary.py

Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* Update translate/cloud-client/translate_v3_create_glossary.py

Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* fixed test for translate with glossary

* fixed lint

Co-authored-by: Michelle Casbon <texasmichelle@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* Translate: migrate published samples [(#2768)](#2768)

Migrate from tmp-generated-samples branch 615c08e
Remove boilerplate
Update copyright date
Blacken
Remove unused imports

* Translate: migrate published glossaries samples [(#2769)](#2769)

Migrate from tmp-generated-samples branch fef998b
Remove boilerplate
Update copyright date
Blacken
Remove unused imports
Shorten docstrings
Remove CLI

* translate: increase timeout [(#2937)](#2937)

* Translate: migrate published  v3 translate batch samples [(#2914)](#2914)

* Translate: migrate published b v3 tch samples

* added missing requirements

* extended wait time

* inlined some vals and specified input and output

* added link to supported file types & modified default values of input uri

* fixed small nit

* chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](#3046)

* chore(deps): update dependency google-cloud-storage to v1.26.0

* chore(deps): specify dependencies by python version

* chore: up other deps to try to remove errors

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Leah Cole <coleleah@google.com>

* chore(deps): update dependency google-cloud-translate to v1.7.0 [(#3084)](#3084)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-translate](https://github.com/googleapis/python-translate) | minor | `==1.6.0` -> `==1.7.0` |

---

### Release Notes

<details>
<summary>googleapis/python-translate</summary>

### [`v1.7.0`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;170)

[Compare Source](https://github.com/googleapis/python-translate/compare/v1.6.0...v1.7.0)

10-07-2019 14:57 PDT

##### Implementation Changes

-   Update docstrings, client confg (via synth). ([#&#8203;9411](https://github.com/googleapis/google-cloud-python/pull/9411))
-   Remove send / receive message size limit (via synth). ([#&#8203;8974](https://github.com/googleapis/google-cloud-python/pull/8974))

##### New Features

-   Add support for V3 of the API. ([#&#8203;9020](https://github.com/googleapis/google-cloud-python/pull/9020))
-   Make `parent` argument required for all client methods in v3beta1; add `labels` argument (via synth). ([#&#8203;9354](https://github.com/googleapis/google-cloud-python/pull/9354))
-   Add client options to translate_v2. ([#&#8203;8737](https://github.com/googleapis/google-cloud-python/pull/8737))

##### Dependencies

-   Bump minimum version for google-api-core to 1.14.0. ([#&#8203;8709](https://github.com/googleapis/google-cloud-python/pull/8709))

##### Documentation

-   Fix links to reference documentation. ([#&#8203;8884](https://github.com/googleapis/google-cloud-python/pull/8884))
-   Link to googleapis.dev documentation in READMEs. ([#&#8203;8705](https://github.com/googleapis/google-cloud-python/pull/8705))

##### Internal / Testing Changes

-   Update `ListGlossaries` method annotation (via synth)  ([#&#8203;9385](https://github.com/googleapis/google-cloud-python/pull/9385))
-   Fix intersphinx reference to requests ([#&#8203;9294](https://github.com/googleapis/google-cloud-python/pull/9294))
-   Remove CI for gh-pages, use googleapis.dev for api_core refs. ([#&#8203;9085](https://github.com/googleapis/google-cloud-python/pull/9085))
-   Update intersphinx mapping for requests. ([#&#8203;8805](https://github.com/googleapis/google-cloud-python/pull/8805))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* translate: fix tests [(#3087)](#3087)

Fix: #3018

* translate-v3:  samples [(#3034)](#3034)

* translate with custom model, get supported langs

* inlined small nit

* added encoding to model test

* added missing region tags and link to supported langs

* inlined text-to-translate

* directly inlined contents

* revert text-translate vars

* reversed inlined text params

* small nit

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](#3170)

* chore(deps): update dependency google-cloud-texttospeech to v1 [(#3210)](#3210)

Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>

* chore(deps): update dependency google-cloud-translate to v2 [(#3211)](#3211)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-translate](https://github.com/googleapis/python-translate) | major | `==1.7.0` -> `==2.0.1` |

---

### Release Notes

<details>
<summary>googleapis/python-translate</summary>

### [`v2.0.1`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;201-httpswwwgithubcomgoogleapispython-translatecomparev200v201-2020-01-31)

[Compare Source](https://github.com/googleapis/python-translate/compare/v2.0.0...v2.0.1)

### [`v2.0.0`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;200)

[Compare Source](https://github.com/googleapis/python-translate/compare/v1.7.0...v2.0.0)

10-23-2019 11:13 PDT

##### New Features

-   Make v3 the default client. ([#&#8203;9498](https://github.com/googleapis/google-cloud-python/pull/9498))

##### Internal / Testing Changes

-   Add VPC-SC system tests. ([#&#8203;9272](https://github.com/googleapis/google-cloud-python/pull/9272))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* Simplify noxfile setup. [(#2806)](#2806)

* chore(deps): update dependency requests to v2.23.0

* Simplify noxfile and add version control.

* Configure appengine/standard to only test Python 2.7.

* Update Kokokro configs to match noxfile.

* Add requirements-test to each folder.

* Remove Py2 versions from everything execept appengine/standard.

* Remove conftest.py.

* Remove appengine/standard/conftest.py

* Remove 'no-sucess-flaky-report' from pytest.ini.

* Add GAE SDK back to appengine/standard tests.

* Fix typo.

* Roll pytest to python 2 version.

* Add a bunch of testing requirements.

* Remove typo.

* Add appengine lib directory back in.

* Add some additional requirements.

* Fix issue with flake8 args.

* Even more requirements.

* Readd appengine conftest.py.

* Add a few more requirements.

* Even more Appengine requirements.

* Add webtest for appengine/standard/mailgun.

* Add some additional requirements.

* Add workaround for issue with mailjet-rest.

* Add responses for appengine/standard/mailjet.

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update dependency google-cloud-vision to v1 [(#3227)](#3227)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-vision](https://github.com/googleapis/python-vision) | major | `==0.42.0` -> `==1.0.0` |

---

### Release Notes

<details>
<summary>googleapis/python-vision</summary>

### [`v1.0.0`](https://github.com/googleapis/python-vision/blob/master/CHANGELOG.md#&#8203;100-httpswwwgithubcomgoogleapispython-visioncomparev0420v100-2020-02-28)

[Compare Source](https://github.com/googleapis/python-vision/compare/v0.42.0...v1.0.0)

##### Features

-   bump release status to GA ([#&#8203;11](https://www.github.com/googleapis/python-vision/issues/11)) ([2129bde](https://www.github.com/googleapis/python-vision/commit/2129bdedfa0dca85c5adc5350bff10d4a485df77))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* translate: make test generic [(#3386)](#3386)

Fix: #3381

* [translate] fix: mark some tests as flaky [(#3495)](#3495)

tests which involve LRO.

fixes #2875

* testing: replace @flaky with @pytest.mark.flaky [(#3496)](#3496)

* testing: replace @flaky with @pytest.mark.flaky

* lint

* mark few tests as flaky

that involves LRO polling.

* lint

* chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](#3260)

Co-authored-by: Takashi Matsuo <tmatsuo@google.com>

* translate: fix glossary leak issue [(#3572)](#3572)

* fix glossary leak issue

* removed try/catch from teardown methods, removed sample_ prefix from all other methods

* added specific exceptions to tests, added backoff tags to tests

* fixed the lint issues

* reordered imports

* moved backoff inside methd and removed Retry

* corrected import nit

* chore: some lint fixes [(#3751)](#3751)

* chore: some lint fixes

* longer timeout, more retries

* disable detect_test.py::test_async_detect_document

* chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](#3785)

* chore(deps): update dependency google-cloud-storage to v1.28.1

* [asset] testing: use uuid instead of time

Co-authored-by: Takashi Matsuo <tmatsuo@google.com>

* [translate] fix hybrid glossaries tests [(#3936)](#3936)

* testing: start using btlr [(#3959)](#3959)

* testing: start using btlr

The binary is at gs://cloud-devrel-kokoro-resources/btlr/v0.0.1/btlr

* add period after DIFF_FROM

* use array for btlr args

* fix websocket tests

* add debug message

* wait longer for the server to spin up

* dlp: bump the wait timeout to 10 minutes

* [run] copy noxfile.py to child directory to avoid gcloud issue

* [iam] fix: only display description when the key exists

* use uuid4 instead of uuid1

* [iot] testing: use the same format for registry id

* Stop asserting Out of memory not in the output

* fix missing imports

* [dns] testing: more retries with delay

* [dlp] testing: longer timeout

* use the max-concurrency flag

* use 30 workers

* [monitoring] use multiple projects

* [dlp] testing: longer timeout

* Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](#4022)

* remove whitelist replace with allowlist [(#4050)](#4050)

* chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](#4040)

* chore(deps): update dependency google-cloud-texttospeech to v2.1.0 [(#4147)](#4147)

* testing(translate): parameterize the timeout [(#4247)](#4247)

fixes #4239
(by specifying a longer timeout)

* chore(deps): update dependency pytest to v5.4.3 [(#4279)](#4279)

* chore(deps): update dependency pytest to v5.4.3

* specify pytest for python 2 in appengine

Co-authored-by: Leah Cole <coleleah@google.com>

* Update dependency flaky to v3.7.0 [(#4300)](#4300)

* testing(translate): bump the timeout for operations [(#4258)](#4258)

fixes #4220

* chore: update templates

* chore: narrows samples CODEOWNERS to .py only

* chore: wip migration to microgenerator
client, units, docs complete

* feat!: move API to python microgenerator

* docs: readmegen updates

* chore: add build config for docs-presubmit

* chore: rm protos

* chore: uses PROJECT_ID env var in system test

* chore: clarifies examples in migration guide

* chore: adds explicit variable

Co-authored-by: Jason Dobry <jmdobry@users.noreply.github.com>
Co-authored-by: Jon Wayne Parrott <jonwayne@google.com>
Co-authored-by: Puneith Kaul <puneith@users.noreply.github.com>
Co-authored-by: DPE bot <dpebot@google.com>
Co-authored-by: Gus Class <gguuss@gmail.com>
Co-authored-by: florencep <florenceperot@google.com>
Co-authored-by: Bill Prin <waprin@gmail.com>
Co-authored-by: michaelawyu <chenyumic@google.com>
Co-authored-by: Frank Natividad <frankyn@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Charles Engelke <github@engelke.com>
Co-authored-by: Rebecca Taylor <remilytaylor@gmail.com>
Co-authored-by: Elizabeth Crowdus <elcrowdus@gmail.com>
Co-authored-by: Noah Negrey <nnegrey@users.noreply.github.com>
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Michelle Casbon <texasmichelle@users.noreply.github.com>
Co-authored-by: Mike <45373284+munkhuushmgl@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Leah Cole <coleleah@google.com>
Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
Co-authored-by: Takashi Matsuo <tmatsuo@google.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
dandhlee pushed a commit that referenced this issue Nov 18, 2022
dandhlee pushed a commit that referenced this issue Nov 18, 2022
* Add new "quickstart" samples [(#547)](#547)

* Quickstart tests [(#569)](#569)

* Add tests for quickstarts
* Update secrets

* Add translate samples [(#574)](#574)

* Generate most non-appengine readmes

Change-Id: I3779282126cdd05b047194d356932b9995484115

* Update requirements.txt

* added model in the sample [(#650)](#650)

* added with and without model separately [(#657)](#657)

* Translate API no longer requires an API key. [(#659)](#659)

* Auto-update dependencies. [(#715)](#715)

* Changes default model to premium [(#749)](#749)

* Updates readme template to show credential auth instead of api key. [(#802)](#802)

* Updates translate version to match speech and language. [(#843)](#843)

* Translate update [(#886)](#886)

* Remove cloud config fixture [(#887)](#887)

* Remove cloud config fixture

* Fix client secrets

* Fix bigtable instance

* Unicode for translation

* Adds check for translated text

* Unicode for translation

* Unicode for translation

* Unicode for translation

* missing newline

* Adds six for 2/3 compatibility

* Changes encoding style.

* Fix unicode

* renaming of the product to Google Translation API [(#910)](#910)

* Update translate readme

* Re-generate all readmes

* Fix README rst links [(#962)](#962)

* Fix README rst links

* Update all READMEs

* Auto-update dependencies. [(#1004)](#1004)

* Auto-update dependencies.

* Fix natural language samples

* Fix pubsub iam samples

* Fix language samples

* Fix bigquery samples

* Auto-update dependencies. [(#1055)](#1055)

* Auto-update dependencies.

* Explicitly use latest bigtable client

Change-Id: Id71e9e768f020730e4ca9514a0d7ebaa794e7d9e

* Revert language update for now

Change-Id: I8867f154e9a5aae00d0047c9caf880e5e8f50c53

* Remove pdb. smh

Change-Id: I5ff905fadc026eebbcd45512d4e76e003e3b2b43

* Auto-update dependencies. [(#1093)](#1093)

* Auto-update dependencies.

* Fix storage notification poll sample

Change-Id: I6afbc79d15e050531555e4c8e51066996717a0f3

* Fix spanner samples

Change-Id: I40069222c60d57e8f3d3878167591af9130895cb

* Drop coverage because it's not useful

Change-Id: Iae399a7083d7866c3c7b9162d0de244fbff8b522

* Try again to fix flaky logging test

Change-Id: I6225c074701970c17c426677ef1935bb6d7e36b4

* Update all generated readme auth instructions [(#1121)](#1121)

Change-Id: I03b5eaef8b17ac3dc3c0339fd2c7447bd3e11bd2

* Added Link to Python Setup Guide [(#1158)](#1158)

* Update Readme.rst to add Python setup guide

As requested in b/64770713.

This sample is linked in documentation https://cloud.google.com/bigtable/docs/scaling, and it would make more sense to update the guide here than in the documentation.

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update README.rst

* Update install_deps.tmpl.rst

* Updated readmegen scripts and re-generated related README files

* Fixed the lint error

* Auto-update dependencies. [(#1186)](#1186)

* Fixed failed tests on Kokoro (Spanner + Translate) [(#1192)](#1192)

* Fixed failed tests on Kokoro (Spanner + Translate)

* Update quickstart_test.py

* Added "Open in Cloud Shell" buttons to README files [(#1254)](#1254)

* Auto-update dependencies. [(#1377)](#1377)

* Auto-update dependencies.

* Update requirements.txt

* Regenerate the README files and fix the Open in Cloud Shell link for some samples [(#1441)](#1441)

* Update READMEs to fix numbering and add git clone [(#1464)](#1464)

* Add translate region tags [(#1488)](#1488)

* Add region tags

* Added end region tags

* Linting errors fixed

* Include the comma in the translation [(#1787)](#1787)

* Auto-update dependencies. [(#1980)](#1980)

* Auto-update dependencies.

* Update requirements.txt

* Update requirements.txt

* Translation v3beta1 samples [(#2084)](#2084)

* Add in progress beta snippets

Change-Id: I2cd8ddc2307a8e40d56ce7e493749dc05c34d164

* Add google-cloud-storage dependency

Change-Id: Iff7bc9b2c82b1e829580a3d4ad628087dbeee8be

* Non-'global' location required for BatchTranslateText

Change-Id: I5198aa6368a088e8f5ee295dc55a5e9e4ca8f494

* Upgrade google-cloud-translate to 1.4.0

1.4.0 includes the new v3beta1 alongside V2

Change-Id: I5adfe78ea7e78d84678db343cd84516e3d05491f

* Update Translate samples

You can now provide your own glossary ID

The tests now run within a randomly created bucket (deleted after each
test)

Change-Id: I5cb2680cd0e9e43c85932a6a0dc19e6fab5008c5

* pytest.fixture for random test bucket

Change-Id: I8e816ed4c95a6235347a29849044b4cab02d40a8

* flake8 spec fixes

Change-Id: I4932bcf856a9498b01d9661c90c6b45ee2958ee1

* Added pytest fixture for creating glossary (WIP)

Change-Id: Iddb5ecbf0eefb9efd2243dc4bc56b585102e9351

* Add assertions, remove placeholder TODOs

Change-Id: If1eb20bca5bfcc87dd0652d5488b2188afa626af

* fixing translate-with-glossary bug [(#2323)](#2323)

* Translate beta samples fix [(#2327)](#2327)

* fixing translate-with-glossary bug

* tests passing

* reverting to python3 compatibility

* snippets test fix

* Using glossaries with tts and vision tutorial sample code [(#2325)](#2325)

* fixing translate-with-glossary bug

* initial commit

* adding resources

* adding more resources

* glossary accomodates upper case words

* finished hybrid glossaries tutorial sample code

* Revert "fixing translate-with-glossary bug"

This reverts commit 6a9f7ca.

* lint fix for tests. TODO src lint fix

* lint

* it's the final lint-down

* adding README

* implementing @nnegrey's feedback

* lint

* lint

* extracting files from cloud-client

* lint comment test

* fixing comments per @beccasaurus

* removing redundant directory

* implementing @nnegrey's feedback

* lint

* lint

* handling glossary-already-exists exception

* lint

* adding ssml functionality

* fixing imports per @nnegrey

* fixed import comment

* more specific exceptions import

* removing period from copyright

* fix: refactored MP3 file creation test for Hybrid glossaries samples [(#2379)](#2379)

* fix: refactored MP3 file creation test

* fix: lint

* Fix variable names in comments [(#2400)](#2400)

* Adds updates for samples profiler ... vision [(#2439)](#2439)

* Update v2 samples to explicitly use v2 library [(#2498)](#2498)

* fix: translate test [(#2671)](#2671)

* fix: translate test

* Add unicode formatting

* automl: add natural language sentiment analysis ga samples [(#2677)](#2677)

* automl: add natural language sentiment analysis ga samples

* Add links to documentation

* Update tests to use centralized project

* Fix environment variable, make translate test less flaky

* fix region tag typo [(#2731)](#2731)

* Migrate published samples [(#2759)](#2759)

Migrate from tmp-generated-samples branch 615c08e
Remove boilerplate
Update copyright date
Blacken
Remove unused imports
Shorten docstrings
Remove CLI
Set defaults in function definition
Add link to supported types guide
Inline function arguments
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* translate v3 snippets [(#2745)](#2745)

* translate text v3

* added translate text with glossary snippets

* finished glossary tests

* removed overlapping files

* added encoding tag

* added more descriptive docs and broke down tests

* Update translate/cloud-client/translate_v3_create_glossary.py

Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* Update translate/cloud-client/translate_v3_create_glossary.py

Co-Authored-By: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* fixed test for translate with glossary

* fixed lint

Co-authored-by: Michelle Casbon <texasmichelle@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>

* Translate: migrate published samples [(#2768)](#2768)

Migrate from tmp-generated-samples branch 615c08e
Remove boilerplate
Update copyright date
Blacken
Remove unused imports

* Translate: migrate published glossaries samples [(#2769)](#2769)

Migrate from tmp-generated-samples branch fef998b
Remove boilerplate
Update copyright date
Blacken
Remove unused imports
Shorten docstrings
Remove CLI

* translate: increase timeout [(#2937)](#2937)

* Translate: migrate published  v3 translate batch samples [(#2914)](#2914)

* Translate: migrate published b v3 tch samples

* added missing requirements

* extended wait time

* inlined some vals and specified input and output

* added link to supported file types & modified default values of input uri

* fixed small nit

* chore(deps): update dependency google-cloud-storage to v1.26.0 [(#3046)](#3046)

* chore(deps): update dependency google-cloud-storage to v1.26.0

* chore(deps): specify dependencies by python version

* chore: up other deps to try to remove errors

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Leah Cole <coleleah@google.com>

* chore(deps): update dependency google-cloud-translate to v1.7.0 [(#3084)](#3084)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-translate](https://github.com/googleapis/python-translate) | minor | `==1.6.0` -> `==1.7.0` |

---

### Release Notes

<details>
<summary>googleapis/python-translate</summary>

### [`v1.7.0`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;170)

[Compare Source](https://github.com/googleapis/python-translate/compare/v1.6.0...v1.7.0)

10-07-2019 14:57 PDT

##### Implementation Changes

-   Update docstrings, client confg (via synth). ([#&#8203;9411](https://github.com/googleapis/google-cloud-python/pull/9411))
-   Remove send / receive message size limit (via synth). ([#&#8203;8974](https://github.com/googleapis/google-cloud-python/pull/8974))

##### New Features

-   Add support for V3 of the API. ([#&#8203;9020](https://github.com/googleapis/google-cloud-python/pull/9020))
-   Make `parent` argument required for all client methods in v3beta1; add `labels` argument (via synth). ([#&#8203;9354](https://github.com/googleapis/google-cloud-python/pull/9354))
-   Add client options to translate_v2. ([#&#8203;8737](https://github.com/googleapis/google-cloud-python/pull/8737))

##### Dependencies

-   Bump minimum version for google-api-core to 1.14.0. ([#&#8203;8709](https://github.com/googleapis/google-cloud-python/pull/8709))

##### Documentation

-   Fix links to reference documentation. ([#&#8203;8884](https://github.com/googleapis/google-cloud-python/pull/8884))
-   Link to googleapis.dev documentation in READMEs. ([#&#8203;8705](https://github.com/googleapis/google-cloud-python/pull/8705))

##### Internal / Testing Changes

-   Update `ListGlossaries` method annotation (via synth)  ([#&#8203;9385](https://github.com/googleapis/google-cloud-python/pull/9385))
-   Fix intersphinx reference to requests ([#&#8203;9294](https://github.com/googleapis/google-cloud-python/pull/9294))
-   Remove CI for gh-pages, use googleapis.dev for api_core refs. ([#&#8203;9085](https://github.com/googleapis/google-cloud-python/pull/9085))
-   Update intersphinx mapping for requests. ([#&#8203;8805](https://github.com/googleapis/google-cloud-python/pull/8805))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* translate: fix tests [(#3087)](#3087)

Fix: #3018

* translate-v3:  samples [(#3034)](#3034)

* translate with custom model, get supported langs

* inlined small nit

* added encoding to model test

* added missing region tags and link to supported langs

* inlined text-to-translate

* directly inlined contents

* revert text-translate vars

* reversed inlined text params

* small nit

Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>

* chore(deps): update dependency google-cloud-vision to v0.42.0 [(#3170)](#3170)

* chore(deps): update dependency google-cloud-texttospeech to v1 [(#3210)](#3210)

Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>

* chore(deps): update dependency google-cloud-translate to v2 [(#3211)](#3211)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-translate](https://github.com/googleapis/python-translate) | major | `==1.7.0` -> `==2.0.1` |

---

### Release Notes

<details>
<summary>googleapis/python-translate</summary>

### [`v2.0.1`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;201-httpswwwgithubcomgoogleapispython-translatecomparev200v201-2020-01-31)

[Compare Source](https://github.com/googleapis/python-translate/compare/v2.0.0...v2.0.1)

### [`v2.0.0`](https://github.com/googleapis/python-translate/blob/master/CHANGELOG.md#&#8203;200)

[Compare Source](https://github.com/googleapis/python-translate/compare/v1.7.0...v2.0.0)

10-23-2019 11:13 PDT

##### New Features

-   Make v3 the default client. ([#&#8203;9498](https://github.com/googleapis/google-cloud-python/pull/9498))

##### Internal / Testing Changes

-   Add VPC-SC system tests. ([#&#8203;9272](https://github.com/googleapis/google-cloud-python/pull/9272))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* Simplify noxfile setup. [(#2806)](#2806)

* chore(deps): update dependency requests to v2.23.0

* Simplify noxfile and add version control.

* Configure appengine/standard to only test Python 2.7.

* Update Kokokro configs to match noxfile.

* Add requirements-test to each folder.

* Remove Py2 versions from everything execept appengine/standard.

* Remove conftest.py.

* Remove appengine/standard/conftest.py

* Remove 'no-sucess-flaky-report' from pytest.ini.

* Add GAE SDK back to appengine/standard tests.

* Fix typo.

* Roll pytest to python 2 version.

* Add a bunch of testing requirements.

* Remove typo.

* Add appengine lib directory back in.

* Add some additional requirements.

* Fix issue with flake8 args.

* Even more requirements.

* Readd appengine conftest.py.

* Add a few more requirements.

* Even more Appengine requirements.

* Add webtest for appengine/standard/mailgun.

* Add some additional requirements.

* Add workaround for issue with mailjet-rest.

* Add responses for appengine/standard/mailjet.

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Update dependency google-cloud-vision to v1 [(#3227)](#3227)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [google-cloud-vision](https://github.com/googleapis/python-vision) | major | `==0.42.0` -> `==1.0.0` |

---

### Release Notes

<details>
<summary>googleapis/python-vision</summary>

### [`v1.0.0`](https://github.com/googleapis/python-vision/blob/master/CHANGELOG.md#&#8203;100-httpswwwgithubcomgoogleapispython-visioncomparev0420v100-2020-02-28)

[Compare Source](https://github.com/googleapis/python-vision/compare/v0.42.0...v1.0.0)

##### Features

-   bump release status to GA ([#&#8203;11](https://www.github.com/googleapis/python-vision/issues/11)) ([2129bde](https://www.github.com/googleapis/python-vision/commit/2129bdedfa0dca85c5adc5350bff10d4a485df77))

</details>

---

### Renovate configuration

:date: **Schedule**: At any time (no schedule defined).

:vertical_traffic_light: **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

:recycle: **Rebasing**: Never, or you tick the rebase/retry checkbox.

:no_bell: **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [WhiteSource Renovate](https://renovate.whitesourcesoftware.com). View repository job log [here](https://app.renovatebot.com/dashboard#GoogleCloudPlatform/python-docs-samples).

* translate: make test generic [(#3386)](#3386)

Fix: #3381

* [translate] fix: mark some tests as flaky [(#3495)](#3495)

tests which involve LRO.

fixes #2875

* testing: replace @flaky with @pytest.mark.flaky [(#3496)](#3496)

* testing: replace @flaky with @pytest.mark.flaky

* lint

* mark few tests as flaky

that involves LRO polling.

* lint

* chore(deps): update dependency google-cloud-storage to v1.28.0 [(#3260)](#3260)

Co-authored-by: Takashi Matsuo <tmatsuo@google.com>

* translate: fix glossary leak issue [(#3572)](#3572)

* fix glossary leak issue

* removed try/catch from teardown methods, removed sample_ prefix from all other methods

* added specific exceptions to tests, added backoff tags to tests

* fixed the lint issues

* reordered imports

* moved backoff inside methd and removed Retry

* corrected import nit

* chore: some lint fixes [(#3751)](#3751)

* chore: some lint fixes

* longer timeout, more retries

* disable detect_test.py::test_async_detect_document

* chore(deps): update dependency google-cloud-storage to v1.28.1 [(#3785)](#3785)

* chore(deps): update dependency google-cloud-storage to v1.28.1

* [asset] testing: use uuid instead of time

Co-authored-by: Takashi Matsuo <tmatsuo@google.com>

* [translate] fix hybrid glossaries tests [(#3936)](#3936)

* testing: start using btlr [(#3959)](#3959)

* testing: start using btlr

The binary is at gs://cloud-devrel-kokoro-resources/btlr/v0.0.1/btlr

* add period after DIFF_FROM

* use array for btlr args

* fix websocket tests

* add debug message

* wait longer for the server to spin up

* dlp: bump the wait timeout to 10 minutes

* [run] copy noxfile.py to child directory to avoid gcloud issue

* [iam] fix: only display description when the key exists

* use uuid4 instead of uuid1

* [iot] testing: use the same format for registry id

* Stop asserting Out of memory not in the output

* fix missing imports

* [dns] testing: more retries with delay

* [dlp] testing: longer timeout

* use the max-concurrency flag

* use 30 workers

* [monitoring] use multiple projects

* [dlp] testing: longer timeout

* Replace GCLOUD_PROJECT with GOOGLE_CLOUD_PROJECT. [(#4022)](#4022)

* remove whitelist replace with allowlist [(#4050)](#4050)

* chore(deps): update dependency google-cloud-storage to v1.29.0 [(#4040)](#4040)

* chore(deps): update dependency google-cloud-texttospeech to v2.1.0 [(#4147)](#4147)

* testing(translate): parameterize the timeout [(#4247)](#4247)

fixes #4239
(by specifying a longer timeout)

* chore(deps): update dependency pytest to v5.4.3 [(#4279)](#4279)

* chore(deps): update dependency pytest to v5.4.3

* specify pytest for python 2 in appengine

Co-authored-by: Leah Cole <coleleah@google.com>

* Update dependency flaky to v3.7.0 [(#4300)](#4300)

* testing(translate): bump the timeout for operations [(#4258)](#4258)

fixes #4220

* chore: update templates

* chore: narrows samples CODEOWNERS to .py only

* chore: wip migration to microgenerator
client, units, docs complete

* feat!: move API to python microgenerator

* docs: readmegen updates

* chore: add build config for docs-presubmit

* chore: rm protos

* chore: uses PROJECT_ID env var in system test

* chore: clarifies examples in migration guide

* chore: adds explicit variable

Co-authored-by: Jason Dobry <jmdobry@users.noreply.github.com>
Co-authored-by: Jon Wayne Parrott <jonwayne@google.com>
Co-authored-by: Puneith Kaul <puneith@users.noreply.github.com>
Co-authored-by: DPE bot <dpebot@google.com>
Co-authored-by: Gus Class <gguuss@gmail.com>
Co-authored-by: florencep <florenceperot@google.com>
Co-authored-by: Bill Prin <waprin@gmail.com>
Co-authored-by: michaelawyu <chenyumic@google.com>
Co-authored-by: Frank Natividad <frankyn@users.noreply.github.com>
Co-authored-by: Averi Kitsch <akitsch@google.com>
Co-authored-by: Charles Engelke <github@engelke.com>
Co-authored-by: Rebecca Taylor <remilytaylor@gmail.com>
Co-authored-by: Elizabeth Crowdus <elcrowdus@gmail.com>
Co-authored-by: Noah Negrey <nnegrey@users.noreply.github.com>
Co-authored-by: Leah E. Cole <6719667+leahecole@users.noreply.github.com>
Co-authored-by: Michelle Casbon <texasmichelle@users.noreply.github.com>
Co-authored-by: Mike <45373284+munkhuushmgl@users.noreply.github.com>
Co-authored-by: Kurtis Van Gent <31518063+kurtisvg@users.noreply.github.com>
Co-authored-by: WhiteSource Renovate <bot@renovateapp.com>
Co-authored-by: Leah Cole <coleleah@google.com>
Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
Co-authored-by: Takashi Matsuo <tmatsuo@google.com>
Co-authored-by: Bu Sun Kim <8822365+busunkim96@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority: p2 Moderately-important priority. Fix may not be included in next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
4 participants