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

fix: for backwards compatibility, expose legacy retry imports #577

Merged
merged 9 commits into from
Jan 29, 2024
8 changes: 7 additions & 1 deletion google/api_core/retry/__init__.py
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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",
Expand Down
29 changes: 29 additions & 0 deletions tests/unit/retry/test_retry_imports.py
Original file line number Diff line number Diff line change
@@ -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
Loading