| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
(#141162)" (#142758)
|
| |
|
|
|
| |
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Brett Cannon <brett@python.org>
|
| | |
|
| |
|
|
| |
`packaging.util.cache_from_source()` (GH-142204)
|
| |
|
|
| |
(#142205)
|
| |
|
|
|
|
|
|
|
| |
message on failure (GH-141931)
* Use open() to write the bytecode
* Convert to unittest style asserts
* Tweak news, thanks @vstinner
* Tidy
* reword NEWS, avoid word "retried"
|
| |
|
|
|
|
| |
non-incremental newline decoders (GH-30276)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Brett Cannon <brett@python.org>
|
| |
|
|
|
|
|
| |
Many functions related to compiling or parsing Python code, such as
compile(), ast.parse(), symtable.symtable(),
and importlib.abc.InspectLoader.source_to_code() now allow to pass
the module name used when filtering syntax warnings.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* GH-119668: expose importlib.NamespacePath
Signed-off-by: Filipe Laíns <lains@riseup.net>
* add news
Signed-off-by: Filipe Laíns <lains@riseup.net>
* add to docs
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Apply suggestions from code review
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
* Fix news (importlib.NamespacePath > importlib.machinery.NamespacePath)
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Link to module.__path__ in NamespacePath docs
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Mention the path argument in the documentation
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Simplify docs text
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Highlight argument names in docs text
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Update Lib/importlib/_bootstrap_external.py
Co-authored-by: Brett Cannon <brett@python.org>
* Rewrite NamespacePath's doc
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Specify path_finder's type in the NamespacePath docstring
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Fix doc tests
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Apply suggestions from code review
Co-authored-by: Barry Warsaw <barry@python.org>
* Fix doc lint
Signed-off-by: Filipe Laíns <lains@riseup.net>
* Update Doc/library/importlib.rst
Co-authored-by: Brett Cannon <brett@python.org>
---------
Signed-off-by: Filipe Laíns <lains@riseup.net>
Co-authored-by: Brett Cannon <brett@python.org>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
Co-authored-by: Barry Warsaw <barry@python.org>
|
| |
|
|
| |
(GH-140635)
|
| | |
|
| |
|
|
|
| |
(GH-30456)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Ignore PermissionError when checking cwd during import
On macOS `getcwd(3)` can return EACCES if a path component isn't readable,
resulting in PermissionError. `PathFinder.find_spec()` now catches these and
ignores them - the same treatment as a missing/deleted cwd.
Introduces `test.support.os_helper.save_mode(path, ...)`, a context manager
that restores the mode of a path on exit.
This is allows finer control of exception handling and robust environment
restoration across platforms in `FinderTests.test_permission_error_cwd()`.
Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Co-authored-by: Brett Cannon <brett@python.org>
|
| |
|
|
|
|
|
| |
DeprecationWarning (#128007)
Co-authored-by: rashansmith <smith.rashan@gmail.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Brett Cannon <brett@python.org>
|
| |
|
|
| |
Co-authored-by: Kirill Podoprigora <kirill.bast9@mail.ru>
Co-authored-by: Brett Cannon <brett@python.org>
|
| |
|
| |
As of 529a160 (gh-118204), building with HAVE_DYNAMIC_LOADING stopped working. This is a minimal fix just to get builds working again. There are actually a number of long-standing deficiencies with HAVE_DYNAMIC_LOADING builds that need to be resolved separately.
|
| |
|
| |
_imp.pyc_magic_number_token should be enough.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* gh-122188: Move magic number to its own file
* Add versionadded directive
* Do work in C
* Integrate launcher.c
* Make _pyc_magic_number private
* Remove metadata
* Move sys.implementation -> _imp
* Modernize comment
* Move _RAW_MAGIC_NUMBER to the C side as well
* _pyc_magic_number -> pyc_magic_number
* Remove unused import
* Update docs
* Apply suggestions from code review
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
* Fix typo in tests
---------
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
|
| | |
|
| |
|
|
|
|
|
|
|
| |
(#120640)
* Remove BEFORE_WITH and BEFORE_ASYNC_WITH instructions.
* Add LOAD_SPECIAL instruction
* Reimplement `with` and `async with` statements using LOAD_SPECIAL
|
| |
|
|
| |
Fixes #119311. Fixes #119395.
|
| |
|
|
| |
PR #119321 added a comment about the magic number bump
but did not actually apply the new magic number.
|
| |
|
|
|
|
|
|
|
|
| |
The PEP 649 implementation will require a way to load NotImplementedError
from the bytecode. @markshannon suggested implementing this by converting
LOAD_ASSERTION_ERROR into a more general mechanism for loading constants.
This PR adds this new opcode. I will work on the rest of the implementation
of the PEP separately.
Co-authored-by: Irit Katriel <1055913+iritkatriel@users.noreply.github.com>
|
| | |
|
| |
|
|
| |
It is set by compiler with the line number of the first line of
the class definition.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Reads zip64 files as produced by the zipfile module
* Include tests (somewhat slow, however, because of the need to create "large" zips)
* About the same amount of strictness reading invalid zip files as zipfile has
* Still works on files with prepended data (like pex)
There are a lot more test cases at https://github.com/thatch/zipimport64/ that give me confidence that this works for real-world files.
Fixes #89739 and #77140.
---------
Co-authored-by: Itamar Ostricher <itamarost@gmail.com>
Reviewed-by: Gregory P. Smith <greg@krypto.org>
|
| |
|
|
| |
Co-authored-by: Malcolm Smith <smith@chaquo.com>
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
|
| |
|
|
|
|
|
|
|
| |
delegated through PathFinder. (#116812)
* Make MetadataPathFinder a proper classmethod.
* In PathFinder.invalidate_caches, also invoke MetadataPathFinder.invalidate_caches.
* Add blurb
|
| |
|
|
|
|
|
|
|
|
|
| |
* Specialize CONTAINS_OP
* 📜🤖 Added by blurb_it.
* Add PyAPI_FUNC for JIT
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
|
| |
|
|
| |
* Compiler emits END_FOR; POP_TOP instead of END_FOR. To support tier 2 side exits in loops.
|
| |
|
|
| |
guarantee_lineno_for_exits (#114267)
|
| |
|
|
| |
eval breaker (#113721)
|
| |
|
| |
Add the known magic value of 3495 for Python 3.11 bytecode
|
| |
|
|
| |
frame state (#111648)
|
| |
|
|
| |
(#111459)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds a 16-bit inline cache entry to the conditional branch instructions POP_JUMP_IF_{FALSE,TRUE,NONE,NOT_NONE} and their instrumented variants, which is used to keep track of the branch direction.
Each time we encounter these instructions we shift the cache entry left by one and set the bottom bit to whether we jumped.
Then when it's time to translate such a branch to Tier 2 uops, we use the bit count from the cache entry to decided whether to continue translating the "didn't jump" branch or the "jumped" branch.
The counter is initialized to a pattern of alternating ones and zeros to avoid bias.
The .pyc file magic number is updated. There's a new test, some fixes for existing tests, and a few miscellaneous cleanups.
|
| | |
|
| |
|
|
| |
opcode.py (#107971)
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This enables super-instruction formation,
removal of checks for uninitialized variables,
and frees up an instruction.
|
| |
|
|
| |
bytecodes.c (#105913)
|
| | |
|
| | |
|
| |
|
|
| |
(GH-105680)
|
| |
|
|
| |
equivalent. (GH-105230)
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This implements PEP 695, Type Parameter Syntax. It adds support for:
- Generic functions (def func[T](): ...)
- Generic classes (class X[T](): ...)
- Type aliases (type X = ...)
- New scoping when the new syntax is used within a class body
- Compiler and interpreter changes to support the new syntax and scoping rules
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Eric Traut <eric@traut.com>
Co-authored-by: Larry Hastings <larry@hastings.org>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
|