mirror of
https://github.com/python/cpython.git
synced 2025-08-30 13:38:43 +00:00

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.
83 lines
1.6 KiB
Text
83 lines
1.6 KiB
Text
to do
|
|
/////
|
|
|
|
* 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).
|
|
|
|
+ Source/bytecode.
|
|
|
|
* Public API left to expose (w/ docs!)
|
|
|
|
+ abc
|
|
|
|
- Finder
|
|
|
|
* find_module
|
|
|
|
- Loader
|
|
|
|
* load_module
|
|
|
|
- (?) Importer(Finder, Loader)
|
|
- ResourceLoader(Loader)
|
|
|
|
* get_data
|
|
|
|
- InspectLoader(Loader)
|
|
|
|
* is_package
|
|
* get_code
|
|
* get_source
|
|
|
|
- (?) SourceLoader(ResourceLoader)
|
|
|
|
* source_path
|
|
* bytecode_path
|
|
* write_bytecode (not abstract)
|
|
|
|
+ util
|
|
|
|
- set___package__ decorator
|
|
|
|
+ machinery
|
|
|
|
- (?) Chained path hook/finder
|
|
- Extensions importers
|
|
|
|
* ExtensionFinder
|
|
* (?) Loader
|
|
|
|
- Source/bytecode importers
|
|
|
|
* SourceFinder
|
|
* (?) Loader
|
|
|
|
+ test
|
|
|
|
- abc
|
|
|
|
* 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
|
|
(even if it is in the package documentation itself, although it might be best
|
|
in the language specification).
|
|
|
|
* Write benchmark suite.
|
|
|
|
* OPTIMIZE!
|
|
|
|
+ Fast path absolute name.
|
|
+ Fast path pulling from sys.modules.
|
|
|
|
* Bootstrap importlib as implementation of builtins.__import__
|
|
|
|
* Replace standard library modules.
|
|
|
|
+ imp
|
|
+ py_compile
|
|
+ compileall
|