| to do |
| ///// |
| |
| * Document: |
| |
| + The terms "importer", "finder", and "loader". |
| + machinery.BuiltinImporter. |
| + machinery.FrozenImporter. |
| |
| * Expose resolve_name(). |
| |
| * Backport to Python 2.7. |
| |
| + import_module |
| + resolve_name |
| |
| * Create reasonable base tests that all finders and loaders must pass so |
| that various implementations can just subclass as needed. |
| |
| * Expose built-in and frozen importers. |
| |
| + Make staticmethods so that class can be used directly. |
| |
| * Reorganize support code. |
| |
| + Separate general support code and importer-specific (e.g. source) support |
| code. |
| - Create support modules for each subdirectory (as needed). |
| + Add a file loader mock that returns monotonically increasing mtime. |
| - Use in source/test_reload. |
| - Use in source/test_load_module_mixed. |
| |
| * API simplification? |
| |
| + read_source -> get_data/source_path |
| + read_bytecode -> get_data/bytecode_path |
| + write_bytecode -> complete set of bytes for bytecode instead of |
| individual arguments. |
| |
| * Implement PEP 302 protocol for loaders (should just be a matter of testing). |
| |
| + Built-in. |
| + Frozen. |
| + Extension. |
| + Source/bytecode. |
| |
| * Create meta_path importer for sys.path. |
| |
| * OPTIMIZE! |
| |
| + Write benchmark suite. |
| + Fast path common cases. |
| |
| - Absolute name from sys.path. |
| - Relative name from sys.path. |
| |
| * Public API to expose (w/ docs!) |
| |
| + abc |
| |
| - Finder |
| |
| * find_module |
| |
| - Loader |
| |
| * load_module |
| |
| - ResourceLoader(Loader) |
| |
| * get_data |
| |
| - InspectLoader(Loader) |
| |
| * is_package |
| * get_code |
| * get_source |
| |
| - (?) SourceLoader(ResourceLoader) |
| |
| * source_path |
| * bytecode_path |
| * write_bytecode |
| |
| + util |
| |
| - get_module decorator (new name) |
| - check_name decorator (new name) |
| |
| + machinery |
| |
| - (?) Chained path hook/finder |
| - BuiltinImporter |
| - FrozenImporter |
| - (?) FileFinder |
| - Extensions importers |
| |
| * ExtensionFinder |
| * (?) Loader |
| |
| - Source/bytecode importers |
| |
| * SourceFinder |
| * (?) Loader |
| |
| * Bootstrap importlib as implementation of builtins.__import__ |