| Brett Cannon | 23cbd8a | 2009-01-18 00:24:28 +0000 | [diff] [blame] | 1 | to 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 Cannon | 24b6a2c | 2009-01-18 00:36:55 +0000 | [diff] [blame] | 79 |  | 
 | 80 | * Bootstrap importlib as implementation of builtins.__import__ |