blob: 5d87a0fe179251120be93ff9ecf32cc4ed9644bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
to do
/////
* Create sandbox directory for a distutils packaging of what is in Python 2.7.
* Use rpartition for getting the package of a module.
+ Make sure that an empty string is acceptable for __package__.
* Create meta_path importer for sys.path.
+ Create hook.
+ Rewrite Import to use the hook.
* Implement PEP 302 protocol for loaders (should just be a matter of testing).
+ Built-in.
+ Frozen.
+ Extension.
+ Source/bytecode.
* 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)
- resolve_name
+ machinery
- (?) Chained path hook/finder
- BuiltinImporter
- FrozenImporter
- (?) FileFinder
- Extensions importers
* ExtensionFinder
* (?) Loader
- Source/bytecode importers
* SourceFinder
* (?) Loader
* Write benchmark suite.
* OPTIMIZE!
+ Fast path common cases.
- Absolute name from sys.path.
- Relative name from sys.path.
* Bootstrap importlib as implementation of builtins.__import__
* Replace standard library modules.
+ imp
+ py_compile
+ compileall
|