blob: c1df89bf31f08247fcbde642a7e9d672d0fcecf2 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon06c9d962009-02-07 01:52:25 +00004* Extract test_path_hooks constants into a util module for extension testing.
Brett Cannon6411aa52009-02-06 00:07:49 +00005
Brett Cannon36d1f3e2009-02-07 01:57:14 +00006* Backport a poor-man's functools.wraps.
7
Brett Cannond0005ff2009-01-26 01:54:40 +00008* Implement PEP 302 protocol for loaders (should just be a matter of testing).
9
10 + Built-in.
11 + Frozen.
12 + Extension.
13 + Source/bytecode.
14
Brett Cannon6411aa52009-02-06 00:07:49 +000015* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000016
Brett Cannon23cbd8a2009-01-18 00:24:28 +000017 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000018
Brett Cannon23cbd8a2009-01-18 00:24:28 +000019 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000020
Brett Cannon23cbd8a2009-01-18 00:24:28 +000021 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000022
Brett Cannon23cbd8a2009-01-18 00:24:28 +000023 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000024
Brett Cannon23cbd8a2009-01-18 00:24:28 +000025 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000026
Brett Cannon6411aa52009-02-06 00:07:49 +000027 - (?) Importer(Finder, Loader)
28
Brett Cannon23cbd8a2009-01-18 00:24:28 +000029 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000030
Brett Cannon23cbd8a2009-01-18 00:24:28 +000031 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000032
Brett Cannon23cbd8a2009-01-18 00:24:28 +000033 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000034
Brett Cannon23cbd8a2009-01-18 00:24:28 +000035 * is_package
36 * get_code
37 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000038
Brett Cannon23cbd8a2009-01-18 00:24:28 +000039 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000040
Brett Cannon23cbd8a2009-01-18 00:24:28 +000041 * source_path
42 * bytecode_path
Brett Cannon2c318a12009-02-07 01:15:27 +000043 * write_bytecode (not abstract)
Brett Cannon5abdc932009-01-22 22:43:07 +000044
Brett Cannon36d1f3e2009-02-07 01:57:14 +000045 + util (for decorators, make sure to wrap with functools.wraps)
Brett Cannon5abdc932009-01-22 22:43:07 +000046
Brett Cannon2c318a12009-02-07 01:15:27 +000047 - get_module decorator (rename: module_for_loader)
Brett Cannon36d1f3e2009-02-07 01:57:14 +000048 - set___package__ decorator
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