blob: 5e65270bad23454b8b3e1a4177ec596ad9498970 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon02a68882009-02-02 05:58:30 +00004* Use rpartition for getting the package of a module.
5
6 + Make sure that an empty string is acceptable for __package__.
7
Brett Cannon23cbd8a2009-01-18 00:24:28 +00008* Create meta_path importer for sys.path.
9
Brett Cannon20b56e12009-02-01 05:55:23 +000010 + Create hook.
11 + Rewrite Import to use the hook.
Brett Cannon23cbd8a2009-01-18 00:24:28 +000012
Brett Cannond0005ff2009-01-26 01:54:40 +000013* Implement PEP 302 protocol for loaders (should just be a matter of testing).
14
15 + Built-in.
16 + Frozen.
17 + Extension.
18 + Source/bytecode.
19
Brett Cannonafccd632009-01-20 02:21:27 +000020* Public API to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000021
Brett Cannon23cbd8a2009-01-18 00:24:28 +000022 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000023
Brett Cannon23cbd8a2009-01-18 00:24:28 +000024 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000025
Brett Cannon23cbd8a2009-01-18 00:24:28 +000026 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000027
Brett Cannon23cbd8a2009-01-18 00:24:28 +000028 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 * is_package
39 * get_code
40 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000041
Brett Cannon23cbd8a2009-01-18 00:24:28 +000042 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannon23cbd8a2009-01-18 00:24:28 +000044 * source_path
45 * bytecode_path
46 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000047
Brett Cannon23cbd8a2009-01-18 00:24:28 +000048 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000049
Brett Cannon23cbd8a2009-01-18 00:24:28 +000050 - get_module decorator (new name)
51 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000052 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000053
54 + machinery
55
Brett Cannon23cbd8a2009-01-18 00:24:28 +000056 - (?) Chained path hook/finder
57 - BuiltinImporter
58 - FrozenImporter
59 - (?) FileFinder
60 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000061
Brett Cannon23cbd8a2009-01-18 00:24:28 +000062 * ExtensionFinder
63 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000064
Brett Cannon23cbd8a2009-01-18 00:24:28 +000065 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000066
Brett Cannon23cbd8a2009-01-18 00:24:28 +000067 * SourceFinder
68 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000069
Brett Cannon20b56e12009-02-01 05:55:23 +000070* Write benchmark suite.
71
72* OPTIMIZE!
73
74 + Fast path common cases.
75
76 - Absolute name from sys.path.
77 - Relative name from sys.path.
78
Brett Cannon24b6a2c2009-01-18 00:36:55 +000079* Bootstrap importlib as implementation of builtins.__import__