Commit graph

27798 commits

Author SHA1 Message Date
Miss Islington (bot)
7677be5ee6
[3.12] gh-61181: Fix support of choices with string value in argparse (GH-124578) (GH-124756)
Substrings of the specified string no longer considered valid values.
(cherry picked from commit f1a2417b9e)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2024-09-29 08:32:51 +00:00
Jelle Zijlstra
67a363106b
[3.12] docs: improve venv docs (GH-124540) (#124728)
- Move "versionchanged" notes that apply to the whole class to the
  end of the class docs
- Remove or move notes next to the method list that apply to individual
  methods.
- Mark up parameters using the appropriate syntax
- Do not capitalize "boolean"
- Shorten some text
(cherry picked from commit c976d789a9)
2024-09-28 06:09:38 -07:00
Miss Islington (bot)
b3360dcaee
[3.12] Doc: Fix default `latex_elements['papersize']` (GH-124525) (#124726)
Doc: Fix default ``latex_elements['papersize']`` (GH-124525)

https://www.sphinx-doc.org/en/master/latex.htmlGH-the-latex-elements-configuration-setting

It should be 'letterpaper' or 'a4paper' not 'letter' or 'a4'
(not to be confused with PAPER env variable).
(cherry picked from commit fae5058ec1)

Co-authored-by: Jean-François B <2589111+jfbu@users.noreply.github.com>
2024-09-28 10:38:51 +00:00
Miss Islington (bot)
a178445a46
[3.12] gh-90190: Add doc for using singledispatch with precise collection type hints (GH-116544) (#124711)
Co-authored-by: Matt Delengowski <matt.delengowski@gmail.com>
2024-09-27 14:17:37 -07:00
Petr Viktorin
49f6beb56a
[3.12] gh-113993: Make interned strings mortal (GH-120520, GH-121364, GH-121903, GH-122303) (#123065)
This backports several PRs for gh-113993, making interned strings mortal so they can be garbage-collected when no longer needed.

* Allow interned strings to be mortal, and fix related issues (GH-120520)

  * Add an InternalDocs file describing how interning should work and how to use it.

  * Add internal functions to *explicitly* request what kind of interning is done:
    - `_PyUnicode_InternMortal`
    - `_PyUnicode_InternImmortal`
    - `_PyUnicode_InternStatic`

  * Switch uses of `PyUnicode_InternInPlace` to those.

  * Disallow using `_Py_SetImmortal` on strings directly.
    You should use `_PyUnicode_InternImmortal` instead:
    - Strings should be interned before immortalization, otherwise you're possibly
      interning a immortalizing copy.
    - `_Py_SetImmortal` doesn't handle the `SSTATE_INTERNED_MORTAL` to
      `SSTATE_INTERNED_IMMORTAL` update, and those flags can't be changed in
      backports, as they are now part of public API and version-specific ABI.

  * Add private `_only_immortal` argument for `sys.getunicodeinternedsize`, used in refleak test machinery.

   Make sure the statically allocated string singletons are unique. This means these sets are now disjoint:
    - `_Py_ID`
    - `_Py_STR` (including the empty string)
    - one-character latin-1 singletons

    Now, when you intern a singleton, that exact singleton will be interned.

  * Add a `_Py_LATIN1_CHR` macro, use it instead of `_Py_ID`/`_Py_STR` for one-character latin-1 singletons everywhere (including Clinic).

  * Intern `_Py_STR` singletons at startup.

  * Beef up the tests. Cover internal details (marked with `@cpython_only`).

  * Add lots of assertions

* Don't immortalize in PyUnicode_InternInPlace; keep immortalizing in other API (GH-121364)

  * Switch PyUnicode_InternInPlace to _PyUnicode_InternMortal, clarify docs

  * Document immortality in some functions that take `const char *`

  This is PyUnicode_InternFromString;
  PyDict_SetItemString, PyObject_SetAttrString;
  PyObject_DelAttrString; PyUnicode_InternFromString;
  and the PyModule_Add convenience functions.

  Always point out a non-immortalizing alternative.

  * Don't immortalize user-provided attr names in _ctypes

* Immortalize names in code objects to avoid crash (GH-121903)

* Intern latin-1 one-byte strings at startup (GH-122303)

There are some 3.12-specific changes, mainly to allow statically allocated strings in deepfreeze. (In 3.13, deepfreeze switched to the general `_Py_ID`/`_Py_STR`.)

Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2024-09-27 13:28:48 -07:00
Tomas R
2fa9ca5070
[3.12] gh-118181: Fix parameter markup in AST docs (GH-124473). (#124705)
(cherry picked from commit 09aebb1fbc)
2024-09-27 20:13:00 +00:00
Miss Islington (bot)
1d70dd257b
[3.12] gh-119004: fix a crash in equality testing between OrderedDict (GH-121329) (#124508)
gh-119004: fix a crash in equality testing between `OrderedDict` (GH-121329)
(cherry picked from commit 38a887dc3e)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-09-27 11:33:44 -07:00
Alex Waygood
54c6cd7112
[3.12] Fixup indentation for docs on ModuleSpec attributes (#124681) (#124686)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-09-27 17:48:33 +00:00
Miss Islington (bot)
fb8d604d55
[3.12] GH-95079: document error behaviour for some unicode C APIs (GH-95080) (#124662)
(cherry picked from commit b79a21ea42)

Co-authored-by: Max Bachmann <kontakt@maxbachmann.de>
2024-09-27 10:42:23 +00:00
Miss Islington (bot)
c6f3f83d88
[3.12] gh-115528: Update language reference for PEP 646 (GH-121181) (#124633)
gh-115528: Update language reference for PEP 646 (GH-121181)

To recap: the objective is to make starred expressions valid in `subscription`,
which is used for generics: `Generic[...]`, `list[...]`, etc.

What _is_ gramatically valid in such contexts? Seemingly any of the following.
(At least, none of the following throw `SyntaxError` in a 3.12.3 REPL.)

    Generic[x]
    Generic[*x]
    Generic[*x, y]
    Generic[y, *x]
    Generic[x := 1]
    Generic[x := 1, y := 2]

So introducting

    flexible_expression: expression | assignment_expression | starred_item

end then switching `subscription` to use `flexible_expression` sorts that.

But then we need to field `yield` - for which any of the following are
apparently valid:

    yield x
    yield x,
    yield x, y
    yield *x,
    yield *x, *y

Introducing a separate `yield_list` is the simplest way I've been figure out to
do this - separating out the special case of `starred_item ,`.

(cherry picked from commit 7d3497f617)

Co-authored-by: Matthew Rahtz <matthew.rahtz@gmail.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-09-26 13:03:28 -07:00
Miss Islington (bot)
27890edd5a
[3.12] Programming FAQ: Mention object.__setattr__ as a technique for delegation (GH-124617) (#124625)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-09-26 12:19:57 -07:00
Miss Islington (bot)
7c9db46a30
[3.12] Doc: Use the short version for daily downloads (GH-124602) (#124611)
Doc: Use the short version for daily downloads (GH-124602)
(cherry picked from commit 2c472d36b7)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-09-26 17:01:39 +01:00
Miss Islington (bot)
42432e5254
[3.12] gh-123560: Correct docs for "empty" format type for floats (GH-123561) (#124597)
gh-123560: Correct docs for "empty" format type for floats (GH-123561)
(cherry picked from commit 274d9ab619)

Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
2024-09-26 12:53:58 +00:00
Miss Islington (bot)
51b62fb25a
[3.12] gh-124234: Improve docs for Mock.reset_mock (GH-124237) (#124592)
gh-124234: Improve docs for `Mock.reset_mock` (GH-124237)
(cherry picked from commit 19fed6cf6e)

Co-authored-by: sobolevn <mail@sobolevn.me>
2024-09-26 12:24:27 +00:00
Tom Most
fca2623c2f
[3.12] Doc: Improve documentation for the `path argument in shutil.which()` (GH-124494) (#124576) 2024-09-26 08:56:30 +01:00
Jelle Zijlstra
d4cd39097e
[3.12] gh-101100: Make __subclasses__ doctest stable (GH-124577) (#124580)
Using a standard library class makes this test difficult to maintain
as other tests and other parts of the stdlib may create subclasses,
which may still be alive when this test runs depending on GC timing.
(cherry picked from commit 08a467b537)
2024-09-26 06:40:40 +00:00
Miss Islington (bot)
48359c5c90
[3.12] For-else deserves its own section in the tutorial (GH-123946) (#124563)
(cherry picked from commit ffdc80e93d)

Co-authored-by: Ned Batchelder <ned@nedbatchelder.com>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2024-09-25 17:08:07 -07:00
Jelle Zijlstra
7ce138fa9b
[3.12] gh-123242: Note that type.__annotations__ may not exist (GH-124557) (#124562)
Closes GH-123242. The real criterion is that the attribute does not
exist on heap types, but I don't think we should discuss heap vs.
static types in the language reference.
(cherry picked from commit 99b23c64de)
2024-09-25 16:27:10 -07:00
Alex Waygood
d2068c65a6
[3.12] gh-101100: Add a table of class attributes to the "Custom classes" section of the data model docs (#124480) (#124558) 2024-09-25 23:01:19 +00:00
Miss Islington (bot)
ea5c650704
[3.12] Doc: Use `major.minor` for documentation distribution archive filenames (GH-124489) (#124535)
Doc: Use ``major.minor`` for documentation distribution archive filenames (GH-124489)
(cherry picked from commit 6318ffcba2)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-09-25 19:25:42 +00:00
Miss Islington (bot)
13565f1580
[3.12] gh-108951: Document how to terminate an asyncio.TaskGroup (GH-123837) (#123957)
gh-108951: Document how to terminate an asyncio.TaskGroup (GH-123837)

We don't want to add another API, since the recipe is straightforward and rarely needed.

The advantage is that we could backport this to the earliest Python version that has taskgroups (3.11, alas in security mode already, so we'll just do 3.12 and 3.13).
(cherry picked from commit ef05801ba0)

Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-09-25 20:40:05 +05:30
Miss Islington (bot)
cf06f5905f
[3.12] gh-123445: calendar: Improve descriptions for day and month attributes (GH-123483) (#124501)
gh-123445: calendar: Improve descriptions for day and month attributes (GH-123483)
(cherry picked from commit 8447c933da)

Co-authored-by: Mat S <mscull@gmail.com>
Co-authored-by: Adam Turner <9087854+aa-turner@users.noreply.github.com>
Co-authored-by: Eric V. Smith <ericvsmith@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-09-25 09:31:17 +00:00
Miss Islington (bot)
10cf0b8caf
[3.12] GH-87358: Add clarification about nargs and default argparse behaviour (GH-124094) (#124441)
Co-authored-by: Savannah Ostrowski <savannahostrowski@gmail.com>
2024-09-24 20:15:21 +03:00
Miss Islington (bot)
0c36c37841
[3.12] gh-124120: Document Annotated.__origin__ (GH-124125) (#124417)
gh-124120: Document `Annotated.__origin__` (GH-124125)
(cherry picked from commit faef3fa653)

Co-authored-by: sobolevn <mail@sobolevn.me>
Co-authored-by: Brian Schubert <brianm.schubert@gmail.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-09-24 13:52:27 +00:00
Miss Islington (bot)
ed44377220
[3.12] gh-65169: Clarify prog default in argparse (GH-31602) (GH-124431)
(cherry picked from commit e69ff34e81)

Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
2024-09-24 14:19:53 +03:00
Miss Islington (bot)
d26d0a10b1
[3.12] Docs: Update two FAQs for Python 3 (GH-124247) (GH-124256)
(cherry picked from commit 5f01111594)

Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2024-09-24 09:42:00 +03:00
Alex Waygood
4b221bf878
[3.12] Bump Ruff to 0.6.7 (#124384) (#124391) 2024-09-23 23:09:27 +00:00
Miss Islington (bot)
db48e8f84d
[3.12] Doc: Add `make dist-no-html` (GH-124383) (#124388) 2024-09-23 23:19:18 +01:00
Adam Turner
62dcb8e013
[3.12] GH-109975: Copyedit 3.13 What's New: Copyedit C API deprecations pending removal (GH-124336) (#124365)
(cherry picked from commit e7d465a607)
2024-09-23 19:31:28 +00:00
Savannah Ostrowski
b3709562ad
[3.12] GH-79714: Add mention of stderr for clarity to ArgumentParser.exit() (GH-123932) (GH-124356)
(cherry picked from commit 5f5c0b9c23)
2024-09-23 19:04:36 +00:00
Miss Islington (bot)
dd2066f274
[3.12] Replace the term Immutable with a Hashable in the sequence entry of the Glossary (GH-124350) (#124353)
Replace the term `Immutable` with a `Hashable` in the `sequence` entry of the Glossary (GH-124350)

The term `Immutable` in the `sequence` entry of the glossary is used incorrectly, in fact dicts accepts hashable keys, which is not the same as immutable.
(cherry picked from commit 6203ef35dd)

Co-authored-by: decorator-factory <42166884+decorator-factory@users.noreply.github.com>
2024-09-23 16:41:01 +00:00
Miss Islington (bot)
533b06c118
[3.12] Fix doctrees directory for the gettext builder (GH-122997) (#124339)
Fix doctrees directory for the gettext builder (GH-122997)
(cherry picked from commit 315a933a5b)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2024-09-23 14:37:10 +00:00
Miss Islington (bot)
d5aafe7713
[3.12] gh-124130: Notes on empty string corner case of category \B (GH-124133) (#124329)
gh-124130: Notes on empty string corner case of category `\B` (GH-124133)
(cherry picked from commit d3e79d75d1)

Signed-off-by: y5c4l3 <y5c4l3@proton.me>
Co-authored-by: Y5 <124019959+y5c4l3@users.noreply.github.com>
Co-authored-by: Bénédikt Tran <10796600+picnixz@users.noreply.github.com>
2024-09-23 07:05:24 +00:00
Miss Islington (bot)
8606a2e91c
[3.12] Fix typo in XMLParser doc (GH-124129) (#124281)
Fix typo in XMLParser doc (GH-124129)
(cherry picked from commit 622368d99c)

Co-authored-by: Jacob Walls <jacobtylerwalls@gmail.com>
2024-09-20 10:51:12 +00:00
Miss Islington (bot)
2216c52828
[3.12] Fix make htmllive target (GH-124222)
Allow `make -C Doc htmllive` to work without manual venv activation

Set PATH to ensure that `sphinx-autobuild` can find `sphinx-build`.

(cherry picked from commit 9a6e2336e4)

Authored-by: Zachary Ware <zach@python.org>
2024-09-18 16:12:17 -05:00
Miss Islington (bot)
5827be86fe
[3.12] gh-124194: Fix wrong issue number in What's New in Python 3.8 (GH-124195) (#124198)
gh-124194: Fix wrong issue number in What's New in Python 3.8 (GH-124195)
(cherry picked from commit d8c0fe1944)

Co-authored-by: Bradley Reynolds <bradley.reynolds@darbia.dev>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2024-09-18 00:58:10 +00:00
Miss Islington (bot)
6840b611de
[3.12] GH-103484: Fix broken links reported by linkcheck (GH-124169) (#124180)
GH-103484: Fix broken links reported by linkcheck (GH-124169)
(cherry picked from commit ab80c6b402)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2024-09-17 15:19:07 +00:00
Miss Islington (bot)
a032a96a92
[3.12] Use pep role instead of url (GH-121611) (#124173)
Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2024-09-17 13:08:38 +00:00
Miss Islington (bot)
92bc714033
[3.12] GH-103484: Fix permanently redirects reported by linkcheck (GH-124144) (GH-124152)
Fix redirects reported by linkcheck, update docs conf.py checks.
(cherry picked from commit 0a32c6959c)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2024-09-16 20:53:46 -07:00
Miss Islington (bot)
1151dd6c73
[3.12] GH-103484: Tell linkcheck to ignore debian manpage redirects (GH-123019) (#124136)
GH-103484: Tell linkcheck to ignore debian manpage redirects (GH-123019)
(cherry picked from commit 1054a755a3)

Co-authored-by: Rafael Fontenelle <rffontenelle@users.noreply.github.com>
2024-09-16 18:49:14 +00:00
Miss Islington (bot)
f3c1f3d5ff
[3.12] Docs: Drop letter PDF (GH-123912) (#123999)
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2024-09-16 16:08:02 +03:00
Miss Islington (bot)
c5e11bec91
[3.12] Normalize cdecl formatting as found elsewhere on ctypes.rst (GH-121379) (#124057)
Co-authored-by: utkonos <utkonos@users.noreply.github.com>
2024-09-13 15:33:31 +00:00
Miss Islington (bot)
5c15b1a05a
[3.12] gh-118577: Clarify that inspect.BoundArguments prefers to put values in args (GH-119936) (GH-124004)
(cherry picked from commit 8e99495701)

Co-authored-by: Nice Zombies <nineteendo19d0@gmail.com>
2024-09-12 14:14:42 +02:00
Miss Islington (bot)
c6ae90a63c
[3.12] gh-123905: Update TOML description to include version number (GH-123906) (#123907) 2024-09-10 23:28:36 -07:00
Miss Islington (bot)
9e38723a15
[3.12] Mention curl in contextvars docs (GH-123838) (#123869)
Mention `curl` in `contextvars` docs (GH-123838)
(cherry picked from commit b950831c94)

Co-authored-by: sobolevn <mail@sobolevn.me>
2024-09-09 14:05:44 +00:00
Miss Islington (bot)
77bb146221
[3.12] gh-123789: secrets.randbits returns only non-negative int (GH-123801) (#123831)
gh-123789: `secrets.randbits` returns only non-negative int (GH-123801)
(cherry picked from commit beee91cdcc)

Co-authored-by: Wulian <1055917385@qq.com>
2024-09-08 04:24:08 +00:00
Miss Islington (bot)
ca3ac30d6b
[3.12] Remove excessive backticks in logging doc (GH-123813) (#123817)
Remove excessive backticks in logging doc (GH-123813)
(cherry picked from commit 93050e4614)

Co-authored-by: Wei-Hsiang (Matt) Wang <mattwang44@gmail.com>
2024-09-07 18:19:23 +00:00
Alex Waygood
7e51091481
[3.12] gh-123523: Rework typing documentation for generators and coroutines, and link to it from collections.abc docs (#123544) (#123792)
Co-authored-by: Stanislav Terliakov <50529348+sterliakov@users.noreply.github.com>
2024-09-06 17:06:36 +00:00
Petr Viktorin
74feab2bae
[3.12] gh-120426: Add the glossary term "immortal" (GH-123191) (GH-123491) (#123636)
Add the glossary term "immortal", mark it as an implementation detail

(cherry picked from commit 6754566a51)
(cherry picked from commit 1af74fa652)

(Unlike the original commits, this adds the entire entry.)
2024-09-06 15:46:05 +02:00
Miss Islington (bot)
407505da8e
[3.12] gh-123207: Clarify the documentation for the mro lookup for super() (GH-123417) (#123733)
(cherry picked from commit 327463aef1)

Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
2024-09-06 15:44:54 +02:00