Commit Graph

116702 Commits

Author SHA1 Message Date
Eddie Elizondo ea2c001650
gh-84436: Implement Immortal Objects (gh-19474)
This is the implementation of PEP683

Motivation:

The PR introduces the ability to immortalize instances in CPython which bypasses reference counting. Tagging objects as immortal allows up to skip certain operations when we know that the object will be around for the entire execution of the runtime.

Note that this by itself will bring a performance regression to the runtime due to the extra reference count checks. However, this brings the ability of having truly immutable objects that are useful in other contexts such as immutable data sharing between sub-interpreters.
2023-04-22 13:39:37 -06:00
Jason R. Coombs 916de04fd1
gh-103661: Apply bugfix from importlib_metadata 6.5.1 and restore test. (#103681) 2023-04-22 13:52:51 -04:00
Eric Wieser 3d2a46845b
gh-83791: Raise TypeError for len(memoryview_0d) (#18463)
Changes the behaviour of `len` on a zero-dimensional `memoryview` to raise `TypeError`. Previously, `len` would return `1`.
2023-04-22 17:32:47 +01:00
Rafael Fontenelle caed49448d
GH-103484: Fix broken links reported by linkcheck (#103608)
* Doc: Fix broken links reported by linkcheck

* Apply suggestions from code review

- Remove extra diff line in faq/library.rst (merwok)
- Use HTTPS to link Unicode 15.0.0 to solve a redirect (hugovk)
- Use wayback machine link for openssl 1.1.0 instead of linking 1.1.1, "as this text mentions a feature from 1.1.0" (hugovk)

Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Doc: Make mark-up code as literal

* Doc: Alphabetize items in linkcheck_ignore

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>

* Doc: Improve comment in sphinx conf

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>

---------

Co-authored-by: Éric <merwok@netwok.org>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-04-22 08:24:47 -06:00
Raymond Hettinger e5eaac6064
GH-103475: cache() and lru_cache() do not have a "call once" guarantee (GH-103669) 2023-04-22 09:18:25 -05:00
Raymond Hettinger 7b134d3e71
Descriptor HowTo: Update to include attributes added in Python 3.10 (GH-103666) 2023-04-22 08:29:40 -05:00
Paul Moore b2862950dc
gh-103559: Update bundled pip version to 23.1.1 (gh-103560)
* Update bundled pip version to 23.1
* Update to pip 23.1.1
2023-04-22 12:19:23 +01:00
Nikita Sobolev 6b58d419a1
gh-103556: [inspect.Signature] disallow pos-or-kw params without default after pos-only with default (#103557) 2023-04-21 23:45:10 -06:00
Raymond Hettinger 7d20783d45
Minor improvements to the functools docs (#103672)
* Use an f-string for improved readability

* Put version notes in chronological order
2023-04-21 20:53:50 -05:00
Raymond Hettinger 0cb0871584
GH-103415: Document itertools.batched() in whatsnew.3.12 (#103670) 2023-04-21 20:52:37 -05:00
Jason R. Coombs dc328d398d
gh-103661: Skip failing test on Windows. (#103662) 2023-04-21 11:30:30 -04:00
Oleg Iarygin a4967d9d59
gh-103082: Fix shifted field initialization in `instrumentation.c` (GH-103561)
Fix shifted field initialization in instrumentation.c
2023-04-21 07:27:50 -06:00
Jason R. Coombs 3e0fec7e07
Sync with importlib_metadata 6.5 (GH-103584) 2023-04-20 22:12:48 -04:00
Wheeler Law 5c00a6224d
gh-99352: Respect `http.client.HTTPConnection.debuglevel` in `urllib.request.AbstractHTTPHandler` (#99353)
* bugfix: let the HTTP- and HTTPSHandlers respect the value of http.client.HTTPConnection.debuglevel

* add tests

* add news

* ReSTify NEWS and reword a bit.

* Address Review Comments.

* Use mock.patch.object instead of settting the module level value.
* Used test values to assert the debuglevel.

---------

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Co-authored-by: Senthil Kumaran <senthil@python.org>
2023-04-20 19:04:25 -07:00
Adrien 4898415df7
gh-98641: Document difference between task group and gather (#103644)
The purpose of the comments is to rule out the implication that asyncio.TaskGroup is a drop-in replacement / better alternative to asyncio.gather().
2023-04-20 07:07:41 -07:00
Eric Snow 6be7aee18c
gh-98040: Move the Single-Phase Init Tests Out of test_imp (gh-102561)
I recently added some tests to test_imp, but @warsaw is removing that file in gh-98573. The tests are worth keeping so here I'm moving them to test_import.
2023-04-19 16:09:35 -06:00
Alexander Belopolsky 2b1260c557
gh-83861: Fix datetime.astimezone() method (GH-101545) 2023-04-19 14:02:29 -07:00
Pablo Galindo Salgado d4aa8578b1
gh-102856: Clean some of the PEP 701 tokenizer implementation (#103634) 2023-04-19 14:51:31 -06:00
Pablo Galindo Salgado 5f7d68e48d
gh-102856: Skip test_mismatched_parens in WASI builds (#103633) 2023-04-19 11:53:34 -06:00
Pablo Galindo Salgado 1ef61cf71a
gh-102856: Initial implementation of PEP 701 (#102855)
Co-authored-by: Lysandros Nikolaou <lisandrosnik@gmail.com>
Co-authored-by: Batuhan Taskaya <isidentical@gmail.com>
Co-authored-by: Marta Gómez Macías <mgmacias@google.com>
Co-authored-by: sunmy2019 <59365878+sunmy2019@users.noreply.github.com>
2023-04-19 11:18:16 -05:00
Erlend E. Aasland a6b07b5a34
gh-103583: Add ref. dependency between multibytecodec modules (#103589) 2023-04-19 10:02:17 -06:00
Erlend E. Aasland bd2ed066c8
gh-83004: Harden msvcrt further (#103420) 2023-04-19 08:15:50 -06:00
Kumar Aditya da2273fec7
GH-88342: clarify that `asyncio.as_completed` accepts generators yielding tasks (#103626) 2023-04-19 15:51:53 +05:30
Irit Katriel d1e4917e06
gh-102778: IDLE - make sys.last_exc available in Shell after traceback (#103314)
---------
Co-authored-by: Terry Jan Reedy <tjreedy@udel.edu>
2023-04-19 01:05:52 -04:00
Nikita Sobolev f4d087964e
gh-103582: Remove last references to `argparse.REMAINDER` from docs (#103586) 2023-04-18 23:02:48 -06:00
Erlend E. Aasland e989e0b62a
gh-103583: Always pass multibyte codec structs as const (#103588) 2023-04-18 21:08:16 -06:00
Erlend E. Aasland ffdbfe1976
gh-103617: Fix compiler warning in _iomodule.c (#103618) 2023-04-18 20:30:54 -06:00
Ethan Furman 700ec657c8
gh-103596: [Enum] do not shadow mixed-in methods/attributes (GH-103600)
For example:

    class Book(StrEnum):
        title = auto()
        author = auto()
        desc = auto()

    Book.author.desc is Book.desc

but

    Book.author.title() == 'Author'

is commonly expected.  Using upper-case member names avoids this confusion and possible performance impacts.

Co-authored-by: samypr100 <3933065+samypr100@users.noreply.github.com>
2023-04-18 16:19:23 -07:00
Nikita Sobolev 07804ce24c
GH-100530: Change the error message for non-class class patterns (GH-103576) 2023-04-18 10:41:14 -07:00
Steve Dower 78cac520c3
gh-95299: Remove lingering setuptools reference in installer scripts (GH-103613) 2023-04-18 17:47:08 +01:00
zyckk4 4e04393b2f
[Doc] Fix a typo in optparse.rst (#103504) 2023-04-18 16:51:26 +05:30
yuki c3d015ce62
gh-101100: Fix broken reference `__format__` in `string.rst` (#103531) 2023-04-18 16:48:53 +05:30
Pradyun Gedam ece20dba12
gh-95299: Stop installing setuptools as a part of ensurepip and venv (#101039)
Remove the bundled setuptools wheel from ensurepip, and stop installing setuptools in environments created by venv.

Co-Authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
2023-04-17 23:43:34 -05:00
Rafael Fontenelle f39e00f952
GH-103484: Docs: add linkcheck allowed redirects entries for most cases (#103569)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-04-18 05:57:53 +03:00
Skip Montanaro e35e0f15eb
gh-67230: update whatsnew note for csv changes (#103598) 2023-04-17 21:21:19 -04:00
Nikita Sobolev b57f55c23e
gh-103449: Fix a bug in dataclass docstring generation (#103454) 2023-04-17 17:33:22 -06:00
AN Long d83faf7f1b
gh-103092: Isolate winreg (#103250) 2023-04-17 12:30:48 -06:00
Steve Dower eb5fd31948
gh-103088: Ensure POSIX venv scripts always use LF line endings (GH-103591)
Also touches the affected files in meaningless ways to ensure they get updated when pulling
2023-04-17 17:33:54 +01:00
Dong-hee Na 5d9762e7cf
gh-101525: Fix make test if the --enable-bolt enabled (gh-103574) 2023-04-17 23:14:18 +09:00
Ezio Melotti 76933df10a
Remove `expert-*` from `project-updater` GH workflow (#103579) 2023-04-17 06:26:22 +03:00
Erlend E. Aasland 217911ede5
gh-103583: Add codecs and maps to _codecs_* module state (#103540) 2023-04-17 02:41:25 +02:00
Giampaolo Rodola ff3303e49c
gh-48330: address review comments to PR-12271 (#103209)
address review comments to PR-12271

Signed-off-by: Giampaolo Rodola <g.rodola@gmail.com>
2023-04-17 00:19:44 +02:00
Erlend E. Aasland a210cac776
gh-103527: Add multibytecodec.h as make dep for _codecs_* (#103567) 2023-04-16 05:57:30 +02:00
Nikita Sobolev 4fe1c4b97e
gh-103553: Improve `test_inspect`: add more assertions, remove unused (#103554) 2023-04-15 13:48:31 -07:00
Barney Gale 0097c36e07
GH-103517: Improve tests for `pathlib.Path.walk()` (GH-103518) 2023-04-15 17:35:17 +01:00
chgnrdv 2b6f5c3483
gh-102114: Make dis print more concise tracebacks for syntax errors in str inputs (#102115) 2023-04-15 06:53:31 +01:00
Barney Gale 8af8f52d17
GH-78079: Fix UNC device path root normalization in pathlib (GH-102003)
We no longer add a root to device paths such as `//./PhysicalDrive0`,
`//?/BootPartition` and `//./c:` while normalizing. We also avoid adding a
root to incomplete UNC share paths, like `//`, `//a` and `//a/`.

Co-authored-by: Eryk Sun <eryksun@gmail.com>
2023-04-14 21:55:41 +01:00
Tian Gao 7c1b0a46c6
gh-101517: Add regression test for a lineno bug in try/except* impacting pdb (#103547) 2023-04-14 21:40:31 +01:00
Erlend E. Aasland 3d71b5ec5e
gh-103527: Add make deps for _codecs_* and _multibytecodec (#103528) 2023-04-14 20:47:13 +02:00
Zachary Ware 95ee7c47ab
gh-103532: Fix reST syntax in NEWS entry (GH-103544) 2023-04-14 11:03:28 -05:00