This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Modernize the importlib loaders
Type: Stage:
Components: Versions:
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: FFY00, barry, brett.cannon, eric.snow, jaraco, ncoghlan
Priority: normal Keywords:

Created on 2021-10-20 23:15 by FFY00, last changed 2022-04-11 14:59 by admin.

Messages (2)
msg404540 - (view) Author: Filipe Laíns (FFY00) * (Python triager) Date: 2021-10-20 23:15
ResourceLoader[1] is deprecated in favor of ResourceReader, which itself is surpassed by TraversableResources.

Would it make sense to replace ResourceLoader usages with ResourceReader in the importlib loaders?
And perhaps, would it make sense to replace them with the files()/Traversable protocol instead?

IMO this could simplify the code a bit, but that's subjective I guess, and better re-use the bytecode caching mechanism in SourceLoader, by providing an equivalent based on files()/Traversable instead.

This could also help push to add support for non filesystem based loaders in other parts of the code, like py_compile, which currently only supports operations on the filesystem.

Is this something we are interested in -- modernizing the importlib loaders with, arguably, better abstractions -- or do we want to keep the old protocols around?

[1] https://docs.python.org/3/library/importlib.html#importlib.abc.ResourceLoader
msg404666 - (view) Author: Brett Cannon (brett.cannon) * (Python committer) Date: 2021-10-21 21:24
It's an interesting question. Probably should add the new APIs. As for dropping the old ones, we would have to check if we have been raising deprecation warnings as appropriate or if it's just a documentation thing.
History
Date User Action Args
2022-04-11 14:59:51adminsetgithub: 89710
2021-10-21 21:24:44brett.cannonsetmessages: + msg404666
2021-10-20 23:25:15FFY00settitle: Modenize the importlib loaders -> Modernize the importlib loaders
2021-10-20 23:15:10FFY00create