2009-01-17 20:24:28 -04:00
|
|
|
to do
|
|
|
|
/////
|
|
|
|
|
2009-02-09 17:51:29 -04:00
|
|
|
* 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).
|
|
|
|
|
2009-02-20 23:31:35 -04:00
|
|
|
+ PyLoader (for ABC)
|
2009-02-17 03:15:17 -04:00
|
|
|
|
|
|
|
- get_code for source only
|
2009-02-20 23:31:35 -04:00
|
|
|
|
|
|
|
+ PyFileLoader(PyLoader)
|
|
|
|
|
2009-02-17 03:15:17 -04:00
|
|
|
- get_data
|
|
|
|
- source_mtime
|
|
|
|
- source_path
|
|
|
|
|
2009-02-20 23:31:35 -04:00
|
|
|
+PyPycLoader (PyLoader, for ABC)
|
|
|
|
|
|
|
|
- get_code for source and bytecode
|
|
|
|
|
|
|
|
+ PyPycFileLoader(PyPycLoader, PyFileLoader)
|
2009-02-17 03:15:17 -04:00
|
|
|
|
|
|
|
- bytecode_path
|
|
|
|
- write_bytecode
|
|
|
|
|
2009-01-25 21:54:40 -04:00
|
|
|
* Implement PEP 302 protocol for loaders (should just be a matter of testing).
|
|
|
|
|
|
|
|
+ Source/bytecode.
|
|
|
|
|
2009-02-05 20:07:49 -04:00
|
|
|
* Public API left to expose (w/ docs!)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
+ abc
|
|
|
|
|
|
|
|
- Finder
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* find_module
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- Loader
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* load_module
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- (?) Importer(Finder, Loader)
|
|
|
|
- ResourceLoader(Loader)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* get_data
|
2009-02-05 20:07:49 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- InspectLoader(Loader)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* is_package
|
|
|
|
* get_code
|
|
|
|
* get_source
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- (?) SourceLoader(ResourceLoader)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* source_path
|
|
|
|
* bytecode_path
|
|
|
|
* write_bytecode (not abstract)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
+ util
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- set___package__ decorator
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
+ machinery
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- Extensions importers
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* ExtensionFinder
|
|
|
|
* (?) Loader
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- Source/bytecode importers
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* SourceFinder
|
|
|
|
* (?) Loader
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-20 22:51:12 -04:00
|
|
|
+ test (Really want to worry about compatibility with future versions?)
|
2009-01-22 18:43:07 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
- abc
|
2009-01-17 20:36:55 -04:00
|
|
|
|
2009-02-16 22:45:03 -04:00
|
|
|
* FinderTests [doc]
|
|
|
|
* LoaderTests [doc]
|
2009-02-06 21:15:27 -04:00
|
|
|
|
2009-02-20 23:12:17 -04:00
|
|
|
* Remove ``import *`` from importlib.__init__.
|
|
|
|
|
|
|
|
* Remove __all__ from importlib._bootstrap.
|
|
|
|
|
|
|
|
* Add leading underscores to all objects in importlib._bootstrap that are not
|
|
|
|
publicly exposed.
|
|
|
|
|
2009-02-16 00:18:01 -04:00
|
|
|
* 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).
|
|
|
|
|
2009-02-01 01:55:23 -04:00
|
|
|
* Write benchmark suite.
|
|
|
|
|
|
|
|
* OPTIMIZE!
|
|
|
|
|
2009-02-05 20:07:49 -04:00
|
|
|
+ Fast path absolute name.
|
|
|
|
+ Fast path pulling from sys.modules.
|
2009-02-01 01:55:23 -04:00
|
|
|
|
2009-01-17 20:36:55 -04:00
|
|
|
* Bootstrap importlib as implementation of builtins.__import__
|
2009-02-02 16:32:29 -04:00
|
|
|
|
|
|
|
* Replace standard library modules.
|
|
|
|
|
|
|
|
+ imp
|
|
|
|
+ py_compile
|
|
|
|
+ compileall
|