blob: 22e4d055ef2b69f4218abad0befc2deb5674a1f3 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon4b4a4a52009-02-15 05:46:50 +00004* Change failed loading based on PEP 302 changes.
5
Brett Cannonc1761b72009-02-09 21:51:29 +00006* Refactor source/bytecode finder/loader code such that bytecode support is a
7 subclass of source support (makes it nicer for VMs that don't use CPython
8 bytecode).
9
Brett Cannond0005ff2009-01-26 01:54:40 +000010* Implement PEP 302 protocol for loaders (should just be a matter of testing).
11
12 + Built-in.
13 + Frozen.
14 + Extension.
15 + Source/bytecode.
16
Brett Cannon6411aa52009-02-06 00:07:49 +000017* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000018
Brett Cannon23cbd8a2009-01-18 00:24:28 +000019 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000020
Brett Cannon23cbd8a2009-01-18 00:24:28 +000021 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000022
Brett Cannon23cbd8a2009-01-18 00:24:28 +000023 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000024
Brett Cannon23cbd8a2009-01-18 00:24:28 +000025 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000026
Brett Cannon23cbd8a2009-01-18 00:24:28 +000027 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000028
Brett Cannon6411aa52009-02-06 00:07:49 +000029 - (?) Importer(Finder, Loader)
30
Brett Cannon23cbd8a2009-01-18 00:24:28 +000031 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000032
Brett Cannon23cbd8a2009-01-18 00:24:28 +000033 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000034
Brett Cannon23cbd8a2009-01-18 00:24:28 +000035 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000036
Brett Cannon23cbd8a2009-01-18 00:24:28 +000037 * is_package
38 * get_code
39 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000040
Brett Cannon23cbd8a2009-01-18 00:24:28 +000041 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000042
Brett Cannon23cbd8a2009-01-18 00:24:28 +000043 * source_path
44 * bytecode_path
Brett Cannon2c318a12009-02-07 01:15:27 +000045 * write_bytecode (not abstract)
Brett Cannon5abdc932009-01-22 22:43:07 +000046
Brett Cannonb2071f82009-02-07 02:14:07 +000047 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000048
Brett Cannon2c318a12009-02-07 01:15:27 +000049 - get_module decorator (rename: module_for_loader)
Brett Cannon36d1f3e2009-02-07 01:57:14 +000050 - set___package__ decorator
Brett Cannon5abdc932009-01-22 22:43:07 +000051
52 + machinery
53
Brett Cannon23cbd8a2009-01-18 00:24:28 +000054 - (?) Chained path hook/finder
Brett Cannon23cbd8a2009-01-18 00:24:28 +000055 - (?) FileFinder
56 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000057
Brett Cannon23cbd8a2009-01-18 00:24:28 +000058 * ExtensionFinder
59 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000060
Brett Cannon23cbd8a2009-01-18 00:24:28 +000061 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000062
Brett Cannon23cbd8a2009-01-18 00:24:28 +000063 * SourceFinder
64 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000065
Brett Cannon2c318a12009-02-07 01:15:27 +000066 - PathFinder
67
Brett Cannon20b56e12009-02-01 05:55:23 +000068* Write benchmark suite.
69
70* OPTIMIZE!
71
Brett Cannon6411aa52009-02-06 00:07:49 +000072 + Fast path absolute name.
73 + Fast path pulling from sys.modules.
Brett Cannon20b56e12009-02-01 05:55:23 +000074
Brett Cannon24b6a2c2009-01-18 00:36:55 +000075* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000076
77* Replace standard library modules.
78
79 + imp
80 + py_compile
81 + compileall