summaryrefslogtreecommitdiffstats
path: root/Lib/importlib
Commit message (Collapse)AuthorAgeFilesLines
* bpo-31642: Restore blocking "from" import by setting None in sys.modules. ↵Serhiy Storchaka2017-10-081-1/+2
| | | | (#3834)
* bpo-31709: Update importlib magic (#3906)Yury Selivanov2017-10-061-1/+2
|
* Trivial cleanups following bpo-31370 (#3649)Antoine Pitrou2017-09-182-18/+2
| | | | | | * Trivial cleanups following bpo-31370 * Also cleanup the "importlib._bootstrap_external" module
* bpo-31070: Fix a race condition in importlib _get_module_lock(). (#3033)Serhiy Storchaka2017-08-091-2/+12
|
* bpo-30891: Fix again importlib _find_and_load() (#2665)Victor Stinner2017-07-211-5/+5
| | | | | | | | | Use sys.modules.get() in the "with _ModuleLockManager(name):" block to protect the dictionary key with the module lock and use an atomic get to prevent race condition. Remove also _bootstrap._POPULATE since it was unused (_bootstrap_external now has its own _POPULATE object), add a new _SENTINEL object instead.
* bpo-30876: Relative import from unloaded package now reimports the package ↵Serhiy Storchaka2017-07-121-4/+0
| | | | | | | | | (#2639) instead of failing with SystemError. Relative import from non-package now fails with ImportError rather than SystemError.
* bpo-30891: Fix importlib _find_and_load() race condition (#2646)Victor Stinner2017-07-101-28/+30
| | | | | | * Rewrite importlib _get_module_lock(): it is now responsible to hold the imp lock directly. * _find_and_load() now holds the module lock to check if name is in sys.modules to prevent a race condition
* bpo-30814: Fixed a race condition when import a submodule from a package. ↵Serhiy Storchaka2017-07-061-14/+14
| | | | (#2580)
* bpo-30436: Raise ModuleNotFoundError for importlib.util.find_spec() when ↵Milan Oberkirch2017-06-141-3/+8
| | | | | parent isn't a package (GH-1899) Previously AttributeError was raised, but that's not very reflective of the fact that the requested module can't be found since the specified parent isn't actually a package.
* bpo-29851: Have importlib.reload() raise ImportError if the module's spec is ↵Garvit Khatri2017-05-241-0/+2
| | | | not found (GH-972)
* bpo-22257: Small changes for PEP 432. (#1728)Eric Snow2017-05-231-1/+4
| | | PEP 432 specifies a number of large changes to interpreter startup code, including exposing a cleaner C-API. The major changes depend on a number of smaller changes. This patch includes all those smaller changes.
* bpo-30022: Get rid of using EnvironmentError and IOError (except test… (#1051)Serhiy Storchaka2017-04-162-7/+7
|
* bpo-29862: Fix grammar in importlib.reload() exception (GH-809)Mandeep Bhutani2017-03-251-1/+1
|
* bpo-29576: add explicit deprecation for importlib.abc.find_loader() and ↵Matthias Bussonnier2017-02-162-7/+21
| | | | | | find_module() (GH-32)
* Issue #26110: Add LOAD_METHOD/CALL_METHOD opcodes.Yury Selivanov2016-12-141-1/+2
| | | | | | | Special thanks to INADA Naoki for pushing the patch through the last mile, Serhiy Storchaka for reviewing the code, and to Victor Stinner for suggesting the idea (originally implemented in the PyPy project).
* Issue #28896: Disable WindowsRegistryFinder by default.Steve Dower2016-12-121-2/+0
|
* Issue #23722: improve __classcell__ compatibilityNick Coghlan2016-12-051-1/+2
| | | | | | | | | | | | | | | | | | | | | Handling zero-argument super() in __init_subclass__ and __set_name__ involved moving __class__ initialisation to type.__new__. This requires cooperation from custom metaclasses to ensure that the new __classcell__ entry is passed along appropriately. The initial implementation of that change resulted in abruptly broken zero-argument super() support in metaclasses that didn't adhere to the new requirements (such as Django's metaclass for Model definitions). The updated approach adopted here instead emits a deprecation warning for those cases, and makes them work the same way they did in Python 3.5. This patch also improves the related class machinery documentation to cover these details and to include more reader-friendly cross-references and index entries.
* Issue #28257: Improved error message when pass a non-iterable asSerhiy Storchaka2016-10-021-1/+2
| | | | a var-positional argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
* Issue #23722: Initialize __class__ from type.__new__()Nick Coghlan2016-09-111-2/+3
| | | | | | | | | The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann.
* Issue #24320: Drop an old setuptools-induced hack.Eric Snow2016-09-091-5/+0
|
* Rework CALL_FUNCTION* opcodesVictor Stinner2016-09-091-1/+2
| | | | | | | | | | | | | | | | | | | Issue #27213: Rework CALL_FUNCTION* opcodes to produce shorter and more efficient bytecode: * CALL_FUNCTION now only accepts position arguments * CALL_FUNCTION_KW accepts position arguments and keyword arguments, but keys of keyword arguments are packed into a constant tuple. * CALL_FUNCTION_EX is the most generic, it expects a tuple and a dict for positional and keyword arguments. CALL_FUNCTION_VAR and CALL_FUNCTION_VAR_KW opcodes have been removed. 2 tests of test_traceback are currently broken: skip test, the issue #28050 was created to track the issue. Patch by Demur Rumed, design by Serhiy Storchaka, reviewed by Serhiy Storchaka and Victor Stinner.
* Issue #27985: Implement PEP 526 -- Syntax for Variable Annotations.Yury Selivanov2016-09-091-1/+3
| | | | Patch by Ivan Levkivskyi.
* Issue #28026: Raise ImportError when exec_module() exists but ↵Eric Snow2016-09-081-3/+2
| | | | create_module() is missing.
* Issue #26667: Add path-like object support to importlib.util.Brett Cannon2016-09-081-0/+4
|
* Issue #15767: Use ModuleNotFoundError.Eric Snow2016-09-071-7/+7
|
* Issue #27974: Remove importlib._bootstrap._ManageReload.Brett Cannon2016-09-061-17/+0
| | | | Class was dead code. Thanks to Xiang Zhang for the patch.
* Issue #27078: Added BUILD_STRING opcode. Optimized f-strings evaluation.Serhiy Storchaka2016-09-061-2/+3
|
* Merge for #27083Brett Cannon2016-07-161-4/+10
|\
| * Fix regressions introduced by fixes for issue #27083.Brett Cannon2016-07-161-4/+10
| |
* | Merge for #27083Brett Cannon2016-07-151-1/+2
|\ \ | |/
| * Issue #27083: Respect the PYTHONCASEOK environment variable underBrett Cannon2016-07-151-1/+2
| | | | | | | | | | | | | | | | | | | | Windows. Originally only b'PYTHONCASEOK' was being checked for in os.environ, but that won't work under Windows where all environment variables are strings (on OS X they are bytes). Thanks to Eryk Sun for the bug report.
* | Issue #26972: Fix some mistakes in importlib-related docstrings.Brett Cannon2016-07-082-12/+12
| | | | | | | | Thanks to Oren Milman for the patch.
* | Issue #26186: Remove the restriction that built-in and extensionBrett Cannon2016-06-251-13/+11
| | | | | | | | | | | | | | | | modules can't be lazily loaded. Thanks to Python 3.6 allowing for types.ModuleType to have its __class__ mutated, the restriction can be lifted by calling create_module() on the wrapped loader.
* | Merge from 3.5Brett Cannon2016-06-251-1/+1
|\ \ | |/
| * Fix a scoping issue where an UnboundLocalError was triggered if aBrett Cannon2016-06-251-1/+1
| | | | | | | | lazy-loaded module was already in sys.modules.
* | Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.Serhiy Storchaka2016-06-121-3/+5
| | | | | | | | Patch by Demur Rumed.
* | Comment fixes extracted from patch by Demur Rumed.Serhiy Storchaka2016-06-121-4/+0
| |
* | Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. CallingSerhiy Storchaka2016-06-121-0/+1
|\ \ | |/ | | | | | | function with generalized unpacking (PEP 448) and conflicting keyword names could cause undefined behavior.
| * Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode. CallingSerhiy Storchaka2016-06-121-1/+2
| | | | | | | | | | function with generalized unpacking (PEP 448) and conflicting keyword names could cause undefined behavior.
* | Issue #27140: Added BUILD_CONST_KEY_MAP opcode.Serhiy Storchaka2016-06-111-1/+2
| |
* | Issue #27138: Fix the doc comment for FileFinder.find_spec().Eric Snow2016-05-271-2/+2
|\ \ | |/
| * Issue #27138: Fix the doc comment for FileFinder.find_spec().Eric Snow2016-05-271-2/+2
| |
* | Issue #27076: Merge spelling from 3.5Martin Panter2016-05-261-1/+1
|\ \ | |/
| * Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-1/+1
| | | | | | | | Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
* | Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode.Serhiy Storchaka2016-05-241-1/+2
| | | | | | | | Patch by Demur Rumed.
* | Issue #26073: Updates magic number comment in _bootstrap_external.py and ↵Steve Dower2016-05-161-0/+3
|\ \ | |/ | | | | changes numbers in launcher.py to decimal to match official table.
| * Issue #26073: Updates magic number comment in _bootstrap_external.py and ↵Steve Dower2016-05-161-0/+3
| | | | | | | | changes numbers in launcher.py to decimal to match official table.
* | Fix bug in __import__ during Python shutdownVictor Stinner2016-03-241-2/+9
| | | | | | | | | | | | Issue #26637: The importlib module now emits an ImportError rather than a TypeError if __import__() is tried during the Python shutdown process but sys.path is already cleared (set to None).
* | regrtest: Fix module.__path__Victor Stinner2016-03-151-0/+3
| | | | | | | | | | | | | | Issue #26538: libregrtest: Fix setup_tests() to keep module.__path__ type (_NamespacePath), don't convert to a list. Add _NamespacePath.__setitem__() method to importlib._bootstrap_external.
* | Merge for issue #26186Brett Cannon2016-02-212-6/+0
|\ \ | |/