New submission from Eric Snow:

In the last Python releases, particularly 3.3 and 3.4, we've made improvements 
to the import machinery that render (at least) portions of pkgutil obsolete.  
Here's a breakdown of the public API of pkgutil:

get_importer() - duplicate of PathFinder._path_importer_cache()
iter_importers() - yields the path entry finder for each path entry
find_loader() - a parent-importing wrapper around (deprecated) 
importlib.find_loader()
get_loader() - looks at module.__loader__ or calls find_loader()
walk_packages() - loader-focused
iter_modules() - loader-focused
get_data() - a wrapper around the InspectLoader.get_data() API
read_code() - duplicates importlib functionality
extend_path() - no longer needed (namespace packages)
ImpImporter - already deprecated in favor of importlib
ImpLoader - already deprecated in favor of importlib

I would expect that nearly all of the module could be deprecated and any gaps 
in functionality ported to importlib.util.

Is it worth it to go to the effort?  To me the biggest thing would be 
identifying what functionality (e.g. locating all packages within a directory) 
in pkgutil is still relevant and should be distilled into public APIs in 
importlib.  The job of actually deprecating and porting code would mostly be 
mechanical and not even a large amount of work.

----------
components: Library (Lib)
messages: 205771
nosy: brett.cannon, eric.snow, ncoghlan, pje
priority: normal
severity: normal
stage: needs patch
status: open
title: Deprecate portions or all of pkgutil module.
type: enhancement
versions: Python 3.5

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19939>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to