blob: e0ca28cdaa53bb710d8d617407835d0ed433714a [file] [log] [blame]
Brett Cannon23cbd8a2009-01-18 00:24:28 +00001to do
2/////
3
Brett Cannonafccd632009-01-20 02:21:27 +00004* Expose resolve_name().
Brett Cannon23cbd8a2009-01-18 00:24:28 +00005
Brett Cannonafccd632009-01-20 02:21:27 +00006* Backport to Python 2.7.
Brett Cannon23cbd8a2009-01-18 00:24:28 +00007 + import_module
Brett Cannonafccd632009-01-20 02:21:27 +00008 + resolve_name
Brett Cannon23cbd8a2009-01-18 00:24:28 +00009
10* Create reasonable base tests that all finders and loaders must pass so
11 that various implementations can just subclass as needed.
12
13* Expose built-in and frozen importers.
14 + Make staticmethods so that class can be used directly.
15
16* Reorganize support code.
17 + Separate general support code and importer-specific (e.g. source) support
18 code.
19 - Create support modules for each subdirectory (as needed).
20 + Add a file loader mock that returns monotonically increasing mtime.
21 - Use in source/test_reload.
22 - Use in source/test_load_module_mixed.
23
24* API simplification?
25 + read_source -> get_data/source_path
26 + read_bytecode -> get_data/bytecode_path
27 + write_bytecode -> complete set of bytes for bytecode instead of
28 individual arguments.
29
30* Implement PEP 302 protocol for loaders (should just be a matter of testing).
31 + Built-in.
32 + Frozen.
33 + Extension.
34 + Source/bytecode.
35
36* Create meta_path importer for sys.path.
37
38* OPTIMIZE!
39 + Write benchmark suite.
40 + Fast path common cases.
41 - Absolute name from sys.path.
42 - Relative name from sys.path.
43
Brett Cannonafccd632009-01-20 02:21:27 +000044* Public API to expose (w/ docs!)
Brett Cannon23cbd8a2009-01-18 00:24:28 +000045 + abc
46 - Finder
47 * find_module
48 - Loader
49 * load_module
50 - ResourceLoader(Loader)
51 * get_data
52 - InspectLoader(Loader)
53 * is_package
54 * get_code
55 * get_source
56 - (?) SourceLoader(ResourceLoader)
57 * source_path
58 * bytecode_path
59 * write_bytecode
60 + util
61 - get_module decorator (new name)
62 - check_name decorator (new name)
63 + hooks (?)
64 - (?) Chained path hook/finder
65 - BuiltinImporter
66 - FrozenImporter
67 - (?) FileFinder
68 - Extensions importers
69 * ExtensionFinder
70 * (?) Loader
71 - Source/bytecode importers
72 * SourceFinder
73 * (?) Loader
Brett Cannon24b6a2c2009-01-18 00:36:55 +000074
75* Bootstrap importlib as implementation of builtins.__import__