Skip to content

Commit ac012c0

Browse files
authored
fix: fix broken import for google.api_core.retry_async.AsyncRetry (#587)
* fix: fix broken import for AsyncRetry * fix import for AsyncRetry * Resolve duplicate object description of google.api_core.retry.retry_unary_async.AsyncRetry * move to google/api_core/retry_async.py
1 parent 7ffa182 commit ac012c0

File tree

4 files changed

+39
-3
lines changed

4 files changed

+39
-3
lines changed

docs/retry.rst

+1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ Retry in AsyncIO
1010

1111
.. automodule:: google.api_core.retry_async
1212
:members:
13+
:noindex:
1314
:show-inheritance:

google/api_core/__init__.py

-3
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,3 @@
2020
from google.api_core import version as api_core_version
2121

2222
__version__ = api_core_version.__version__
23-
24-
# for backwards compatibility, expose async unary retries as google.api_core.retry_async
25-
from .retry import retry_unary_async as retry_async # noqa: F401

google/api_core/retry_async.py

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Copyright 2024 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
#
15+
# The following imports are for backwards compatibility with https://github.com/googleapis/python-api-core/blob/4d7d2edee2c108d43deb151e6e0fdceb56b73275/google/api_core/retry_async.py
16+
#
17+
# TODO: Revert these imports on the next major version release (https://github.com/googleapis/python-api-core/issues/576)
18+
from google.api_core import datetime_helpers # noqa: F401
19+
from google.api_core import exceptions # noqa: F401
20+
from google.api_core.retry import exponential_sleep_generator # noqa: F401
21+
from google.api_core.retry import if_exception_type # noqa: F401
22+
from google.api_core.retry import if_transient_error # noqa: F401
23+
from google.api_core.retry.retry_unary_async import AsyncRetry
24+
from google.api_core.retry.retry_unary_async import retry_target
25+
26+
__all__ = (
27+
"AsyncRetry",
28+
"datetime_helpers",
29+
"exceptions",
30+
"exponential_sleep_generator",
31+
"if_exception_type",
32+
"if_transient_error",
33+
"retry_target",
34+
)

tests/unit/retry/test_retry_imports.py

+4
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,7 @@ def test_legacy_imports_retry_unary_async():
2727
# next major version release
2828
# (https://github.com/googleapis/python-api-core/issues/576)
2929
from google.api_core import retry_async # noqa: F401
30+
31+
# See https://github.com/googleapis/python-api-core/issues/586
32+
# for context on why we need to test this import this explicitly.
33+
from google.api_core.retry_async import AsyncRetry # noqa: F401

0 commit comments

Comments
 (0)