blob: 5d87a0fe179251120be93ff9ecf32cc4ed9644bb [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.
13 + Rewrite Import to use the hook.
Brett Cannon23cbd8a2009-01-18 00:24:28 +000014
Brett Cannond0005ff2009-01-26 01:54:40 +000015* Implement PEP 302 protocol for loaders (should just be a matter of testing).
16
17 + Built-in.
18 + Frozen.
19 + Extension.
20 + Source/bytecode.
21
Brett Cannonafccd632009-01-20 02:21:27 +000022* Public API to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000023
Brett Cannon23cbd8a2009-01-18 00:24:28 +000024 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000025
Brett Cannon23cbd8a2009-01-18 00:24:28 +000026 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000027
Brett Cannon23cbd8a2009-01-18 00:24:28 +000028 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon23cbd8a2009-01-18 00:24:28 +000040 * is_package
41 * get_code
42 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannon23cbd8a2009-01-18 00:24:28 +000044 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000045
Brett Cannon23cbd8a2009-01-18 00:24:28 +000046 * source_path
47 * bytecode_path
48 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000049
Brett Cannon23cbd8a2009-01-18 00:24:28 +000050 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000051
Brett Cannon23cbd8a2009-01-18 00:24:28 +000052 - get_module decorator (new name)
53 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000054 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000055
56 + machinery
57
Brett Cannon23cbd8a2009-01-18 00:24:28 +000058 - (?) Chained path hook/finder
59 - BuiltinImporter
60 - FrozenImporter
61 - (?) FileFinder
62 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000063
Brett Cannon23cbd8a2009-01-18 00:24:28 +000064 * ExtensionFinder
65 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000066
Brett Cannon23cbd8a2009-01-18 00:24:28 +000067 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000068
Brett Cannon23cbd8a2009-01-18 00:24:28 +000069 * SourceFinder
70 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000071
Brett Cannon20b56e12009-02-01 05:55:23 +000072* Write benchmark suite.
73
74* OPTIMIZE!
75
76 + Fast path common cases.
77
78 - Absolute name from sys.path.
79 - Relative name from sys.path.
80
Brett Cannon24b6a2c2009-01-18 00:36:55 +000081* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000082
83* Replace standard library modules.
84
85 + imp
86 + py_compile
87 + compileall