blob: 7e785ff8bfc6d638cd8aec356aa70a0187a180b5 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon23cbd8a2009-01-18 00:24:28 +00004* API simplification?
Brett Cannon5abdc932009-01-22 22:43:07 +00005
Brett Cannon23cbd8a2009-01-18 00:24:28 +00006 + write_bytecode -> complete set of bytes for bytecode instead of
7 individual arguments.
8
Brett Cannon23cbd8a2009-01-18 00:24:28 +00009* Create meta_path importer for sys.path.
10
11* OPTIMIZE!
Brett Cannon5abdc932009-01-22 22:43:07 +000012
Brett Cannon23cbd8a2009-01-18 00:24:28 +000013 + Write benchmark suite.
14 + Fast path common cases.
Brett Cannon5abdc932009-01-22 22:43:07 +000015
Brett Cannon23cbd8a2009-01-18 00:24:28 +000016 - Absolute name from sys.path.
17 - Relative name from sys.path.
18
Brett Cannond0005ff2009-01-26 01:54:40 +000019* Implement PEP 302 protocol for loaders (should just be a matter of testing).
20
21 + Built-in.
22 + Frozen.
23 + Extension.
24 + Source/bytecode.
25
Brett Cannonafccd632009-01-20 02:21:27 +000026* Public API to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000027
Brett Cannon23cbd8a2009-01-18 00:24:28 +000028 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon23cbd8a2009-01-18 00:24:28 +000040 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000041
Brett Cannon23cbd8a2009-01-18 00:24:28 +000042 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannon23cbd8a2009-01-18 00:24:28 +000044 * is_package
45 * get_code
46 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000047
Brett Cannon23cbd8a2009-01-18 00:24:28 +000048 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000049
Brett Cannon23cbd8a2009-01-18 00:24:28 +000050 * source_path
51 * bytecode_path
52 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000053
Brett Cannon23cbd8a2009-01-18 00:24:28 +000054 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000055
Brett Cannon23cbd8a2009-01-18 00:24:28 +000056 - get_module decorator (new name)
57 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000058 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000059
60 + machinery
61
Brett Cannon23cbd8a2009-01-18 00:24:28 +000062 - (?) Chained path hook/finder
63 - BuiltinImporter
64 - FrozenImporter
65 - (?) FileFinder
66 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000067
Brett Cannon23cbd8a2009-01-18 00:24:28 +000068 * ExtensionFinder
69 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000070
Brett Cannon23cbd8a2009-01-18 00:24:28 +000071 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000072
Brett Cannon23cbd8a2009-01-18 00:24:28 +000073 * SourceFinder
74 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000075
76* Bootstrap importlib as implementation of builtins.__import__