From de40f2a14c83f2f26ca9929525ddde06d2664221 Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 17:49:08 +0000 Subject: [PATCH 1/6] Added stdlib modules function for 3.10+ --- ipydeps/utils.py | 8 ++++++-- tests/test_stdlib.py | 6 +++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ipydeps/utils.py b/ipydeps/utils.py index 7d1d3b1..82ac937 100644 --- a/ipydeps/utils.py +++ b/ipydeps/utils.py @@ -22,11 +22,15 @@ def normalize_package_names(packages: Set) -> Set: packages = {p.lower() for p in packages} return packages -def get_stdlib_packages(version=sys.version_info.major) -> Set: +def get_stdlib_packages(version=sys.version_info.major, minor=sys.version_info.minor) -> Set: stdlib_list = '' if version == 3: - stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') + if minor >= 10: + stdlib_list = sys.stdlib_module_names + return normalize_package_names(set(stdlib_list)) + else: + stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') elif version == 2: stdlib_list = pkgutil.get_data(__name__, 'data/libs2.txt') diff --git a/tests/test_stdlib.py b/tests/test_stdlib.py index 75ef4a9..67f9f11 100644 --- a/tests/test_stdlib.py +++ b/tests/test_stdlib.py @@ -1,6 +1,7 @@ # vim: expandtab tabstop=4 shiftwidth=4 import pytest +import sys from ipydeps.ipydeps import subtract_stdlib from ipydeps.utils import get_stdlib_packages @@ -11,7 +12,10 @@ def test_stdlib_py2(): def test_stdlib_py3(): packages = get_stdlib_packages(version=3) - assert len(packages) == 203 + if sys.version_info.minor >= 10: + assert len(packages) == 303 + else: + assert len(packages) == 203 def test_without_stdlib_packages(): stdlib_packages = get_stdlib_packages() From 7930723de60a3f01504b9172a6d83cc113126038 Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 18:02:11 +0000 Subject: [PATCH 2/6] removed unnecessay else: --- ipydeps/utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ipydeps/utils.py b/ipydeps/utils.py index 82ac937..e634923 100644 --- a/ipydeps/utils.py +++ b/ipydeps/utils.py @@ -29,8 +29,7 @@ def get_stdlib_packages(version=sys.version_info.major, minor=sys.version_info.m if minor >= 10: stdlib_list = sys.stdlib_module_names return normalize_package_names(set(stdlib_list)) - else: - stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') + stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') elif version == 2: stdlib_list = pkgutil.get_data(__name__, 'data/libs2.txt') From e99d2d341393548017d13705b30161fda68e0897 Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 18:07:51 +0000 Subject: [PATCH 3/6] Switched from == to >= to make up the difference for each minor versions --- tests/test_stdlib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_stdlib.py b/tests/test_stdlib.py index 67f9f11..fcfd195 100644 --- a/tests/test_stdlib.py +++ b/tests/test_stdlib.py @@ -13,7 +13,7 @@ def test_stdlib_py2(): def test_stdlib_py3(): packages = get_stdlib_packages(version=3) if sys.version_info.minor >= 10: - assert len(packages) == 303 + assert len(packages) >= 303 else: assert len(packages) == 203 From 89e3f2462677c66579cbfc3b5f141b657a4d71d7 Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 18:33:48 +0000 Subject: [PATCH 4/6] adding condition to make sure stdlib_modules_names exist on sys --- ipydeps/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipydeps/utils.py b/ipydeps/utils.py index e634923..2c0d978 100644 --- a/ipydeps/utils.py +++ b/ipydeps/utils.py @@ -26,7 +26,7 @@ def get_stdlib_packages(version=sys.version_info.major, minor=sys.version_info.m stdlib_list = '' if version == 3: - if minor >= 10: + if minor >= 10 and hasattr(sys, "stdlib_module_names"): stdlib_list = sys.stdlib_module_names return normalize_package_names(set(stdlib_list)) stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') From 90e428173fea948291939fc8ee6fe1522bedda52 Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 18:37:44 +0000 Subject: [PATCH 5/6] to silence pylint error --- ipydeps/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipydeps/utils.py b/ipydeps/utils.py index 2c0d978..68f9c35 100644 --- a/ipydeps/utils.py +++ b/ipydeps/utils.py @@ -27,7 +27,7 @@ def get_stdlib_packages(version=sys.version_info.major, minor=sys.version_info.m if version == 3: if minor >= 10 and hasattr(sys, "stdlib_module_names"): - stdlib_list = sys.stdlib_module_names + stdlib_list = sys.stdlib_module_names # type: ignore[attr-defined] return normalize_package_names(set(stdlib_list)) stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') elif version == 2: From 564f6669359534bfb816eaef5eedf7222dcf304b Mon Sep 17 00:00:00 2001 From: Universe-sudojam <173473046+Universe-sudojam@users.noreply.github.com> Date: Thu, 29 May 2025 18:42:03 +0000 Subject: [PATCH 6/6] fixed the comment to diable pylint warning --- ipydeps/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ipydeps/utils.py b/ipydeps/utils.py index 68f9c35..4ae38e4 100644 --- a/ipydeps/utils.py +++ b/ipydeps/utils.py @@ -27,7 +27,7 @@ def get_stdlib_packages(version=sys.version_info.major, minor=sys.version_info.m if version == 3: if minor >= 10 and hasattr(sys, "stdlib_module_names"): - stdlib_list = sys.stdlib_module_names # type: ignore[attr-defined] + stdlib_list = sys.stdlib_module_names # pylint: disable=no-member return normalize_package_names(set(stdlib_list)) stdlib_list = pkgutil.get_data(__name__, 'data/libs3.txt') elif version == 2: