blob: 05920ad7fbfe2e2f9175eb966f3ba0a359495f39 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon02a68882009-02-02 05:58:30 +00004* Use rpartition for getting the package of a module.
5
Brett Cannon2c318a12009-02-07 01:15:27 +00006 + Make sure there is a test for the empty string as acceptable for
7 __package__.
Brett Cannon6411aa52009-02-06 00:07:49 +00008
Brett Cannond0005ff2009-01-26 01:54:40 +00009* Implement PEP 302 protocol for loaders (should just be a matter of testing).
10
11 + Built-in.
12 + Frozen.
13 + Extension.
14 + Source/bytecode.
15
Brett Cannon6411aa52009-02-06 00:07:49 +000016* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000017
Brett Cannon23cbd8a2009-01-18 00:24:28 +000018 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000019
Brett Cannon23cbd8a2009-01-18 00:24:28 +000020 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000021
Brett Cannon23cbd8a2009-01-18 00:24:28 +000022 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000023
Brett Cannon23cbd8a2009-01-18 00:24:28 +000024 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000025
Brett Cannon23cbd8a2009-01-18 00:24:28 +000026 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000027
Brett Cannon6411aa52009-02-06 00:07:49 +000028 - (?) Importer(Finder, Loader)
29
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 * is_package
37 * get_code
38 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon23cbd8a2009-01-18 00:24:28 +000040 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000041
Brett Cannon23cbd8a2009-01-18 00:24:28 +000042 * source_path
43 * bytecode_path
Brett Cannon2c318a12009-02-07 01:15:27 +000044 * write_bytecode (not abstract)
Brett Cannon5abdc932009-01-22 22:43:07 +000045
Brett Cannon23cbd8a2009-01-18 00:24:28 +000046 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000047
Brett Cannon2c318a12009-02-07 01:15:27 +000048 - get_module decorator (rename: module_for_loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000049
50 + machinery
51
Brett Cannon23cbd8a2009-01-18 00:24:28 +000052 - (?) Chained path hook/finder
Brett Cannon23cbd8a2009-01-18 00:24:28 +000053 - (?) FileFinder
54 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000055
Brett Cannon23cbd8a2009-01-18 00:24:28 +000056 * ExtensionFinder
57 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000058
Brett Cannon23cbd8a2009-01-18 00:24:28 +000059 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000060
Brett Cannon23cbd8a2009-01-18 00:24:28 +000061 * SourceFinder
62 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000063
Brett Cannon2c318a12009-02-07 01:15:27 +000064 - PathFinder
65
Brett Cannon20b56e12009-02-01 05:55:23 +000066* Write benchmark suite.
67
68* OPTIMIZE!
69
Brett Cannon6411aa52009-02-06 00:07:49 +000070 + Fast path absolute name.
71 + Fast path pulling from sys.modules.
Brett Cannon20b56e12009-02-01 05:55:23 +000072
Brett Cannon24b6a2c2009-01-18 00:36:55 +000073* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000074
75* Replace standard library modules.
76
77 + imp
78 + py_compile
79 + compileall