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