diff options
author | Brett Cannon <bcannon@gmail.com> | 2009-02-17 02:45:03 +0000 |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2009-02-17 02:45:03 +0000 |
commit | d2e7b3381532720cdfafbf59491bb74b7ff31b51 (patch) | |
tree | a1fd1d30a63d323cc5ee605dd43861c945202773 /Lib/importlib/NOTES | |
parent | 0586ed6288b98520dccaecfdbfd88cda5392bc91 (diff) | |
download | cpython-git-d2e7b3381532720cdfafbf59491bb74b7ff31b51.tar.gz |
Implement the more specific PEP 302 semantics for loaders and what happens upon
load failure in relation to reloads. Also expose
importlib.util.module_for_loader to handle all of the details of this along
with making sure all current loaders behave nicely.
Diffstat (limited to 'Lib/importlib/NOTES')
-rw-r--r-- | Lib/importlib/NOTES | 64 |
1 files changed, 31 insertions, 33 deletions
diff --git a/Lib/importlib/NOTES b/Lib/importlib/NOTES index bdbedec653..4a473850bb 100644 --- a/Lib/importlib/NOTES +++ b/Lib/importlib/NOTES @@ -1,68 +1,66 @@ to do ///// -* Change failed loading based on PEP 302 changes. - * Refactor source/bytecode finder/loader code such that bytecode support is a subclass of source support (makes it nicer for VMs that don't use CPython bytecode). * Implement PEP 302 protocol for loaders (should just be a matter of testing). - + Built-in. - + Frozen. - + Extension. + Source/bytecode. * Public API left to expose (w/ docs!) - + abc + + abc + + - Finder - - Finder + * find_module - * find_module + - Loader - - Loader + * load_module - * load_module + - (?) Importer(Finder, Loader) + - ResourceLoader(Loader) - - (?) Importer(Finder, Loader) + * get_data - - ResourceLoader(Loader) + - InspectLoader(Loader) - * get_data + * is_package + * get_code + * get_source - - InspectLoader(Loader) + - (?) SourceLoader(ResourceLoader) - * is_package - * get_code - * get_source + * source_path + * bytecode_path + * write_bytecode (not abstract) - - (?) SourceLoader(ResourceLoader) + + util - * source_path - * bytecode_path - * write_bytecode (not abstract) + - set___package__ decorator - + util + + machinery - - get_module decorator (rename: module_for_loader) - - set___package__ decorator + - (?) Chained path hook/finder + - Extensions importers - + machinery + * ExtensionFinder + * (?) Loader - - (?) Chained path hook/finder - - Extensions importers + - Source/bytecode importers - * ExtensionFinder - * (?) Loader + * SourceFinder + * (?) Loader - - Source/bytecode importers + + test - * SourceFinder - * (?) Loader + - abc - - PathFinder + * FinderTests [doc] + * LoaderTests [doc] * Make sure that there is documentation *somewhere* fully explaining the semantics of import that can be referenced from the package's documentation |