mirror of
				https://github.com/python/cpython.git
				synced 2025-10-30 21:21:22 +00:00 
			
		
		
		
	 2a922ed6ad
			
		
	
	
		2a922ed6ad
		
	
	
	
	
		
			
			(mostly stuff specified by PEP 302). There are two ABCs, PyLoader and PyPycLoader, which help with implementing source and source/bytecode loaders by implementing load_module in terms of other methods. This removes a lot of gritty details loaders typically have to worry about.
		
			
				
	
	
		
			41 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| to do
 | |
| /////
 | |
| 
 | |
| * Public API left to expose (w/ docs!)
 | |
| 
 | |
|     + abc.PyLoader.get_source
 | |
|     + util.set_loader
 | |
| 
 | |
| * Implement InspectLoader for BuiltinImporter and FrozenImporter.
 | |
| 
 | |
|     + Expose function to see if a frozen module is a package.
 | |
| 
 | |
| * Remove ``import *`` from importlib.__init__.
 | |
| 
 | |
| * Remove __all__ from importlib._bootstrap.
 | |
| 
 | |
| * Add leading underscores to all objects in importlib._bootstrap that are not
 | |
|   publicly exposed.
 | |
| 
 | |
| * Reorder importlib/_bootstrap.py so definitions are not in inverted order.
 | |
| 
 | |
| * Make sure that there is documentation *somewhere* fully explaining the
 | |
| semantics of import that can be referenced from the package's documentation
 | |
| (even if it is in the package documentation itself, although it might be best
 | |
| in the language specification).
 | |
| 
 | |
| * 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
 | |
|   + zipimport
 |