blob: 538e8740eff603921c69388b1de7456e71bbfefb [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 Cannon64a3a652009-02-05 02:53:47 +000012 + Document.
Brett Cannon23cbd8a2009-01-18 00:24:28 +000013
Brett Cannon6411aa52009-02-06 00:07:49 +000014* Refactor __import__.
15
16 + Create a greatest common denominator function for __import__/import_module
17 that takes in an absolute module name and performs the import.
18 + Use GCD import for __import__.
19 + Use GCD import for import_module.
20
Brett Cannond0005ff2009-01-26 01:54:40 +000021* Implement PEP 302 protocol for loaders (should just be a matter of testing).
22
23 + Built-in.
24 + Frozen.
25 + Extension.
26 + Source/bytecode.
27
Brett Cannon6411aa52009-02-06 00:07:49 +000028* Public API left to expose (w/ docs!)
Brett Cannon5abdc932009-01-22 22:43:07 +000029
Brett Cannon23cbd8a2009-01-18 00:24:28 +000030 + abc
Brett Cannon5abdc932009-01-22 22:43:07 +000031
Brett Cannon23cbd8a2009-01-18 00:24:28 +000032 - Finder
Brett Cannon5abdc932009-01-22 22:43:07 +000033
Brett Cannon23cbd8a2009-01-18 00:24:28 +000034 * find_module
Brett Cannon5abdc932009-01-22 22:43:07 +000035
Brett Cannon23cbd8a2009-01-18 00:24:28 +000036 - Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000037
Brett Cannon23cbd8a2009-01-18 00:24:28 +000038 * load_module
Brett Cannon5abdc932009-01-22 22:43:07 +000039
Brett Cannon6411aa52009-02-06 00:07:49 +000040 - (?) Importer(Finder, Loader)
41
Brett Cannon23cbd8a2009-01-18 00:24:28 +000042 - ResourceLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000043
Brett Cannon23cbd8a2009-01-18 00:24:28 +000044 * get_data
Brett Cannon5abdc932009-01-22 22:43:07 +000045
Brett Cannon23cbd8a2009-01-18 00:24:28 +000046 - InspectLoader(Loader)
Brett Cannon5abdc932009-01-22 22:43:07 +000047
Brett Cannon23cbd8a2009-01-18 00:24:28 +000048 * is_package
49 * get_code
50 * get_source
Brett Cannon5abdc932009-01-22 22:43:07 +000051
Brett Cannon23cbd8a2009-01-18 00:24:28 +000052 - (?) SourceLoader(ResourceLoader)
Brett Cannon5abdc932009-01-22 22:43:07 +000053
Brett Cannon23cbd8a2009-01-18 00:24:28 +000054 * source_path
55 * bytecode_path
56 * write_bytecode
Brett Cannon5abdc932009-01-22 22:43:07 +000057
Brett Cannon23cbd8a2009-01-18 00:24:28 +000058 + util
Brett Cannon5abdc932009-01-22 22:43:07 +000059
Brett Cannon23cbd8a2009-01-18 00:24:28 +000060 - get_module decorator (new name)
61 - check_name decorator (new name)
Brett Cannond0005ff2009-01-26 01:54:40 +000062 - resolve_name
Brett Cannon5abdc932009-01-22 22:43:07 +000063
64 + machinery
65
Brett Cannon23cbd8a2009-01-18 00:24:28 +000066 - (?) Chained path hook/finder
Brett Cannon23cbd8a2009-01-18 00:24:28 +000067 - (?) FileFinder
68 - Extensions importers
Brett Cannon5abdc932009-01-22 22:43:07 +000069
Brett Cannon23cbd8a2009-01-18 00:24:28 +000070 * ExtensionFinder
71 * (?) Loader
Brett Cannon5abdc932009-01-22 22:43:07 +000072
Brett Cannon23cbd8a2009-01-18 00:24:28 +000073 - Source/bytecode importers
Brett Cannon5abdc932009-01-22 22:43:07 +000074
Brett Cannon23cbd8a2009-01-18 00:24:28 +000075 * SourceFinder
76 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000077
Brett Cannon20b56e12009-02-01 05:55:23 +000078* Write benchmark suite.
79
80* OPTIMIZE!
81
Brett Cannon6411aa52009-02-06 00:07:49 +000082 + Fast path absolute name.
83 + Fast path pulling from sys.modules.
Brett Cannon20b56e12009-02-01 05:55:23 +000084
Brett Cannon24b6a2c2009-01-18 00:36:55 +000085* Bootstrap importlib as implementation of builtins.__import__
Brett Cannon438cecd2009-02-02 20:32:29 +000086
87* Replace standard library modules.
88
89 + imp
90 + py_compile
91 + compileall