Skip to content

Commit 8a34690

Browse files
authored
[3.9] bpo-40924: Remove protocol for supplying Traversable objects from loaders (GH-20820)
Remove protocol that loaders can present a files method as found in importlib_resources 1.3-1.6 (added in Python 3.8b1).
1 parent 83cd968 commit 8a34690

File tree

3 files changed

+2
-14
lines changed

3 files changed

+2
-14
lines changed

Doc/library/importlib.rst

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,9 +813,6 @@ ABC hierarchy::
813813
methods. Therefore, any loader supplying TraversableReader
814814
also supplies ResourceReader.
815815

816-
Loaders that wish to support resource reading are expected to
817-
implement this interface.
818-
819816
.. versionadded:: 3.9
820817

821818

Lib/importlib/_common.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,7 @@ def from_package(package):
1111
Return a Traversable object for the given package.
1212
1313
"""
14-
spec = package.__spec__
15-
return from_traversable_resources(spec) or fallback_resources(spec)
16-
17-
18-
def from_traversable_resources(spec):
19-
"""
20-
If the spec.loader implements TraversableResources,
21-
directly or implicitly, it will have a ``files()`` method.
22-
"""
23-
with contextlib.suppress(AttributeError):
24-
return spec.loader.files()
14+
return fallback_resources(package.__spec__)
2515

2616

2717
def fallback_resources(spec):
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Removed support for loaders implementing .files and supplying TraversableResources.

0 commit comments

Comments
 (0)