blob: 22103a102c6854f53e94daf2e1122bdfa42b9bee [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannond0005ff2009-01-26 01:54:40 +00004* Implement PEP 302 protocol for loaders (should just be a matter of testing).
5
Brett Cannond0005ff2009-01-26 01:54:40 +00006 + Source/bytecode.
7
Brett Cannon6411aa52009-02-06 00:07:49 +00008* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +00009
Brett Cannond2e7b332009-02-17 02:45:03 +000010 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000011
Brett Cannond2e7b332009-02-17 02:45:03 +000012 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000013
Brett Cannond2e7b332009-02-17 02:45:03 +000014 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000015
Brett Cannond2e7b332009-02-17 02:45:03 +000016 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000017
Brett Cannond2e7b332009-02-17 02:45:03 +000018 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000019
Brett Cannond2e7b332009-02-17 02:45:03 +000020 - ResourceLoader(Loader)
Brett Cannon6411aa52009-02-06 00:07:49 +000021
Brett Cannond2e7b332009-02-17 02:45:03 +000022 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000023
Brett Cannond2e7b332009-02-17 02:45:03 +000024 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000025
Brett Cannond2e7b332009-02-17 02:45:03 +000026 * is_package
27 * get_code
28 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannond2e7b332009-02-17 02:45:03 +000030 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannond2e7b332009-02-17 02:45:03 +000032 * source_path
33 * bytecode_path
34 * write_bytecode (not abstract)
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannond2e7b332009-02-17 02:45:03 +000036 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannond2e7b332009-02-17 02:45:03 +000038 - set___package__ decorator
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannond2e7b332009-02-17 02:45:03 +000040 + machinery
Brett Cannon5abdc932009-01-22 22:43:07 +000041
Brett Cannond2e7b332009-02-17 02:45:03 +000042 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannond2e7b332009-02-17 02:45:03 +000044 * ExtensionFinder
45 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000046
Brett Cannond2e7b332009-02-17 02:45:03 +000047 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000048
Brett Cannond2e7b332009-02-17 02:45:03 +000049 * SourceFinder
50 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000051
Brett Cannon22db67e2009-02-21 02:51:12 +000052 + test (Really want to worry about compatibility with future versions?)
Brett Cannon24b6a2c2009-01-18 00:36:55 +000053
Brett Cannond2e7b332009-02-17 02:45:03 +000054 - abc
55
56 * FinderTests [doc]
57 * LoaderTests [doc]
Brett Cannon2c318a12009-02-07 01:15:27 +000058
Brett Cannona2fcb1d2009-02-21 03:12:17 +000059* Remove ``import *`` from importlib.__init__.
60
61* Remove __all__ from importlib._bootstrap.
62
63* Add leading underscores to all objects in importlib._bootstrap that are not
64 publicly exposed.
65
Brett Cannon91cf8822009-02-21 05:41:15 +000066* Reorder importlib/_bootstrap.py so definitions are not in inverted order.
67
Brett Cannondebb98d2009-02-16 04:18:01 +000068* Make sure that there is documentation *somewhere* fully explaining the
69semantics of import that can be referenced from the package's documentation
70(even if it is in the package documentation itself, although it might be best
71in the language specification).
72
Brett Cannon20b56e12009-02-01 05:55:23 +000073* Write benchmark suite.
74
75* OPTIMIZE!
76
Brett Cannon6411aa52009-02-06 00:07:49 +000077 + Fast path absolute name.
78 + Fast path pulling from sys.modules.
Brett Cannon20b56e12009-02-01 05:55:23 +000079
Brett Cannon24b6a2c2009-01-18 00:36:55 +000080* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000081
82* Replace standard library modules.
83
84 + imp
85 + py_compile
86 + compileall