GeezerVison is showing github.com — Officially deprecate and remove abcs in importlib.abc moved to importlib.resources. · Issue #93963 · python/cpython
Officially deprecate and remove abcs in importlib.abc moved to importlib.resources. #93963DescriptionIn #90276, I grouped the functionality related to importlib.resources into its own package (creating clearer separation of responsibility from importlib.*). That included moving some abstract base classes from importlib.abc to importlib.resources.abc. We need to officially deprecate the presence in importlib.abc and then remove them in a future release.
Originally posted by @jaraco in #93610 (comment)
Linked PRs
Activityjaraco commented on Jun 17, 2022 @encukou Here's the deprecation that officially announces the intention added in #90276. I know you were working on the doc updates. Let me know if I can help with that, especially with regard to this direction. added a commit that references this issue on Jul 3, 2022This issue will close once commit 8525926 is merged into the 'main' branch.8525926 changed the title [-]Officially deprecate abcs in importlib.abc moved to importlib.resources.[/-] [+]Officially deprecate and remove abcs in importlib.abc moved to importlib.resources.[/+] on Jul 3, 2022added 2 commits that reference this issue on Jul 3, 2022gh-93963: Remove deprecated names from importlib.abc gh-93963: Remove deprecated names from importlib.abc jaraco commented on Jul 24, 2022 Today I observed that one of the tests is still accessing ResourceReader from importlib.abc. added a commit that references this issue on Jul 24, 2022gh-93963: Remove usage of deprecated interface from importlib.abc. added 2 commits that reference this issue on Jul 27, 2022gh-93963: Remove usage of deprecated interface from importlib.abc. (#… tirkarthi commented on Jul 31, 2022 It's ResourceReader being passed to make_abc_subclasses that tries to retrieve abc.ResourceReader triggering a DeprecationWarning. Below is an approach where default refers to abc module and ResourceReaderDefaultsTests overrides it with resources.
diff --git a/Lib/test/test_importlib/test_abc.py b/Lib/test/test_importlib/test_abc.py
index d59b663a43..66c8bf09cf 100644
--- a/Lib/test/test_importlib/test_abc.py
+++ b/Lib/test/test_importlib/test_abc.py
@@ -13,6 +13,7 @@
init = test_util.import_importlib('importlib')
abc = test_util.import_importlib('importlib.abc')
machinery = test_util.import_importlib('importlib.machinery')
+resources = test_util.import_importlib('importlib.resources')
util = test_util.import_importlib('importlib.util')
@@ -125,7 +126,7 @@ class SourceLoader(InheritanceTests):
##### Default return values ####################################################
-def make_abc_subclasses(base_class, name=None, inst=False, **kwargs):
+def make_abc_subclasses(base_class, name=None, inst=False, abc=abc, **kwargs):
if name is None:
name = base_class.__name__
base = {kind: getattr(splitabc, name)
@@ -324,7 +325,7 @@ def contents(self, *args, **kwargs):
class ResourceReaderDefaultsTests(ABCTestHarness):
- SPLIT = make_abc_subclasses(ResourceReader)
+ SPLIT = make_abc_subclasses(ResourceReader, abc=resources)
def test_open_resource(self):
with self.assertRaises(FileNotFoundError):jaraco commented on Sep 5, 2022 Oh, I'd missed test_abc. I think I'd like to just remove that test... or if it needs to exist, it should exist in importlib_resources also. jaraco commented on Sep 5, 2022 I see now in ccf94a6, Irit suppressed the DeprecationWarnings. serhiy-storchaka commented on Jul 27, 2023 I am confused.
The documentation for importlib.resources.abc.Traversable says: "Deprecated since version 3.12, will be removed in version 3.14: Use importlib.resources.abc.Traversable instead."
The documentation for importlib.resources.abc.TraversableResources says: "Deprecated since version 3.12, will be removed in version 3.14: Use importlib.resources.abc.TraversableResources instead."
Why does it recommend to use the same deprecated class? serhiy-storchaka commented on Jul 27, 2023 Reacted by Hugo van Kemenade hugovk commented on May 29, 2024
MetadataMetadataDevelopmentNo branches or pull requestsIssue actions
|