blob: 22e4d055ef2b69f4218abad0befc2deb5674a1f3 (
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
|
to do
/////
* Change failed loading based on PEP 302 changes.
* Refactor source/bytecode finder/loader code such that bytecode support is a
subclass of source support (makes it nicer for VMs that don't use CPython
bytecode).
* Implement PEP 302 protocol for loaders (should just be a matter of testing).
+ Built-in.
+ Frozen.
+ Extension.
+ Source/bytecode.
* Public API left to expose (w/ docs!)
+ abc
- Finder
* find_module
- Loader
* load_module
- (?) Importer(Finder, Loader)
- ResourceLoader(Loader)
* get_data
- InspectLoader(Loader)
* is_package
* get_code
* get_source
- (?) SourceLoader(ResourceLoader)
* source_path
* bytecode_path
* write_bytecode (not abstract)
+ util
- get_module decorator (rename: module_for_loader)
- set___package__ decorator
+ machinery
- (?) Chained path hook/finder
- (?) FileFinder
- Extensions importers
* ExtensionFinder
* (?) Loader
- Source/bytecode importers
* SourceFinder
* (?) Loader
- PathFinder
* Write benchmark suite.
* OPTIMIZE!
+ Fast path absolute name.
+ Fast path pulling from sys.modules.
* Bootstrap importlib as implementation of builtins.__import__
* Replace standard library modules.
+ imp
+ py_compile
+ compileall
|