Miro Hrončok 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								ae1965ccb4 
								
							 
						 
						
							
							
								
								bpo-45703: Invalidate _NamespacePath cache on importlib.invalidate_ca… (GH-29384)  
							
							 
							
							... 
							
							
							
							Consider the following directory structure:
    .
    └── PATH1
        └── namespace
            └── sub1
                └── __init__.py
And both PATH1 and PATH2 in sys path:
    $ PYTHONPATH=PATH1:PATH2 python3.11
    >>> import namespace
    >>> import namespace.sub1
    >>> namespace.__path__
    _NamespacePath(['.../PATH1/namespace'])
    >>> ...
While this interpreter still runs, PATH2/namespace/sub2 is created:
    .
    ├── PATH1
    │   └── namespace
    │       └── sub1
    │           └── __init__.py
    └── PATH2
        └── namespace
            └── sub2
                └── __init__.py
The newly created module cannot be imported:
    >>> ...
    >>> namespace.__path__
    _NamespacePath(['.../PATH1/namespace'])
    >>> import namespace.sub2
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'namespace.sub2'
Calling importlib.invalidate_caches() now newly allows to import it:
    >>> import importlib
    >>> importlib.invalidate_caches()
    >>> namespace.__path__
    _NamespacePath(['.../PATH1/namespace'])
    >>> import namespace.sub2
    >>> namespace.__path__
    _NamespacePath(['.../PATH1/namespace', '.../PATH2/namespace'])
This was not previously possible. 
							
						 
						
							2021-11-23 07:38:02 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Barry Warsaw 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								876fc7fcec 
								
							 
						 
						
							
							
								
								bpo-35673: Add a public alias for namespace package __loader__ attribute ( #29049 )  
							
							 
							
							... 
							
							
							
							Rename namespace package __loader__ class to be public.
Make the old name, i.e. _NamespaceLoader, an alias for the public name, for backward compatibility. 
							
						 
						
							2021-10-20 14:05:29 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Brett Cannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1899087b21 
								
							 
						 
						
							
							
								
								bpo-42136: Deprecate module_repr() as found in importlib (GH-25022)  
							
							 
							
							
							
						 
						
							2021-03-26 11:55:07 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Brett Cannon 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								9cb31d6716 
								
							 
						 
						
							
							
								
								bpo-42137: have ModuleType.__repr__ prefer __spec__ over module_repr() (GH-24953)  
							
							 
							
							... 
							
							
							
							This is to work towards the removal of the use of  module_repr() in Python 3.12 (documented as deprecated since 3.4). 
							
						 
						
							2021-03-24 08:26:56 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Anthony Sottile 
								
							 
						 
						
							
							
							
							
								
							
							
								ab9b31f947 
								
							 
						 
						
							
							
								
								bpo-35843: Implement __getitem__ for _NamespacePath (GH-11690)  
							
							 
							
							
							
						 
						
							2019-03-08 10:58:00 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Barry Warsaw 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bbbcf8693b 
								
							 
						 
						
							
							
								
								bpo-32303 - Consistency fixes for namespace loaders ( #5481 )  
							
							 
							
							... 
							
							
							
							* Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages.
* Make sure ``__spec__.origin` matches ``__file__`` for namespace packages.
https://bugs.python.org/issue32303 
https://bugs.python.org/issue32305  
							
						 
						
							2018-02-02 15:15:58 -05:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eric Snow 
								
							 
						 
						
							
							
							
							
								
							
							
								d65018b17c 
								
							 
						 
						
							
							
								
								Fixes   #19711 : Add tests for reloading namespace packages.  
							
							 
							
							
							
						 
						
							2016-05-10 15:29:05 -06:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								e437a10d15 
								
							 
						 
						
							
							
								
								Issue  #23277 : Remove unused imports in tests.  
							
							 
							
							
							
						 
						
							2016-04-24 21:41:02 +03:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								597d15afe4 
								
							 
						 
						
							
							
								
								Issue  #23277 : Remove unused support.run_unittest import.  
							
							 
							
							
							
						 
						
							2016-04-24 13:45:58 +03:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Eric Snow 
								
							 
						 
						
							
							
							
							
								
							
							
								c4bbd7a492 
								
							 
						 
						
							
							
								
								Issue  #21097 : Move test_namespace_pkgs into test_importlib.  
							
							 
							
							
							
						 
						
							2014-03-29 15:57:44 -06:00