fix: for backwards compatibility, expose legacy retry imports (#577)
This exposes the legacy google imports that were previously exposed by this package, even though they are not needed now. (Note that standard imports that are no longer needed are NOT exposed; they should be imported directly.)
---------
Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
diff --git a/google/api_core/retry/__init__.py b/google/api_core/retry/__init__.py
index 7942841..1724fdb 100644
--- a/google/api_core/retry/__init__.py
+++ b/google/api_core/retry/__init__.py
@@ -1,5 +1,4 @@
# Copyright 2017 Google LLC
-
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -29,6 +28,13 @@
from .retry_streaming_async import AsyncStreamingRetry
from .retry_streaming_async import retry_target_stream as retry_target_stream_async
+# The following imports are for backwards compatibility with https://github.com/googleapis/python-api-core/blob/4d7d2edee2c108d43deb151e6e0fdceb56b73275/google/api_core/retry.py
+#
+# TODO: Revert these imports on the next major version release (https://github.com/googleapis/python-api-core/issues/576)
+from google.api_core import datetime_helpers # noqa: F401
+from google.api_core import exceptions # noqa: F401
+from google.auth import exceptions as auth_exceptions # noqa: F401
+
__all__ = (
"exponential_sleep_generator",
"if_exception_type",
diff --git a/tests/unit/retry/test_retry_imports.py b/tests/unit/retry/test_retry_imports.py
new file mode 100644
index 0000000..5d035be
--- /dev/null
+++ b/tests/unit/retry/test_retry_imports.py
@@ -0,0 +1,29 @@
+# Copyright 2024 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.
+
+
+def test_legacy_imports_retry_unary_sync():
+ # TODO: Delete this test when when we revert these imports on the
+ # next major version release
+ # (https://github.com/googleapis/python-api-core/issues/576)
+ from google.api_core.retry import datetime_helpers # noqa: F401
+ from google.api_core.retry import exceptions # noqa: F401
+ from google.api_core.retry import auth_exceptions # noqa: F401
+
+
+def test_legacy_imports_retry_unary_async():
+ # TODO: Delete this test when when we revert these imports on the
+ # next major version release
+ # (https://github.com/googleapis/python-api-core/issues/576)
+ from google.api_core import retry_async # noqa: F401