blob: 7a9ca6652f0f1f2d55406b505248433dc1a698a3 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon23cbd8a2009-01-18 00:24:28 +00004* Create meta_path importer for sys.path.
5
Brett Cannon20b56e12009-02-01 05:55:23 +00006 + Create hook.
7 + Rewrite Import to use the hook.
Brett Cannon23cbd8a2009-01-18 00:24:28 +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 Cannonafccd632009-01-20 02:21:27 +000016* Public API 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 Cannon23cbd8a2009-01-18 00:24:28 +000028 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 * is_package
35 * get_code
36 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon23cbd8a2009-01-18 00:24:28 +000040 * source_path
41 * bytecode_path
42 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannon23cbd8a2009-01-18 00:24:28 +000044 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000045
Brett Cannon23cbd8a2009-01-18 00:24:28 +000046 - get_module decorator (new name)
47 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000048 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000049
50 + machinery
51
Brett Cannon23cbd8a2009-01-18 00:24:28 +000052 - (?) Chained path hook/finder
53 - BuiltinImporter
54 - FrozenImporter
55 - (?) 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 Cannon20b56e12009-02-01 05:55:23 +000066* Write benchmark suite.
67
68* OPTIMIZE!
69
70 + Fast path common cases.
71
72 - Absolute name from sys.path.
73 - Relative name from sys.path.
74
Brett Cannon24b6a2c2009-01-18 00:36:55 +000075* Bootstrap importlib as implementation of builtins.__import__