From e129c83acc1a941dd658a12cd1e27f1d77f6a472 Mon Sep 17 00:00:00 2001 From: probro27 Date: Tue, 24 May 2022 20:10:13 -0400 Subject: [PATCH 01/10] Changed importlib_metadata to have requirement for < python 3.10 --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index d3cb1be2..7e81c424 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,7 +23,7 @@ install_requires = pywin32-ctypes!=0.1.0,!=0.1.1; sys_platform=="win32" SecretStorage>=3.2; sys_platform=="linux" jeepney>=0.4.2; sys_platform=="linux" - importlib_metadata >= 3.6 + importlib_metadata < 3.10; python_version < "3.10" [options.packages.find] exclude = From 9c276206546bf036fc1bde9a24e9fc34bf9918ec Mon Sep 17 00:00:00 2001 From: Prabhav Khera <84613574+probro27@users.noreply.github.com> Date: Fri, 27 May 2022 13:07:35 -0400 Subject: [PATCH 02/10] Update setup.cfg Co-authored-by: Dmitry Shachnev --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 7e81c424..43c09bcb 100644 --- a/setup.cfg +++ b/setup.cfg @@ -23,7 +23,7 @@ install_requires = pywin32-ctypes!=0.1.0,!=0.1.1; sys_platform=="win32" SecretStorage>=3.2; sys_platform=="linux" jeepney>=0.4.2; sys_platform=="linux" - importlib_metadata < 3.10; python_version < "3.10" + importlib_metadata >= 3.6; python_version < "3.10" [options.packages.find] exclude = From 9b86650aef536afbf5992f0cde07195ccb8ff17a Mon Sep 17 00:00:00 2001 From: probro27 Date: Fri, 27 May 2022 15:38:23 -0400 Subject: [PATCH 03/10] Updated imports --- hook-keyring.backend.py | 7 ++++--- keyring/backend.py | 5 ++++- tests/test_packaging.py | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index 16d4044f..5c64151c 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -1,6 +1,7 @@ # Used by pyinstaller to expose hidden imports - -import importlib_metadata as metadata - +try: + import importlib_metadata as metadata +except ImportError: + import importlib_metadata as metadata hiddenimports = [ep.value for ep in metadata.entry_points(group='keyring.backends')] diff --git a/keyring/backend.py b/keyring/backend.py index 332124f3..07db325a 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -9,7 +9,10 @@ from typing import Optional -import importlib_metadata as metadata +try: + import importlib_metadata as metadata +except ImportError: + import importlib_metadata as metadata from . import credentials, errors, util from .util import properties diff --git a/tests/test_packaging.py b/tests/test_packaging.py index e707d427..29a640f9 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,5 +1,7 @@ -import importlib_metadata as metadata - +try: + import importlib_metadata as metadata +except ImportError: + import importlib_metadata as metadata from keyring import backend From f0701e956198236cae75094bf21a682628acb586 Mon Sep 17 00:00:00 2001 From: probro27 Date: Fri, 27 May 2022 15:41:05 -0400 Subject: [PATCH 04/10] Updated imports --- hook-keyring.backend.py | 2 +- keyring/backend.py | 2 +- tests/test_packaging.py | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index 5c64151c..a1241c81 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -1,6 +1,6 @@ # Used by pyinstaller to expose hidden imports try: - import importlib_metadata as metadata + from importlib import metadata except ImportError: import importlib_metadata as metadata diff --git a/keyring/backend.py b/keyring/backend.py index 07db325a..e702848c 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -10,7 +10,7 @@ from typing import Optional try: - import importlib_metadata as metadata + from importlib import metadata except ImportError: import importlib_metadata as metadata diff --git a/tests/test_packaging.py b/tests/test_packaging.py index 29a640f9..a630184b 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,7 +1,7 @@ try: - import importlib_metadata as metadata + from importlib import metadata except ImportError: - import importlib_metadata as metadata + import importlib_metadata as metadataetadata from keyring import backend From 4bd45887cc33b0eda541a7790c75a3e5e6b5e903 Mon Sep 17 00:00:00 2001 From: Prabhav Khera <84613574+probro27@users.noreply.github.com> Date: Fri, 27 May 2022 16:56:31 -0400 Subject: [PATCH 05/10] Update tests/test_packaging.py Co-authored-by: Dmitry Shachnev --- tests/test_packaging.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_packaging.py b/tests/test_packaging.py index a630184b..e0c23373 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,7 +1,7 @@ try: from importlib import metadata except ImportError: - import importlib_metadata as metadataetadata + import importlib_metadata as metadata from keyring import backend From a55cf924d73a3de8e146ccdebeb10d78b7496ad5 Mon Sep 17 00:00:00 2001 From: probro27 Date: Fri, 27 May 2022 17:42:36 -0400 Subject: [PATCH 06/10] Added ignore tag to imports --- hook-keyring.backend.py | 2 +- keyring/backend.py | 2 +- tests/test_packaging.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index a1241c81..7ba8b298 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -2,6 +2,6 @@ try: from importlib import metadata except ImportError: - import importlib_metadata as metadata + import importlib_metadata as metadata # type: ignore hiddenimports = [ep.value for ep in metadata.entry_points(group='keyring.backends')] diff --git a/keyring/backend.py b/keyring/backend.py index e702848c..69686f3c 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -12,7 +12,7 @@ try: from importlib import metadata except ImportError: - import importlib_metadata as metadata + import importlib_metadata as metadata # type: ignore from . import credentials, errors, util from .util import properties diff --git a/tests/test_packaging.py b/tests/test_packaging.py index e0c23373..4776f57a 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,7 +1,7 @@ try: from importlib import metadata except ImportError: - import importlib_metadata as metadata + import importlib_metadata as metadata # type: ignore from keyring import backend From b44c8e0981f2cdc9273e8fd05941c026637c861a Mon Sep 17 00:00:00 2001 From: probro27 Date: Sat, 28 May 2022 14:04:47 -0400 Subject: [PATCH 07/10] Trying to fix imports --- hook-keyring.backend.py | 8 +++++--- keyring/backend.py | 11 ++++++++--- tests/test_packaging.py | 8 +++++--- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index 7ba8b298..80a0644e 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -1,7 +1,9 @@ # Used by pyinstaller to expose hidden imports -try: +import sys + +if sys.version_info >= (3, 10): from importlib import metadata -except ImportError: - import importlib_metadata as metadata # type: ignore +else: + import importlib_metadata as metadata #type: ignore hiddenimports = [ep.value for ep in metadata.entry_points(group='keyring.backends')] diff --git a/keyring/backend.py b/keyring/backend.py index 69686f3c..94516792 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -8,11 +8,16 @@ import operator from typing import Optional +import sys -try: +if sys.version_info >= (3, 10): from importlib import metadata -except ImportError: - import importlib_metadata as metadata # type: ignore +else: + import importlib_metadata as metadata #type: ignore +# try: +# from importlib import metadata +# except ImportError: +# import importlib_metadata as metadata # type: ignore from . import credentials, errors, util from .util import properties diff --git a/tests/test_packaging.py b/tests/test_packaging.py index 4776f57a..c1e07a48 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,7 +1,9 @@ -try: +import sys + +if sys.version_info >= (3, 10): from importlib import metadata -except ImportError: - import importlib_metadata as metadata # type: ignore +else: + import importlib_metadata as metadata #type: ignore from keyring import backend From 9c1c0f6004fafb7b1dc8164cc1ef2e76e48b05b7 Mon Sep 17 00:00:00 2001 From: probro27 Date: Sat, 28 May 2022 17:55:48 -0400 Subject: [PATCH 08/10] Imports fixed with formatting --- hook-keyring.backend.py | 2 +- keyring/backend.py | 6 +----- tests/test_packaging.py | 2 +- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index 80a0644e..d5047bd4 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -4,6 +4,6 @@ if sys.version_info >= (3, 10): from importlib import metadata else: - import importlib_metadata as metadata #type: ignore + import importlib_metadata as metadata # type: ignore hiddenimports = [ep.value for ep in metadata.entry_points(group='keyring.backends')] diff --git a/keyring/backend.py b/keyring/backend.py index 94516792..05a04b27 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -13,11 +13,7 @@ if sys.version_info >= (3, 10): from importlib import metadata else: - import importlib_metadata as metadata #type: ignore -# try: -# from importlib import metadata -# except ImportError: -# import importlib_metadata as metadata # type: ignore + import importlib_metadata as metadata # type: ignore from . import credentials, errors, util from .util import properties diff --git a/tests/test_packaging.py b/tests/test_packaging.py index c1e07a48..5086f28a 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -3,7 +3,7 @@ if sys.version_info >= (3, 10): from importlib import metadata else: - import importlib_metadata as metadata #type: ignore + import importlib_metadata as metadata # type: ignore from keyring import backend From 1f6d925ed4904d337d0cb47f462eb9fe53081741 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 4 Jun 2022 20:27:57 -0400 Subject: [PATCH 09/10] Move conditional import to a module to reduce duplicity. Re-worded the import to make it more symmetrical. --- hook-keyring.backend.py | 10 ++++------ keyring/backend.py | 7 +------ keyring/py310compat.py | 10 ++++++++++ tests/test_packaging.py | 7 +------ 4 files changed, 16 insertions(+), 18 deletions(-) create mode 100644 keyring/py310compat.py diff --git a/hook-keyring.backend.py b/hook-keyring.backend.py index d5047bd4..08be9253 100644 --- a/hook-keyring.backend.py +++ b/hook-keyring.backend.py @@ -1,9 +1,7 @@ -# Used by pyinstaller to expose hidden imports -import sys +""" +Hook used by pyinstaller to expose hidden imports. +""" -if sys.version_info >= (3, 10): - from importlib import metadata -else: - import importlib_metadata as metadata # type: ignore +from keyring.py310compat import metadata hiddenimports = [ep.value for ep in metadata.entry_points(group='keyring.backends')] diff --git a/keyring/backend.py b/keyring/backend.py index 05a04b27..be393a7e 100644 --- a/keyring/backend.py +++ b/keyring/backend.py @@ -8,13 +8,8 @@ import operator from typing import Optional -import sys - -if sys.version_info >= (3, 10): - from importlib import metadata -else: - import importlib_metadata as metadata # type: ignore +from .py310compat import metadata from . import credentials, errors, util from .util import properties diff --git a/keyring/py310compat.py b/keyring/py310compat.py new file mode 100644 index 00000000..3c7ee970 --- /dev/null +++ b/keyring/py310compat.py @@ -0,0 +1,10 @@ +import sys + + +__all__ = ['metadata'] + + +if sys.version_info > (3, 10): + import importlib.metadata as metadata +else: + import importlib_metadata as metadata # type: ignore diff --git a/tests/test_packaging.py b/tests/test_packaging.py index 5086f28a..383009d4 100644 --- a/tests/test_packaging.py +++ b/tests/test_packaging.py @@ -1,10 +1,5 @@ -import sys - -if sys.version_info >= (3, 10): - from importlib import metadata -else: - import importlib_metadata as metadata # type: ignore from keyring import backend +from keyring.py310compat import metadata def test_entry_point(): From c2ccc053dd80bc7b6c9372b74d2271f82f955e71 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Sat, 4 Jun 2022 20:32:13 -0400 Subject: [PATCH 10/10] Update changelog. --- CHANGES.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGES.rst b/CHANGES.rst index cd7bff74..500626c4 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,8 @@ +v23.6.0 +------- + +* #575: Only require ``importlib_metadata`` on older Pythons. + v23.5.1 -------