From 3aed16c526db227a6fa74e286ca0474586a1ddf5 Mon Sep 17 00:00:00 2001 From: Stephen Rosen Date: Fri, 18 Jul 2025 15:48:21 -0500 Subject: [PATCH] Remove the experimental login_flows alias Part of the planned changes for SDK v4. --- docs/upgrading.rst | 1 + .../experimental/login_flow_manager.py | 37 ------------------- .../unit/experimental/test_legacy_support.py | 23 ------------ 3 files changed, 1 insertion(+), 60 deletions(-) delete mode 100644 src/globus_sdk/experimental/login_flow_manager.py delete mode 100644 tests/unit/experimental/test_legacy_support.py diff --git a/docs/upgrading.rst b/docs/upgrading.rst index 1c9526831..7d9c97f9f 100644 --- a/docs/upgrading.rst +++ b/docs/upgrading.rst @@ -260,6 +260,7 @@ The removed alias and new module names are shown in the table below. "``globus_sdk.experimental.scope_parser``", "``globus_sdk.scopes``" "``globus_sdk.experimental.consents``", "``globus_sdk.scopes.consents``" "``globus_sdk.experimental.tokenstorage``", "``globus_sdk.token_storage``" + "``globus_sdk.experimental.login_flow_manager``", "``globus_sdk.login_flows``" ``MutableScope`` is Removed, use ``Scope`` Instead ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/src/globus_sdk/experimental/login_flow_manager.py b/src/globus_sdk/experimental/login_flow_manager.py deleted file mode 100644 index c4edd67a4..000000000 --- a/src/globus_sdk/experimental/login_flow_manager.py +++ /dev/null @@ -1,37 +0,0 @@ -from __future__ import annotations - -import sys -import typing as t - -__all__ = ( - "CommandLineLoginFlowManager", - "LocalServerLoginFlowManager", - "LoginFlowManager", -) - -# legacy aliases -# (when accessed, these will emit deprecation warnings) -if t.TYPE_CHECKING: - from globus_sdk.login_flows import ( - CommandLineLoginFlowManager, - LocalServerLoginFlowManager, - LoginFlowManager, - ) -else: - - def __getattr__(name: str) -> t.Any: - import globus_sdk.login_flows as login_flows_module - from globus_sdk.exc import warn_deprecated - - warn_deprecated( - "'globus_sdk.experimental.login_flow_manager' has been renamed to " - "'globus_sdk.login_flows'. " - f"Importing '{name}' from `globus_sdk.experimental` is deprecated. " - f"Use `globus_sdk.login_flows.{name}` instead." - ) - - value = getattr(login_flows_module, name, None) - if value is None: - raise AttributeError(f"module {__name__} has no attribute {name}") - setattr(sys.modules[__name__], name, value) - return value diff --git a/tests/unit/experimental/test_legacy_support.py b/tests/unit/experimental/test_legacy_support.py deleted file mode 100644 index f5c0a74f2..000000000 --- a/tests/unit/experimental/test_legacy_support.py +++ /dev/null @@ -1,23 +0,0 @@ -""" -Constructs which are added to `experimental` ultimately (hopefully) get ported over to - the main `globus_sdk` namespace. - -The tests in this module verify that those constructs are still available from the - `globus_sdk.experimental` namespace (for backwards compatibility). - -Eventually these constructs do get deprecated at which point the tests in this module - can be deleted. -""" - -import pytest - -from globus_sdk import RemovedInV4Warning - - -def test_login_flow_manager_importable_from_experimental(): - with pytest.warns(RemovedInV4Warning): - from globus_sdk.experimental.login_flow_manager import ( # noqa: F401 - CommandLineLoginFlowManager, - LocalServerLoginFlowManager, - LoginFlowManager, - )