blob: 97db64233bb37e5860015e9e71b81ebcf186b169 [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannon438cecd2009-02-02 20:32:29 +00004* Create sandbox directory for a distutils packaging of what is in Python 2.7.
5
Brett Cannon02a68882009-02-02 05:58:30 +00006* Use rpartition for getting the package of a module.
7
8 + Make sure that an empty string is acceptable for __package__.
9
Brett Cannon23cbd8a2009-01-18 00:24:28 +000010* Create meta_path importer for sys.path.
11
Brett Cannon20b56e12009-02-01 05:55:23 +000012 + Create hook.
Brett Cannon64a3a652009-02-05 02:53:47 +000013 + Write tests.
Brett Cannon20b56e12009-02-01 05:55:23 +000014 + Rewrite Import to use the hook.
Brett Cannon64a3a652009-02-05 02:53:47 +000015 + Document.
Brett Cannon23cbd8a2009-01-18 00:24:28 +000016
Brett Cannond0005ff2009-01-26 01:54:40 +000017* Implement PEP 302 protocol for loaders (should just be a matter of testing).
18
19 + Built-in.
20 + Frozen.
21 + Extension.
22 + Source/bytecode.
23
Brett Cannonafccd632009-01-20 02:21:27 +000024* Public API to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000025
Brett Cannon23cbd8a2009-01-18 00:24:28 +000026 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000027
Brett Cannon23cbd8a2009-01-18 00:24:28 +000028 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon23cbd8a2009-01-18 00:24:28 +000040 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000041
Brett Cannon23cbd8a2009-01-18 00:24:28 +000042 * is_package
43 * get_code
44 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000045
Brett Cannon23cbd8a2009-01-18 00:24:28 +000046 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000047
Brett Cannon23cbd8a2009-01-18 00:24:28 +000048 * source_path
49 * bytecode_path
50 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000051
Brett Cannon23cbd8a2009-01-18 00:24:28 +000052 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000053
Brett Cannon23cbd8a2009-01-18 00:24:28 +000054 - get_module decorator (new name)
55 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000056 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000057
58 + machinery
59
Brett Cannon23cbd8a2009-01-18 00:24:28 +000060 - (?) Chained path hook/finder
61 - BuiltinImporter
62 - FrozenImporter
63 - (?) FileFinder
64 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000065
Brett Cannon23cbd8a2009-01-18 00:24:28 +000066 * ExtensionFinder
67 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000068
Brett Cannon23cbd8a2009-01-18 00:24:28 +000069 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000070
Brett Cannon23cbd8a2009-01-18 00:24:28 +000071 * SourceFinder
72 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000073
Brett Cannon20b56e12009-02-01 05:55:23 +000074* Write benchmark suite.
75
76* OPTIMIZE!
77
78 + Fast path common cases.
79
80 - Absolute name from sys.path.
81 - Relative name from sys.path.
82
Brett Cannon24b6a2c2009-01-18 00:36:55 +000083* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000084
85* Replace standard library modules.
86
87 + imp
88 + py_compile
89 + compileall