Commit Graph

27633 Commits

Author SHA1 Message Date
Hugo van Kemenade 489aeac3a2
gh-101100: Fix Sphinx warning in `library/gettext.rst` (#112668)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-12-03 20:23:09 +00:00
Alex Waygood 45650d1c47
gh-101100: Fix most Sphinx nitpicks in `inspect.rst` (#112662) 2023-12-03 17:32:49 +00:00
Marco Aurélio A. Barbosa c27b09c813
Fix link to 'The Perils of Floating Point', on the tutorial (GH-112499)
Use author link to 'The Perils of Floating Point'.
2023-12-03 17:14:14 +02:00
Irit Katriel 97857ac058
gh-112645: remove deprecation warning for use of onerror in shutil.rmtree (#112659) 2023-12-03 14:02:37 +00:00
Alex Waygood 4ed46d2244
Run more `inspect.rst` code snippets in CI (#112654) 2023-12-03 11:50:22 +00:00
Victor Stinner a971574b73
gh-111545: Mention PEP 456 in PyHash_GetFuncDef() doc (#112647) 2023-12-03 11:21:48 +00:00
Alex Waygood fc9e24b01f
gh-112316: improve docs for `inspect.signature` and `inspect.Signature` (#112631) 2023-12-03 01:37:34 -08:00
Nikita Sobolev a9574c68f0
gh-112139: Add `inspect.Signature.format` and use it in `pydoc` (#112143)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-12-02 15:39:43 -08:00
Hugo van Kemenade 0229d2a9b1
Docs: Use sphinx-notfound-page to show a nicer 404 page (#111084) 2023-12-02 17:41:40 +00:00
Nikita Sobolev a74daba7ca
gh-112316: Improve docs of `inspect.signature` and `Signature.from_callable` (#112317)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-12-02 13:13:44 +00:00
William Wen 939fc6d6ea
gh-106922: Support multi-line error locations in traceback (attempt 2) (#112097) 2023-12-01 22:18:16 +00:00
Victor Stinner 5f6ac2d88a
gh-110481: Fix Py_SET_REFCNT() integer overflow (#112174)
If Py_NOGIL is defined and Py_SET_REFCNT() is called with a reference
count larger than UINT32_MAX, make the object immortal.

Set _Py_IMMORTAL_REFCNT constant type to Py_ssize_t to fix the
following compiler warning:

Include/internal/pycore_global_objects_fini_generated.h:14:24:
warning: comparison of integers of different signs: 'Py_ssize_t'
(aka 'long') and 'unsigned int' [-Wsign-compare]

    if (Py_REFCNT(obj) < _Py_IMMORTAL_REFCNT) {
        ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~
2023-12-01 15:50:16 +01:00
Tian Gao c2982380f8
gh-112510: Add `readline.backend` for the backend readline uses (GH-112511)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Donghee Na <donghee.na92@gmail.com>
2023-12-01 14:05:55 +00:00
William Andrea f6afa426d8
Add links under "generator expression" in glossary (#112537) 2023-12-01 00:41:11 -08:00
Alperen Serkan Aksöz 730d450d43
gh-112502: Docs: Improve docs for gc.collect method (#112562)
* Docs: Improve docs for gc.collect method

* Update gc.rst
2023-11-30 21:04:00 +00:00
Matt Prodani 1ff212debd
gh-111699: Move smtpd note to dedicated section in What's New Python 3.12 doc (GH-112544)
Relocate smtpd deprecation notice to it's own section rather than under
'locale' in docs for What's New in Python 3.12 doc
2023-11-30 14:53:19 +02:00
Jelle Zijlstra d4a6229afe
gh-104003: Implement PEP 702 (#104004)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-29 09:38:29 -08:00
Ethan Furman f9e6ce0395
[Enum] update class creation for RuntimeError changes (GH-111815) 2023-11-28 20:40:12 -08:00
Grant Ramsay e413daf5f6
gh-112454: Disable TLS-PSK if OpenSSL was built without PSK support (#112491)
If OpenSSL was built without PSK support, the python TLS-PSK
methods will raise "NotImplementedError" if called.

Add a constant "ssl.HAS_PSK" to check if TLS-PSK is supported
2023-11-28 16:15:39 -08:00
Hugo van Kemenade 3fdf7ae3d1
gh-110930: Correct book title by Alan D. Moore (#112490) 2023-11-28 16:46:00 +02:00
Irit Katriel 2c68011780
gh-112332: Deprecate TracebackException.exc_type, add exc_type_str. (#112333) 2023-11-28 08:03:25 +00:00
Alex Waygood 2e632fa07d
Docs: fix markup for `importlib.machinery.NamespaceLoader` (#112479) 2023-11-28 00:15:23 +00:00
Eugene Toder 562d7149c6
Correct documentation for AF_PACKET (#112339)
Protocol in the address tuple should *not* be in the network-byte-order, because it is converted internally[1].

[1] 89ddea4886/Modules/socketmodule.c (L2144)

network byte order doesn't make sense for a python level int anyways. It's a fixed size C serialization concept.
2023-11-27 15:42:37 -08:00
Tian Gao b90a5cf11c
gh-99367: Do not mangle sys.path[0] in pdb if safe_path is set (#111762)
Co-authored-by: Christian Walther <cwalther@users.noreply.github.com>
2023-11-27 23:11:40 +00:00
Serhiy Storchaka 4dcfd02bed
gh-68166: Add support of "vsapi" in ttk.Style.element_create() (GH-111393) 2023-11-27 20:57:33 +02:00
Jacob Walls 99a73c3465
gh-76912: Raise OSError from any failure in getpass.getuser() (#29739)
* bpo-32731: Raise OSError from any failure in getpass.getuser()
Previously, if the username was not set in certain environment variables, ImportError escaped on Windows systems, and it was possible for KeyError to escape on other systems if getpwuid() failed.
2023-11-27 10:05:55 -08:00
Adam Turner ffe1b2d07b
GH-101100: Fix reference warnings for ``socket`` methods (#110114)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-11-27 16:36:54 +02:00
Victor Stinner d44ee42cd7
Move What's New In Python 3.12 entries to the right section (#112447)
Jython and ctypes removals are unrelated to C API Removals.
2023-11-27 12:55:52 +01:00
Tom Levy fb79e1ed4a
Docs: fix typo in doc for sqlite3.Cursor.execute (#112442) 2023-11-27 09:27:47 +00:00
Grant Ramsay e954ac7205
gh-63284: Add support for TLS-PSK (pre-shared key) to the ssl module (#103181)
Add support for TLS-PSK (pre-shared key) to the ssl module.

---------

Co-authored-by: Oleg Iarygin <oleg@arhadthedev.net>
Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-11-27 04:01:44 +00:00
Hugo van Kemenade 3faf8e586d
gh-101100: Fix Sphinx reference warnings (GH-112416)
* Fix Sphinx warning in library/xml.rst

Direct use of the pyexpat module is deprecated, but this is how to check the version for security purposes

* Fix Sphinx warning in library/importlib.resources.rst

* Use italics for parameters

* Link to the exception

* Fix Sphinx warning in library/gzip.rst

* Document message and header defect base classes to fix Sphinx warning in library/email.headerregistry.rst

* Restore feed_eof() doc to fix Sphinx warning in library/asyncio-stream.rst

* Fix Sphinx warning in extending/newtypes.rst

* Fix Sphinx warning in c-api/set.rst

On stdtypes.rst, set and frozenset are documented together and the frozenset has the working refs
2023-11-25 15:40:19 -08:00
Raymond Hettinger 97f8f28b3e
gh-112331: Fix reference manual description of attribute lookup mechanics (gh-112375) 2023-11-25 16:20:53 -06:00
Raymond Hettinger f93a4ef7a9
Descriptor HowTo: Sync the error-messages with the C code. Add tests. (gh-112403) 2023-11-25 16:18:00 -06:00
Hugo van Kemenade 0303a9fa79
gh-101100 : Fix Sphinx warnings in `library/doctest.rst` (#112399)
* Fix Sphinx warnings in library/doctest.rst

* Don't link to self, and wrap a line

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

* Link to load_tests protocol

* Link to option flags

* Wrap line

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>

---------

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-25 20:08:32 +02:00
Hugo van Kemenade 6b961b8cea
gh-101100: Define `_tkinter` module to fix references (#112382)
Define _tkinter module to fix references
2023-11-25 08:18:02 +02:00
Hugo van Kemenade d525d01e27
gh-101100: Define `test.regrtest` module to fix references (#112381)
Define test.regrtest module to fix references
2023-11-25 08:17:31 +02:00
Irit Katriel fafae08cc7
gh-59254: mention in open() doc that line buffering is for writing (#112318) 2023-11-24 18:59:41 +01:00
Raymond Hettinger d9fc15222e
Remove bogus annotations from the descriptor howto guide (#112349) 2023-11-23 15:16:00 -06:00
Irit Katriel 10e1a0c916
gh-112137: change dis output to display labels instead of offsets (#112138) 2023-11-22 22:36:55 +00:00
Sebastian Rittau 6c47eaccfa
Fix docstring and var name of itertools recipe (#112113)
`prepend()` works with arbitrary iterables, not only iterators. In fact,
the example given uses a `list`, which is iterable, but not an iterator.
2023-11-22 07:35:36 +02:00
Tian Gao 46500c42f0
GH-111963: Clarify sys.monitoring.free_tool_id's limitations (GH-112291) 2023-11-21 14:58:30 -08:00
Junya Okabe 9d70831cb7
gh-110745: add a newline argument to pathlib.Path.read_text (#110880)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Barney Gale <barney.gale@gmail.com>
2023-11-21 22:32:38 +00:00
Lincoln d857d5331a
gh-111361: Added an update for unicodedata in what's new in Python 3.13 (#112031)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-21 11:46:26 -07:00
Unique-Usman a6d25de375
gh-110383: Explained which error message is generated when there is an unhandled exception (#111574)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-19 05:20:10 -07:00
Alex Ptakhin 6bf8f20344
gh-110383: Fix documentation profile cumtime fix (#112221)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-19 02:56:54 -07:00
Charlie Zhao dabc0d77b2
Fix typo in documentation of `importlib.metadata` (GH-112099)
Fix minor typo in importlib doc
2023-11-17 15:11:30 -08:00
Victor Stinner cb5048ea0e
gh-112026: Update What's New: _PyObject_Vectorcall() was restored (#112171) 2023-11-17 23:30:42 +01:00
Victor Stinner 7c50800241
gh-110481, doc: Add "immortal" term to the glossary (#112180) 2023-11-17 15:09:19 +01:00
Ori Avtalion fb4cddb0cc
gh-94309: "What's new in Python 3.12": improve deprecation notice for typing.Hashable and typing.Sized (#112196) 2023-11-17 12:30:47 +00:00
Terry Jan Reedy 8cd70eefc7
gh-112165: Fix typo in `__main__.py` (#112183)
Change '[2]' to '[1]' to get second argument.
2023-11-16 20:05:16 -05:00
Luis Pedro Coelho 81ab0e8a4a
[doc] Make subprocess.wait documentation more precise (#98700)
[doc] Make subprocess.wait doc more precise

An active loop is only used when the `timeout` parameter is used on
POSIX.

When no timeout is used, the code calls `os.waitpid` internally (which puts
the process on a sleep status). On Windows, the internal Windows API
call accepts a timeout parameter, so that is delegated to the OS.
2023-11-16 05:04:46 -08:00
Petr Viktorin 985679f05d
gh-110812: Isolating Extension Modules HOWTO: List GC-related gotchas (GH-111504)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Eric Snow <ericsnowcurrently@gmail.com>
2023-11-16 12:05:44 +01:00
Victor Stinner d9fd33a869
gh-112088: Run autoreconf in GHA check_generated_files (#112090)
The "Check if generated files are up to date" job of GitHub Actions
now runs the "autoreconf -ivf -Werror" command instead of the "make
regen-configure" command to avoid depending on the external quay.io
server.

Add Tools/build/regen-configure.sh script to regenerate the configure
with an Ubuntu container image. The
"quay.io/tiran/cpython_autoconf:271" container image
(https://github.com/tiran/cpython_autoconf) is no longer used.
2023-11-15 21:47:14 +01:00
Victor Stinner b338ffa4bc
gh-112026: Add again <unistd.h> include in Python.h (#112046)
Add again <ctype.h> and <unistd.h> includes in Python.h, but don't
include them in the limited C API version 3.13 and newer.
2023-11-15 16:59:32 +01:00
Ryuji Tsutsui 0cfdd6e3d1
Fix typo in perf profiling docs (#112112) 2023-11-15 15:40:19 +00:00
Adam Turner 6c214dea7c
Docs: Add the time to the HTML last updated format (#110091) 2023-11-15 04:04:28 +00:00
Victor Stinner 55f3cce821
gh-111545: Test PyHash_GetFuncDef() function (#112098)
Add Modules/_testcapi/hash.c and Lib/test/test_capi/test_hash.py.
2023-11-15 03:41:29 +01:00
Victor Stinner 4f04172c92
gh-111262: Add PyDict_Pop() function (#112028)
_PyDict_Pop_KnownHash(): remove the default value and the return type
becomes an int.

Co-authored-by: Stefan Behnel <stefan_ml@behnel.de>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
2023-11-14 12:51:00 +00:00
Terry Jan Reedy e31d65e0b7
gh-111622: Fix doc for items views (#112051)
They are set-like even when some values are not hashable,
but work even better when all are.
2023-11-14 07:41:20 +00:00
Barney Gale d5491a6eff
GH-110417: Fix `glob` docs ordering (#110418)
Fix incorrect placement of `translate()` docs from cf67ebf.

Move "see also: pathlib" admonition to the bottom of the page, alongside one for fnmatch. This helps the module introduction flow more naturally into the function descriptions.

Add an "Examples" subheading just before the examples. This makes it more obvious that examples aren't specifically related to the preceding documentation of `escape()` and `translate()`.
2023-11-13 17:48:16 +00:00
Barney Gale cf67ebfb31
GH-72904: Add `glob.translate()` function (#106703)
Add `glob.translate()` function that converts a pathname with shell wildcards to a regular expression. The regular expression is used by pathlib to implement `match()` and `glob()`.

This function differs from `fnmatch.translate()` in that wildcards do not match path separators by default, and that a `*` pattern segment matches precisely one path segment. When *recursive* is set to true, `**` pattern segments match any number of path segments, and `**` cannot appear outside its own segment.

In pathlib, this change speeds up directory walking (because `_make_child_relpath()` does less work), makes path objects smaller (they don't need a `_lines` slot), and removes the need for some gnarly code.

Co-authored-by: Jason R. Coombs <jaraco@jaraco.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-11-13 17:15:56 +00:00
Victor Stinner babb787047
gh-111138: Add PyList_Extend() and PyList_Clear() functions (#111862)
* Split list_extend() into two sub-functions: list_extend_fast() and
  list_extend_iter().
* list_inplace_concat() no longer has to call Py_DECREF() on the
  list_extend() result, since list_extend() now returns an int.
2023-11-13 16:14:56 +00:00
Hugo van Kemenade a430b4ffdd
Docs: Add `make htmllive` to rebuild and reload HTML files in your browser (#111900) 2023-11-13 10:06:49 +02:00
Terry Jan Reedy 9a2f25d374
gh-111944: Add assignment expression parentheses requirements (#111977)
gh-111944: Clarify where assignment expressions require ()s

Augment the list of places where parentheses are
required around assignnment statements.  In particular,
'a := 0' and 'a = b := 1' are syntax errors.
2023-11-12 19:06:50 -05:00
Stephen Gildea 38035fed9b
gh-90890: New methods to access mailbox.Maildir message info and flags (#103905)
New methods to access mailbox.Maildir message info and flags:
get_info, set_info, get_flags, set_flags, add_flag, remove_flag.

These methods speed up accessing a message's info and/or flags and are
useful when it is not necessary to access the message's contents,
as when iterating over a Maildir to find messages with specific flags.

---------

* Add more str type checking
* modernize to f-strings instead of %

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2023-11-11 17:41:33 +00:00
Łukasz Langa 3932b0f7b1
gh-110722: Make `-m test -T -j` use sys.monitoring (GH-111710)
Now all results from worker processes are aggregated and
displayed together as a summary at the end of a regrtest run.

The traditional trace is left in place for use with sequential
in-process test runs but now raises a warning that those
numbers are not precise.

`-T -j` requires `--with-pydebug` as it relies on `-Xpresite=`.
2023-11-10 18:17:45 +01:00
Zac Hatfield-Dodds d61313bdb1
gh-103791: handle `BaseExceptionGroup` in `contextlib.suppress()` (#111910) 2023-11-10 13:32:36 +00:00
Samuel Thibault 0802fd6c8e
gh-81925: Implement native thread ids for kFreeBSD (#111761)
---------

Co-authored-by: Antoine Pitrou <antoine@python.org>
2023-11-09 21:02:30 +01:00
Hugo van Kemenade 7d21e3d5ee
gh-111895: Convert definition list to bullet list for readability on mobile (#111898)
Convert definition list to bullet list for readability on mobile
2023-11-09 20:50:27 +02:00
zipperer 2f2a0a3a6c
Add detail to comment on range of random.random() (gh-111868)
---------

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2023-11-09 08:58:04 -06:00
Donghee Na 6046aec377
gh-111835: Add seekable method to mmap.mmap (gh-111852) 2023-11-09 20:13:35 +09:00
Serhiy Storchaka 005d1e8fc8
gh-68166: Tkinter: Add tests and examples for element_create() (GH-111453)
* Remove mention of "vsapi" element type from the documentation.
* Add tests for element_create() and other ttk.Style methods.
* Add examples for element_create() in the documentation.
2023-11-08 18:25:58 +02:00
Pierre Ossman (ThinLinc team) 74b868f636
gh-111246: Remove listening Unix socket on close (#111483)
Try to clean up the socket file we create so we don't add unused noise to the file system.
2023-11-08 08:10:10 -08:00
Jelle Zijlstra 8ab7ad6308
Glossary: Add "static type checker" (#111837)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-08 14:38:36 +00:00
Victor Stinner 11e83488c5
gh-111089: Revert PyUnicode_AsUTF8() changes (#111833)
* Revert "gh-111089: Use PyUnicode_AsUTF8() in Argument Clinic (#111585)"

This reverts commit d9b606b3d0.

* Revert "gh-111089: Use PyUnicode_AsUTF8() in getargs.c (#111620)"

This reverts commit cde1071b2a.

* Revert "gh-111089: PyUnicode_AsUTF8() now raises on embedded NUL (#111091)"

This reverts commit d731579bfb.

* Revert "gh-111089: Add PyUnicode_AsUTF8() to the limited C API (#111121)"

This reverts commit d8f32be5b6.

* Revert "gh-111089: Use PyUnicode_AsUTF8() in sqlite3 (#111122)"

This reverts commit 37e4e20eaa.
2023-11-07 22:36:13 +00:00
Irit Katriel 2f9cb7e095
gh-81137: deprecate assignment of code object to a function of a mismatched type (#111823) 2023-11-07 18:54:36 +00:00
Serhiy Storchaka 70afb8d732
gh-85098: Implement functional CLI of symtable (#109112)
Co-authored-by: Pablo Galindo Salgado <Pablogsal@gmail.com>
2023-11-07 16:32:16 +00:00
Serhiy Storchaka f55cb44359
gh-106672: C API: Report indiscriminately ignored errors (GH-106674)
Functions which indiscriminately ignore all errors now report them as
unraisable errors.
2023-11-07 15:58:04 +02:00
Irit Katriel 13405ecffd
gh-79932: raise exception if frame.clear() is called on a suspended frame (#111792) 2023-11-07 08:49:30 +00:00
方糖 c3e19c3a62
gh-111729: update generic syntax for `typing.Concatenate` sample code in `Doc/library/typing.rst` (#111734)
use new generic syntax
2023-11-06 16:53:17 -08:00
Charles Machalow ba8aa1fd37
gh-109466: Add ipv6_mapped property to IPv4Address (#109467)
Adds the `IPv4Address.ipv6_mapped` property.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-05 16:50:31 +00:00
partev 72e27a67b9
gh-111747: DOC: fix moved link to Documentation Translations (#111748)
Update old link in bugs.rst to the table of doc translators and translation repositories at Github.
2023-11-05 00:23:01 -04:00
Tian Gao 853b4b549d
gh-111719: Add extra check for alias command (#111720) 2023-11-04 23:05:22 +00:00
Nikita Sobolev f48e669504
gh-111724: Fix doctest `ResourceWarning` in `howto/descriptor.rst` (#111725)
Close database connection explicitly in test cleanup.
2023-11-04 10:22:19 +01:00
lefp 9f33ede127
docs: specify that PyBytes_AsStringAndSize returns 0 on success (GH-110888)
docs: specify return value on success
2023-11-03 14:51:28 +01:00
Nikita Sobolev ccc8caa858
gh-111681: minor fixes to typing doctests; remove unused imports in `test_typing` (#111682)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-11-03 12:23:33 +00:00
scoder 24ddaee5ca
gh-106168: Revert the "size before item" setting (#111683)
gh-106168: Update the size only after setting the item, to avoid temporary inconsistencies.
Also remove the "what's new" sentence regarding the size setting since tuples cannot grow after allocation.
2023-11-03 11:02:39 +00:00
Irit Katriel d49aba5a7a
gh-111354: Simplify _PyGen_yf by moving some of its work to the compiler and frame state (#111648) 2023-11-03 10:01:36 +00:00
Terry Jan Reedy 0d3df272fb
gh-54434: Make difflib.rst doctests pass. (#111677) 2023-11-03 02:20:39 -04:00
LoipesMas 489b80640f
Fix typo in documentation of `SysLogHandler.createSocket` (#111665) 2023-11-02 22:47:43 +00:00
partev 6a0d7b43df
gh-111625: Fix link to Info-ZIP homepage (#111626) 2023-11-02 11:10:30 +00:00
Irit Katriel 52cc4af6ae
gh-111354: simplify detection of RESUME after YIELD_VALUE at except-depth 1 (#111459) 2023-11-02 10:18:43 +00:00
Victor Stinner 821a7ac493
gh-106168: Update PyList_SET_ITEM() What's New doc (#111618) 2023-11-01 21:46:10 +01:00
Yilei Yang 45a36d5f56
gh-111374: Add a new PYTHON_FROZEN_MODULES env var, equivalent of `-X frozen_modules`. (#111411)
Adds a new PYTHON_FROZEN_MODULES env var to correspond with -X frozen_modules.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-11-01 20:39:31 +00:00
Serhiy Storchaka eaf67e37a2
gh-111576: Improve documention for tkinter.messagebox (GH-111578) 2023-11-01 12:27:02 +02:00
Krzysiek Karbowiak 102685c4c8
gh-111282: Fix NamedTemporaryFile example code (GH-111283) 2023-10-31 17:06:02 -05:00
Thomas Grainger 770530679e
gh-110774: allow setting the Runner(loop_factory=...) from IsolatedAsyncioTestCase (#110776)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2023-10-31 15:03:54 -07:00
Serhiy Storchaka f6a02327b5
gh-108082: Add PyErr_FormatUnraisable() function (GH-111086) 2023-10-31 23:42:44 +02:00
Victor Stinner faa5f6053d
gh-108765: Python.h no longer includes <stddef.h> on Windows (#111563)
In practice, only Windows is impacted, because the HAVE_STDDEF_H
macro was only defined on Windows.
2023-10-31 21:53:57 +01:00
Quentin Peter 2445673983
gh-102249: Expand sys.call_tracing documentation (#102806)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-10-31 16:24:54 +00:00
Prometheus3375 5cc6c80a77
gh-93607: document `root` attribute of `iterparse` (#99410)
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-31 16:16:55 +00:00
xzmeng cf3dbe4c3d
gh-106861: Docs: Add availability directives to all Unix-only modules (#108975) 2023-10-31 18:14:27 +02:00
Karolina Surma 3dbaed3caa
gh-111301: Move importlib.resources changes to the Removed section (#111509) 2023-10-31 06:46:20 +00:00
Karolina Surma 9976834356
gh-111301: Move `importlib.resources.files` change to What's new in Python 3.12 (#111512) 2023-10-31 06:01:00 +00:00
Nikita Sobolev c4dc5a6ae8
gh-111181: Fix enum doctests (GH-111180)
Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
2023-10-30 12:56:29 -07:00
Serhiy Storchaka bca3305429
gh-108082: C API: Add tests for PyErr_WriteUnraisable() (GH-111455)
Also document the behavior when called with NULL.
2023-10-30 19:01:03 +02:00
Dino Viehland 05f2f0ac92
gh-90815: Add mimalloc memory allocator (#109914)
* Add mimalloc v2.12

Modified src/alloc.c to remove include of alloc-override.c and not
compile new handler.

Did not include the following files:

 - include/mimalloc-new-delete.h
 - include/mimalloc-override.h
 - src/alloc-override-osx.c
 - src/alloc-override.c
 - src/static.c
 - src/region.c

mimalloc is thread safe and shares a single heap across all runtimes,
therefore finalization and getting global allocated blocks across all
runtimes is different.

* mimalloc: minimal changes for use in Python:

 - remove debug spam for freeing large allocations
 - use same bytes (0xDD) for freed allocations in CPython and mimalloc
   This is important for the test_capi debug memory tests

* Don't export mimalloc symbol in libpython.
* Enable mimalloc as Python allocator option.
* Add mimalloc MIT license.
* Log mimalloc in Lib/test/pythoninfo.py.
* Document new mimalloc support.
* Use macro defs for exports as done in:
  https://github.com/python/cpython/pull/31164/

Co-authored-by: Sam Gross <colesbury@gmail.com>
Co-authored-by: Christian Heimes <christian@python.org>
Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-30 15:43:11 +00:00
Serhiy Storchaka 4d6bdf8aab
gh-111165: Remove documentation for moved functions (GH-111467) 2023-10-29 21:34:22 +02:00
Nikita Sobolev 46389c3275
gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst` (GH-111222)
* gh-101100: Fix sphinx warnings in `library/asyncio-eventloop.rst`

* Update Doc/library/socket.rst

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

* Update asyncio-eventloop.rst

* Update socket.rst

---------

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-29 12:31:01 -07:00
Guido van Rossum 2655369559
gh-79033: Try to fix asyncio.Server.wait_closed() again (GH-111336)
* Try to fix asyncio.Server.wait_closed() again

I identified the condition that `wait_closed()` is intended
to wait for: the server is closed *and* there are no more
active connections.

When this condition first becomes true, `_wakeup()` is called
(either from `close()` or from `_detach()`) and it sets `_waiters`
to `None`. So we just check for `self._waiters is None`; if it's
not `None`, we know we have to wait, and do so.

A problem was that the new test introduced in 3.12 explicitly
tested that `wait_closed()` returns immediately when the server
is *not* closed but there are currently no active connections.
This was a mistake (probably a misunderstanding of the intended
semantics). I've fixed the test, and added a separate test that
checks exactly for this scenario.

I also fixed an oddity where in `_wakeup()` the result of the
waiter was set to the waiter itself. This result is not used
anywhere and I changed this to `None`, to avoid a GC cycle.

* Update Lib/asyncio/base_events.py

---------

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2023-10-28 18:04:29 +00:00
Victor Stinner 77bb0d5f50
gh-108765: Include explicitly <unistd.h> in signalmodule.c (#111402)
unistd.h is needed by alarm() and pause() functions.
2023-10-27 20:56:12 +00:00
Zack Cerza 8a158a753c
gh-111406: Fix broken link to bpython's site (#111407) 2023-10-27 18:36:22 +00:00
Jonathan Berthias 9a2f2f46ca
Fix typos in import system docs (#111396) 2023-10-27 13:20:55 +00:00
Nikita Sobolev aa732459c5
gh-111388: Add `show_group` parameter to `traceback.format_exception_only` (#111390) 2023-10-27 11:11:26 +01:00
Łukasz Langa 6d42759c5e
gh-111276: Clarify docs and comments about the role of LC_CTYPE (#111319)
Fix locale.LC_CTYPE documentation to no longer mention string.lower() et al. Those functions were removed in Python 3.0:
https://docs.python.org/2/library/string.html#deprecated-string-functions

Also, fix a comment in logging about locale-specific behavior of `str.lower()`.

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-27 11:43:01 +02:00
Raymond Hettinger 7f9a99e854
gh-89519: Remove classmethod descriptor chaining, deprecated since 3.11 (gh-110163) 2023-10-27 00:24:56 -05:00
Nikita Sobolev ee2d22f06d
gh-111343: Fix `itertools` docs: `start` arg is optional for `count` (gh-111344) 2023-10-27 04:30:13 +00:00
Tian Gao 3f84a19e62
Docs: Add `restart_events()` and positional arg semantics for `sys.monitoring` (#111291)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-10-25 18:03:32 +00:00
Khalil Mouawad 14f52e1548
gh-110679: Improved markup in enum.rst (GH-110747) 2023-10-25 10:32:09 -07:00
Erlend E. Aasland 1262e41842
gh-108590: Improve sqlite3 docs on encoding issues and how to handle those (#108699)
Add a guide for how to handle non-UTF-8 text encodings.
Link to that guide from the 'text_factory' docs.

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Corvin <corvin@corvin.dev>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-10-25 15:58:00 +02:00
Hugo van Kemenade 81ed80d843
gh-111187: Postpone removal version for locale.getdefaultlocale() to 3.15 (#111188) 2023-10-25 16:47:41 +03:00
Serhiy Storchaka f6a45a03d0
gh-111165: Move test running code from test.support to libregrtest (GH-111166)
Remove no longer used functions run_unittest() and run_doctest() from
the test.support module.
2023-10-25 12:41:21 +03:00
Pavel Karateev 8b44f3c54b
Fix first parameter name in `tool` functions from `sys.monitoring` (#111286) 2023-10-24 21:19:54 +00:00
InSync c0ea67dd0d
GH-111182: Update EnumType.__contains__ docs (GH-111184) 2023-10-24 10:30:13 -07:00
Zachary Ware c7d68f907a
Revert "Fix a code snippet typo in asyncio docs (#108427)" (GH-111271)
This reverts commit 7f31676340.

The change resulted in a tautology and should not have been made.  There
may be an opportunity for additional clarity in this section, but this
change wasn't it :)

Ref: https://github.com/python/cpython/pull/108427#issuecomment-1777525740
2023-10-24 11:09:13 -05:00
InSync 1198076447
gh-111151: Convert monospaced directives to :ref: (#111152) 2023-10-24 08:22:08 -07:00
Serhiy Storchaka b8c20f9049
gh-97928: Change the behavior of tkinter.Text.count() (GH-98484)
It now always returns an integer if one or less counting options are specified.
Previously it could return a single count as a 1-tuple, an integer (only if
option "update" was specified) or None if no items found.
The result is now the same if wantobjects is set to 0.
2023-10-24 12:59:19 +03:00
James Tocknell 6b9babf140
Fix typo in sys docs (#111196)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-24 11:03:35 +03:00
Hugo van Kemenade 96cbd1e1db
gh-101100: Fix Sphinx warnings for `fileno` (#111118) 2023-10-23 13:05:56 -06:00
Anthony Shaw be551a7d0e
Add a version added note for PY_VECTORCALL_ARGUMENTS_OFFSET (#110963) 2023-10-23 19:00:52 +03:00
Don Patterson 94c2ddfcd7
typo: missing line of output in pull parser example (#111068) 2023-10-23 18:54:29 +03:00
Pablo Martí Gamboa 46cea34d54
Fix typo in 3.13's whatsnew (#111215) 2023-10-23 18:43:08 +03:00
Nick c84b0390c0
gh-110383: Italicize variable name (#111206) 2023-10-23 07:56:36 +00:00
Nick 1172d02f9f
gh-110383: Added explanation about simplest regex use case for quantifiers. (#111110)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-23 10:22:17 +03:00
Hugo van Kemenade b845a9e145
gh-109975: What's new in 3.13: Add module headers to removals and sort (#110994) 2023-10-22 12:45:17 -06:00
Nikita Sobolev 8c689c9b88
gh-101100: Fix sphinx warnings in `library/asyncio-dev.rst` (GH-111179)
* gh-101100: Fix sphinx warnings in `library/asyncio-dev.rst`

* Update Doc/library/asyncio-eventloop.rst

* Update Doc/library/asyncio-eventloop.rst

---------

Co-authored-by: Carol Willing <carolcode@willingconsulting.com>
2023-10-22 17:11:57 +00:00
Maciej Olko 663cf513b0
gh-101100: Fix Sphinx warning in `tutorial/introduction.rst` (#111173) 2023-10-22 14:53:17 +03:00
Hugo van Kemenade c9c4a87f5d
gh-109975: What's new in 3.13: Add PEP 594 to release highlights (#110993) 2023-10-22 10:17:03 +03:00
Irit Katriel b578e51f02
gh-111123: symtable should visit exception handlers before the else block (#111142) 2023-10-21 13:38:29 +01:00
Gouvernathor b07f23259d
gh-106310 - document the __signature__ attribute (#106311)
Document the __signature__ attribute

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-10-21 08:54:02 +10:00
Victor Stinner f1e751e933
gh-111089: PyUnicode_AsUTF8AndSize() sets size on error (#111106)
On error, PyUnicode_AsUTF8AndSize() now sets the size argument to -1,
to avoid undefined value.
2023-10-20 20:03:11 +02:00
Victor Stinner d8f32be5b6
gh-111089: Add PyUnicode_AsUTF8() to the limited C API (#111121)
Add PyUnicode_AsUTF8() function to the limited C API.

multiprocessing posixshmem now uses PyUnicode_AsUTF8() instead of
PyUnicode_AsUTF8AndSize(): the extension is built with the limited C
API. The function now raises an exception if the filename contains an
embedded null character instead of truncating silently the filename.
2023-10-20 19:29:27 +02:00
Victor Stinner d731579bfb
gh-111089: PyUnicode_AsUTF8() now raises on embedded NUL (#111091)
* PyUnicode_AsUTF8() now raises an exception if the string contains
  embedded null characters.
* Update related C API tests (test_capi.test_unicode).
* type_new_set_doc() uses PyUnicode_AsUTF8AndSize() to silently
  truncate doc containing null bytes.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-10-20 17:59:29 +02:00
Hugo van Kemenade c42c68aa7b
gh-101100: Fix Sphinx warnings in `library/tty.rst` (#111079)
Fix Sphinx warnings in library/tty.rst
2023-10-20 07:33:17 +03:00
Victor Stinner 8d234cd315
gh-85283: Build posixshmem extension with Limited C API (#111087)
Build the _multiprocessing.posixshmem extension with the Limited C
API.

* Add <errno.h> include.
* Replace PyUnicode_AsUTF8() with PyUnicode_AsUTF8AndSize().
2023-10-20 00:23:49 +02:00
Unique-Usman bcc941bd4a
gh-109510: Clearly explain "Which Docstrings Are Examined" (#109696)
Co-authored-by: Mariatta <Mariatta@users.noreply.github.com>
Co-authored-by: Jacob Coffee <jacob@z7x.org>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2023-10-19 18:10:06 +03:00
Adam Turner 63acf78d71
GH-101100: Fix reference warnings for ``__enter__`` and ``__exit__`` (#110112) 2023-10-19 18:05:17 +03:00
Adam Turner da99133710
GH-101100: Fix reference warnings for ``__getitem__`` (#110118) 2023-10-19 18:05:05 +03:00
Nikita Sobolev d144749914
gh-101100: Fix sphinx warnings in `library/getpass.rst` (#110461) 2023-10-19 18:04:29 +03:00
Nikita Sobolev a89708aeea
gh-101100: Fix sphinx warnings in `library/codecs.rst` (#110979) 2023-10-19 17:20:52 +03:00
Tian Gao 1991694117
GH-103082: Clean up the sys.monitoring docs (GH-110532) 2023-10-18 16:15:42 -07:00
Tian Gao d9246c7b73
GH-104232: Fix statement about trace return values (GH-110516) 2023-10-18 13:24:00 -07:00
Tian Gao e6eb8cafca
GH-102895 Add an option local_exit in code.interact to block exit() from terminating the whole process (GH-102896) 2023-10-18 11:36:43 -07:00
Hugo van Kemenade 411d6a638e
gh-109975: What's new in 3.13: longer full support (#110997) 2023-10-17 21:42:28 -07:00
Victor Stinner e7ae43ad7d
Regen Doc/requirements-oldest-sphinx.txt (#111012)
Fix https://github.com/python/cpython/security/dependabot/4: use
urllib3 version 2.0.7.
2023-10-18 07:21:35 +03:00
Victor Stinner 73a003f646
gh-85283: Build _uuid extension with limited C API (#111010) 2023-10-17 23:07:12 +00:00
Victor Stinner 7029c1a1c5
gh-85283: Build _scproxy extension with limited C API (#111008)
* Replace Py_SETREF(v, NULL) with Py_CLEAR(v).
* Reformat the code.
2023-10-17 22:32:53 +00:00
Victor Stinner e37620edfd
gh-85283: Build resource extension with limited C API (#110989)
* Replace PyStructSequence_SET_ITEM() with
  PyStructSequence_SetItem().
* Replace PyTuple_GET_SIZE() with PyTuple_Size().
* Replace PyTuple_GET_ITEM() with PyTuple_GetItem().
2023-10-17 23:52:58 +02:00
Victor Stinner 232465204e
gh-85283: Add PySys_Audit() to the limited C API (#108571)
The PySys_Audit() function was added in Python 3.8 by the PEP 578
"Python Runtime Audit Hooks".

Add also PySys_AuditTuple() to the limited C API, function added
to Python 3.13.

Move non-limited "PerfMap" C API from Include/sysmodule.h to
Include/cpython/sysmodule.h.
2023-10-17 16:02:23 +02:00
Victor Stinner 6db6b30ac2
gh-85283: Build winsound extension with limited C API (#110978)
Replace type->tp_name with PyType_GetQualName().
2023-10-17 15:57:10 +02:00
Matthieu Dartiailh 198aa67d4c
gh-107457: update dis documentation with changes in 3.12 (#108900) 2023-10-17 12:59:34 +00:00
Victor Stinner 4dba0a6d87
gh-85283: Build md5 extension with limited C API (#110967)
* Replace _Py_strhex() with few lines of code.
* Replace _PyType_GetModuleState() with PyType_GetModuleState().
* Fix make check-c-globals.
2023-10-17 10:57:41 +00:00
Victor Stinner 37bd8726b8
gh-85283: Build errno and _ctypes_test with limited C API (#110955)
_testimportmultiple is now built with limited C API version 3.2.
2023-10-17 01:05:20 +00:00
Victor Stinner cc71cc9256
gh-85283: Add PyMem_RawMalloc() to the limited C API (#108570)
Add PyMem_RawMalloc(), PyMem_RawCalloc(), PyMem_RawRealloc() and
PyMem_RawFree() to the limited C API.

These functions were added by Python 3.4 and are needed to port
stdlib extensions to the limited C API, like grp and pwd.

Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-10-17 02:41:51 +02:00
Victor Stinner cf9c25c719
gh-85283: Build _testimportmultiple with limited C API (#110954) 2023-10-17 02:27:15 +02:00
Mienxiu f07ca27709
C-API docs: Clarify the size of arenas (#110895)
Clarify the size of arenas

From 3.10.0 alpha 7, the pymalloc allocator uses arenas with a fixed size of 1
MiB on 64-bit platforms instead of 256 KiB on 32-bit platforms.
2023-10-16 19:52:13 +01:00
Nikita Sobolev bfc1cd8145
gh-110527: Improve `PySet_Clear` docs (#110528) 2023-10-16 15:05:09 +02:00
Karolina Surma db656aebc6
sysconfig docs: fix broken link to the source code (#110920)
It's now a package. See: 4a53a397c3
2023-10-16 12:27:12 +01:00
partev 42a5d21d46
gh-110886 Doc: add a link to BNF Wikipedia article (#110887)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-10-15 10:52:13 -06:00
Łukasz Langa 84b7e9e3fa
gh-110722: Add PYTHON_PRESITE to import a module before site.py is run (#110769) 2023-10-14 23:32:57 +02:00
Nikita Sobolev 12deda7633
gh-101100: Fix sphinx warnings in `library/time.rst` (#110862) 2023-10-14 16:20:19 +02:00
Serhiy Storchaka 38bd2c520a
gh-88434: Emit deprecation warnings for non-integer numbers in gettext if translation not found (GH-110574) 2023-10-14 09:07:02 +03:00
Nikita Sobolev 45cfabb842
gh-101100: Fix sphinx warnings in `usage/cmdline.rst` (#110841) 2023-10-14 08:05:46 +02:00
Serhiy Storchaka 7284e0ef84
gh-110815: Support non-ASCII keyword names in PyArg_ParseTupleAndKeywords() (GH-110816)
It already mostly worked, except in the case when invalid keyword
argument with non-ASCII name was passed to function with non-ASCII
parameter names. Then it crashed in the debug mode.
2023-10-14 08:50:03 +03:00
paskozdilar f81e36f700
gh-110703: Add asyncio.wait_for() change notes for 3.11 (GH-110818)
* Remove redundant versionchanged

* Add missing versionchanged

* Update Doc/library/asyncio-task.rst

Co-authored-by: Kumar Aditya <kumaraditya@python.org>

---------

Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2023-10-13 15:15:28 +02:00
Petr Viktorin 2ab34f0e42
gh-110803: Reorganize docs for what PyType_Slot doesn't cover (GH-110813)
* gh-110803: Reorganize docs for what PyType_Slot doesn't cover

- Cover the offset fields first
- Mention the old alternative for MANAGED flags, which is needed
  to support older Pythons
- De-emphasize the internal flags: use an inline list.
- Add a note to PyMemberDef saying what to do with it

* Remove an older draft...
2023-10-13 14:51:48 +02:00
T. Wouters b7f9661bc1
Fix the pyspecific SOURCE_URI (#110811) 2023-10-13 08:43:01 +00:00
InSync 2c472a87c7
Remove unnecessary escape in Doc/library/enum.rst (GH-110780) 2023-10-12 15:04:36 -07:00
Thomas Grainger 8c6c14b91b
gh-94597: Add asyncio.EventLoop (#110723)
This is needed to pave the way for deprecating and eventually killing the event loop policy system (which is over-engineered and rarely used).
2023-10-12 07:13:57 -07:00
Victor Stinner 88ecb190f3
gh-85283: _stat extension now uses the limited C API (#110711)
gh-85283: _stat extension uses the limited C API

The _stat C extension is now built with the limited C API.
2023-10-12 00:06:20 +02:00
Ezio Melotti 41d8ec5a1b
gh-110631: Fix reST indentation in `Doc/reference` (#110708)
Fix wrong indentation in the Doc/reference dir.
2023-10-11 22:50:55 +02:00
Victor Stinner 6f4a49942b
gh-85283: If Py_LIMITED_API is defined, undefine Py_BUILD_CORE (#110725)
If the Py_LIMITED_API macro is defined, Py_BUILD_CORE,
Py_BUILD_CORE_BUILTIN and Py_BUILD_CORE_MODULE macros are now
undefined by Python.h.

Only undefine these 3 macros after including "exports.h" which uses
them to define PyAPI_FUNC(), PyAPI_DATA() and PyMODINIT_FUNC macros.

Remove hacks (undefine manually the 3 Py_BUILD_CORE macros) in
Modules/_testcapi/parts.h and Modules/_testclinic_limited.c.
2023-10-11 20:47:54 +00:00
Ezio Melotti 718391f475
gh-110631: Fix reST indentation (#110724)
* Fix wrong indentation in the other dirs.

* Fix more wrong indentation.
2023-10-11 22:43:03 +02:00
Ezio Melotti bb7923f556
gh-110631: Fix reST indentation in `Doc/library` (#110685)
Fix wrong indentation in the Doc/library dir.
2023-10-11 22:24:12 +02:00
Serhiy Storchaka eb50cd37ea
gh-110289: C API: Add PyUnicode_EqualToUTF8() and PyUnicode_EqualToUTF8AndSize() functions (GH-110297) 2023-10-11 16:41:58 +03:00
Adam Turner d1f7fae424
GH-107518: Remove the Argument Clinic How-To (#109900)
* Remove the content of the Argument Clinic HOWTO
* Update cross-references to the Argument Clinic
* Add a note directing readers to the devguide
2023-10-11 14:57:51 +02:00
Ezio Melotti 3dd593e2f2
gh-110631: fix wrong indentation in the `Doc/whatsnew` dir (#110632)
Fix wrong indentation in the Doc/whatsnew dir.
2023-10-11 07:34:38 +02:00
Radislav Chugunov 0d805b998d
gh-108826: Document `dis` module CLI and rename `_test` function to `main` (#108827)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2023-10-10 16:31:28 -06:00
Nikita Sobolev 756062b296
gh-101100: Fix sphinx warnings in `library/socketserver.rst` (GH-110207) 2023-10-10 13:44:19 +02:00
Donghee Na 0362cbf908
gh-109595: Add -Xcpu_count=<n> cmdline for container users (#109667)
---------

Co-authored-by: Victor Stinner <vstinner@python.org>
Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
2023-10-10 19:00:09 +09:00
Ezio Melotti bdbe43c7d0
Remove unused `SPHINXLINT` var from `Doc/Makefile`. (#110570)
Remove unused `SPHINXLINT` var.
2023-10-10 00:30:23 +02:00
Nikita Sobolev 5e7edac771
gh-110497: Add note about `OSError` being an alias to `IOError` in docs (#110498) 2023-10-09 11:18:06 +02:00
Albert Villanova del Moral 0df772f555
Remove unused imports in multiprocessing docs example (#109984) 2023-10-08 22:36:01 -07:00
partev 892ee72b36
gh-110534 fix a URL redirect to wikipedia article on Fibonacci numbers (#110535) 2023-10-09 00:44:15 -04:00
Serhiy Storchaka d96a8cdfe2
gh-89902: Deprecate non-standard format specifier "N" for Decimal (GH-110508)
It was not documented and only supported in the C implementation.
2023-10-08 10:01:39 +03:00
zipperer 8e56d551ce
Update floatingpoint.rst (#110509)
This commit removes a ':'. I believe the extra colon causes a display error.

What I believe to be an error:
Above this expression
`round(math.pi, ndigits=2) == round(22 / 7, ndigits=2)`
the page displays `.. doctest::`.

What I observed:
After I remove the extra colon, the page does not display `.. doctest::`
2023-10-07 17:07:36 -07:00
Masaru Tsuchiyama de2a4036cb
gh-108277: Add os.timerfd_create() function (#108382)
Add wrapper for timerfd_create, timerfd_settime, and timerfd_gettime to os module.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Victor Stinner <vstinner@python.org>
2023-10-07 19:33:22 +02:00
Victor Stinner 64f158e7b0
gh-110397: Add Py_IsFinalizing() to the stable ABI (#110441) 2023-10-07 17:59:16 +02:00
InSync 02cdaefe9a
Fix typo in Doc/library/textwrap.rst (#110328)
"One problem with this is algorithm is that [...]" -> "One problem with this algorithm is that [...]"
2023-10-06 14:25:02 +00:00
Victor Stinner bb057b3370
gh-85283: Add PySys_AuditTuple() function (#108965)
sys.audit() now has assertions to check that the event argument is
not NULL and that the format argument does not use the "N" format.

Add tests on PySys_AuditTuple().
2023-10-05 21:59:35 +00:00
Bradley Reynolds d257479c2f
gh-110383: Swap 'the all' -> 'all the' in socket docs (#110434) 2023-10-05 19:55:44 +00:00
Harmen Stoppels a13620685f
Fix env var typo in perf profiling docs (#110404)
Fix typo in docs
2023-10-05 20:27:19 +03:00
Towster15 a973bf0f97
gh-110383 TimeIt Docs Spelling Fix (#110407)
Make 0.2 second plural
2023-10-05 17:01:35 +00:00
박문식 d33aa18f15
gh-82367: Use `FindFirstFile` Win32 API in `ntpath.realpath()` (GH-110298)
* Use `FindFirstFile` Win32 API to fix a bug where `ntpath.realpath()`
breaks out of traversing a series of paths where a (handled)
`ERROR_ACCESS_DENIED` or `ERROR_SHARING_VIOLATION` occurs.
* Update docs to reflect that `ntpath.realpath()` eliminates MS-DOS
style names.
2023-10-05 09:49:07 -05:00
Benjamin Peterson 313aa861ce
Remove duplicate word. (#110376) 2023-10-05 15:18:17 +11:00
P. L. Lim f7860295b1
Add back bltin-boolean-values ref tag (#110371)
To avoid breaking downstream intersphinx via numpydoc
2023-10-04 12:56:11 -07:00
Jelle Zijlstra f02f26e293
gh-85984: Document change in return type of tty functions (#110028) 2023-10-03 20:46:38 -07:00
Adam Turner 77e9aae383
Docs: Avoid the deprecated ``.. cmdoption::`` directive (#110292) 2023-10-03 17:38:12 +00:00
Victor Stinner d73501602f
gh-108867: Add PyThreadState_GetUnchecked() function (#108870)
Add PyThreadState_GetUnchecked() function: similar to
PyThreadState_Get(), but don't issue a fatal error if it is NULL. The
caller is responsible to check if the result is NULL. Previously,
this function was private and known as _PyThreadState_UncheckedGet().
2023-10-03 16:53:51 +00:00
Victor Stinner 6ab6040054
gh-110276: No longer ignore PROFILE_TASK failure silently (#110295) 2023-10-03 18:43:23 +02:00
Victor Stinner eeb4e974d0
gh-107073: Mention pythoncapi-compat for PyObject_VisitManagedDict() (#110291) 2023-10-03 15:50:10 +00:00
Lincoln 4227bfa8b2
Enhanced sqlite3 connection context management documentation with contextlib.closing gh-109234 (#109322)
* Enhanced sqlite3 connection context management documentation with contextlib.closing

* 📜🤖 Added by blurb_it.

* Fixed gitignore spelling error from nitignore to gitignore

* Renamed .gitignore to .nitignore

* Added generated doctests

* Deleted sqlite3 generated files

* Removed white-space changes

* Removed News entry from the doc

* Expanded a note that context manager can be used for connection management using contextlib.closing

* Removed repeated contextlib.closing code snippet

* Expanded the note around usage of context manageer for sqlite3 connection management

* Deleted extra white-spaces

* Deleted extra white-space

* re-arranged context manager wording

* Re-arranged word layout on how to use context manager

* Fix whitespace errors

* Remove unneeded change in .gitignore

* Added suggested changes

* Added suggested change redirecting to the contextlib.closing implementation

* Added closing keyword

* Removed line 2473

---------

Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Erlend E. Aasland <erlend@python.org>
2023-10-03 17:32:43 +03:00
Alex Waygood f1663a492e
Bump various dependencies in `Doc/requirements-oldest-sphinx.txt` (#110278)
This resolves a Dependabot security alert on the repository for urllib3==2.0.4.
2023-10-03 14:10:03 +01:00
Lele Gaifax 8c071373f1
Fix typo in py312 whatsnew: add missing closing paren (#110255) 2023-10-03 07:10:16 +01:00
Victor Stinner fc2cb86d21
gh-107073: Make PyObject_VisitManagedDict() public (#108763)
Make PyObject_VisitManagedDict() and PyObject_ClearManagedDict()
functions public in Python 3.13 C API.

* Rename _PyObject_VisitManagedDict() to PyObject_VisitManagedDict().
* Rename _PyObject_ClearManagedDict() to PyObject_ClearManagedDict().
* Document these functions.
2023-10-02 19:24:08 +02:00
Victor Stinner 4d0d1c3866
gh-110014: Remove PY_TIMEOUT_MAX from limited C API (#110217)
If the timeout is greater than PY_TIMEOUT_MAX,
PyThread_acquire_lock_timed() uses a timeout of PY_TIMEOUT_MAX
microseconds, which is around 280.6 years. This case is unlikely and
limiting a timeout to 280.6 years sounds like a reasonable trade-off.

The constant PY_TIMEOUT_MAX is not used in PyPI top 5,000 projects.
2023-10-02 18:07:56 +02:00
numbermaniac 8d92b6eff3
3.12 What's New: Remove duplicate "up to" (#110219) 2023-10-02 13:13:44 +00:00
Steve Dower 1b3bc610fd
gh-83180: Made launcher treat shebang 'python' tags as low priority so that active virtual environments are preferred (GH-108101) 2023-10-02 12:22:55 +00:00
Adam Turner 6139bf5e0c
GH-109190: Announce final release in What's New in Python 3.12 (#110117)
Prepare What's New in Python 3.12 for final release
2023-10-02 13:15:58 +02:00
Adam Turner f16e81f368
GH-92584: Move installation schemes overview to sysconfig docs (#108018)
* Add new installation path functions subsection

* Add content from install/index to sysconfig

* Fix table

* Update note about installers

* Clean up the list of schemes, remove references to Distutils
2023-10-02 12:40:03 +02:00
Hugo van Kemenade 9cb8927bfc
Docs: bump Pygments to fix contrast ratios to meet WCAG AA guidelines (#110208) 2023-10-02 13:31:23 +03:00
Charles Machalow 29b875bb93
gh-109590: Update shutil.which on Windows to prefer a PATHEXT extension on executable files (GH-109995)
The default arguments for shutil.which() request an executable file, but extensionless files are not executable on Windows and should be ignored.
2023-10-02 09:27:30 +01:00
Ned Batchelder 29c3a445d9
fix misaligned versionchanged blocks in sqlite3 docs (GH-110191) 2023-10-01 20:34:09 -07:00
Quentin Agren adf0f15a06
gh-110138: Improve grammar in idiomatic usage of ``__main__.py`` (#110142) 2023-10-01 13:32:43 -05:00
Nikita Sobolev 31097df611
gh-101100: Fix sphinx warnings in `library/site.rst` (#110144)
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2023-10-01 20:18:19 +03:00
Barney Gale 15de493395
GH-107465: Add `pathlib.Path.from_uri()` classmethod. (#107640)
This method supports file URIs (including variants) as described in RFC 8089, such as URIs generated by `pathlib.Path.as_uri()` and `urllib.request.pathname2url()`.

The method is added to `Path` rather than `PurePath` because it uses `os.fsdecode()`, and so its results vary from system to system. I intend to deprecate `PurePath.as_uri()` and move it to `Path` for the same reason.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-10-01 16:14:02 +01:00
Raymond Hettinger 62405c7867
gh-110150: Fix base case handling in quantiles() (gh-110151) 2023-09-30 23:35:54 -05:00
Victor Stinner a46e960768
gh-109649: Use os.process_cpu_count() (#110165)
Replace os.cpu_count() with os.process_cpu_count() in modules:

* compileall
* concurrent.futures
* multiprocessing

Replace os.cpu_count() with os.process_cpu_count() in programs:

* _decimal deccheck.py test
* freeze.py
* multissltests.py
* python -m test (regrtest)
* wasm_build.py

Other changes:

* test.pythoninfo logs os.process_cpu_count().
* regrtest gets os.process_cpu_count() / os.cpu_count() in headers.
2023-10-01 03:14:57 +02:00
Victor Stinner c81521020d
gh-109649: Add os.process_cpu_count() function (#109907)
* Refactor os_sched_getaffinity_impl(): move variable definitions to
  their first assignment.
* Fix test_posix.test_sched_getaffinity(): restore the old CPU mask
  when the test completes!
* Doc: Specify that os.cpu_count() counts *logicial* CPUs.
* Doc: Specify that os.sched_getaffinity(0) is related to the calling
  thread.
2023-10-01 00:12:51 +02:00
Victor Stinner 7513994c92
gh-110014: Include explicitly <unistd.h> header (#110155)
* Remove unused <locale.h> includes.
* Remove unused <fcntl.h> include in traceback.h.
* Remove redundant <assert.h> and <stddef.h> includes. They  are already
  included by "Python.h".
* Remove <object.h> include in faulthandler.c. Python.h already includes it.
* Add missing <stdbool.h> in pycore_pythread.h if HAVE_PTHREAD_STUBS
  is defined.
* Fix also warnings in pthread_stubs.h: don't redefine macros if they
  are already defined, like the __NEED_pthread_t macro.
2023-09-30 20:06:45 +00:00
Victor Stinner 74e425ec18
gh-110014: Fix _POSIX_THREADS and _POSIX_SEMAPHORES usage (#110139)
* pycore_pythread.h is now the central place to make sure that
  _POSIX_THREADS and _POSIX_SEMAPHORES macros are defined if
  available.
* Make sure that pycore_pythread.h is included when _POSIX_THREADS
  and _POSIX_SEMAPHORES macros are tested.
* PY_TIMEOUT_MAX is now defined as a constant, since its value
  depends on _POSIX_THREADS, instead of being defined as a macro.
* Prevent integer overflow in the preprocessor when computing
  PY_TIMEOUT_MAX_VALUE on Windows:
  replace "0xFFFFFFFELL * 1000 < LLONG_MAX"
  with "0xFFFFFFFELL < LLONG_MAX / 1000".
* Document the change and give hints how to fix affected code.
* Add an exception for PY_TIMEOUT_MAX  name to smelly.py
* Add PY_TIMEOUT_MAX to the stable ABI
2023-09-30 19:25:54 +02:00
Adam Turner 0449fe999d
GH-101100: Fix reference warnings for ``gettext`` (#110115) 2023-09-30 05:10:07 -06:00
Adam Turner cbdacc738a
GH-101100: Fix reference warnings for ``namedtuple`` (#110113) 2023-09-29 23:32:35 -07:00
Raymond Hettinger 613c0d4e86
Add example for linear_regression() with proportional=True. (gh-110133) 2023-09-29 23:18:12 -05:00
Donghee Na 501939c9c1
gh-105323: Update readline module to detect apple editline variant (gh-108665) 2023-09-29 21:18:18 +09:00
Jacob Coffee e27adc68cc
gh-109634: Fix `:samp:` syntax (GH-110073) 2023-09-29 14:21:34 +03:00
Yuki K bfd94ab9e9
gh-101100: Fix references to ``URLError`` and ``HTTPError`` in ``howto/urllib2.rst`` (#107966)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-29 08:35:29 +00:00
Maciej Olko 8898a8683b
gh-101100: Fix Sphinx warnings in `tutorial/controlflow.rst` (#109424)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-29 11:27:43 +03:00
Nikita Sobolev f1b1680a72
gh-109961: Use proper `module` for `copy` method docs (#110027)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-29 11:26:55 +03:00
Nikita Sobolev d102d39bbe
gh-101100: Fix sphinx warnings in `library/difflib.rst` (#110074) 2023-09-29 11:03:59 +03:00
Jelle Zijlstra 7dc2c5093e
gh-110045: Update symtable module for PEP 695 (#110066) 2023-09-29 02:08:04 +00:00
Davide Rizzo c4eda57345
Whitespace fix in asyncio-stream.rst (#110015) 2023-09-28 09:34:35 -07:00
Nikita Sobolev 0baf72696e
gh-109961: Docs: Fix incorrect rendering of `__replace__` in `copy.rst` (#109968) 2023-09-28 14:51:33 +03:00
Adam Turner 526380e286
GH-109190: Copyedit 3.12 What's New: Bytecode (#109821)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-28 04:40:59 +00:00
Jacob Coffee 99fba5f156
gh-109812: Fix phrasing for `collections.Counter` (gh-109813) 2023-09-27 21:29:39 -05:00
Jelle Zijlstra f49958c886
Enhance TypedDict docs around required/optional keys (#109547)
As discussed in comments to #109544, the semantics of this attribute
are somewhat confusing. Add a note explaining its limitations and
steering users towards __required_keys__ and __optional_keys__ instead.
2023-09-27 10:35:46 -07:00
Sam Gross 773614e03a
gh-109740: Use 't' in `--disable-gil` SOABI (#109922)
Shared libraries for CPython 3.13 are now marked with a 't' for
threading. For example, `binascii.cpython-313t-darwin.so`.
2023-09-27 15:24:12 +00:00
Adam Turner b35f0843fc
GH-109190: Copyedit 3.12 What's New: Release highlights (#109770) 2023-09-27 17:31:55 +03:00
Nikita Sobolev d9809e84fb
gh-101100: Fix sphinx warnings in `library/devmode.rst` (#109963)
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2023-09-27 16:07:28 +03:00
Adam Turner 0e28d0f7a1
GH-109190: Copyedit 3.12 What's New: Deprecations (``os`` fix) (#109927)
Merge the two ``os`` entries
2023-09-27 07:59:42 +03:00