blob: f0d8e433942c66cd48ccd1cdb5814f8691da284c [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 Cannond0005ff2009-01-26 01:54:40 +00006* Implement PEP 302 protocol for loaders (should just be a matter of testing).
7
8 + Built-in.
9 + Frozen.
10 + Extension.
11 + Source/bytecode.
12
Brett Cannon6411aa52009-02-06 00:07:49 +000013* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000014
Brett Cannon23cbd8a2009-01-18 00:24:28 +000015 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000016
Brett Cannon23cbd8a2009-01-18 00:24:28 +000017 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000018
Brett Cannon23cbd8a2009-01-18 00:24:28 +000019 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000020
Brett Cannon23cbd8a2009-01-18 00:24:28 +000021 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000022
Brett Cannon23cbd8a2009-01-18 00:24:28 +000023 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000024
Brett Cannon6411aa52009-02-06 00:07:49 +000025 - (?) Importer(Finder, Loader)
26
Brett Cannon23cbd8a2009-01-18 00:24:28 +000027 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000028
Brett Cannon23cbd8a2009-01-18 00:24:28 +000029 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000030
Brett Cannon23cbd8a2009-01-18 00:24:28 +000031 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000032
Brett Cannon23cbd8a2009-01-18 00:24:28 +000033 * is_package
34 * get_code
35 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000036
Brett Cannon23cbd8a2009-01-18 00:24:28 +000037 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000038
Brett Cannon23cbd8a2009-01-18 00:24:28 +000039 * source_path
40 * bytecode_path
Brett Cannon2c318a12009-02-07 01:15:27 +000041 * write_bytecode (not abstract)
Brett Cannon5abdc932009-01-22 22:43:07 +000042
Brett Cannon23cbd8a2009-01-18 00:24:28 +000043 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000044
Brett Cannon2c318a12009-02-07 01:15:27 +000045 - get_module decorator (rename: module_for_loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000046
47 + machinery
48
Brett Cannon23cbd8a2009-01-18 00:24:28 +000049 - (?) Chained path hook/finder
Brett Cannon23cbd8a2009-01-18 00:24:28 +000050 - (?) FileFinder
51 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000052
Brett Cannon23cbd8a2009-01-18 00:24:28 +000053 * ExtensionFinder
54 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000055
Brett Cannon23cbd8a2009-01-18 00:24:28 +000056 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000057
Brett Cannon23cbd8a2009-01-18 00:24:28 +000058 * SourceFinder
59 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000060
Brett Cannon2c318a12009-02-07 01:15:27 +000061 - PathFinder
62
Brett Cannon20b56e12009-02-01 05:55:23 +000063* Write benchmark suite.
64
65* OPTIMIZE!
66
Brett Cannon6411aa52009-02-06 00:07:49 +000067 + Fast path absolute name.
68 + Fast path pulling from sys.modules.
Brett Cannon20b56e12009-02-01 05:55:23 +000069
Brett Cannon24b6a2c2009-01-18 00:36:55 +000070* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000071
72* Replace standard library modules.
73
74 + imp
75 + py_compile
76 + compileall