Commit graph

4228 commits

Author SHA1 Message Date
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
eeb4e974d0
gh-107073: Mention pythoncapi-compat for PyObject_VisitManagedDict() (#110291) 2023-10-03 15:50:10 +00: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
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
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
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
cbdacc738a
GH-101100: Fix reference warnings for `namedtuple` (#110113) 2023-09-29 23:32:35 -07: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
Adam Turner
b35f0843fc
GH-109190: Copyedit 3.12 What's New: Release highlights (#109770) 2023-09-27 17:31:55 +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
Adam Turner
87ddfa74e2
GH-109190: Copyedit 3.12 What's New: Deprecations (#109766) 2023-09-27 00:24:44 +03:00
lohaswinner
8100612bac
no-issue: Fix a typo in the parameter name of random.expovariate. (gh-109902) 2023-09-26 22:12:32 +09:00
Adam Turner
86e7c611ac
GH-109190: Copyedit 3.12 What's New: Sort Other Language Changes (#109836) 2023-09-25 17:42:03 +03:00
Adam Turner
64ab9f7d5c
GH-109190: Copyedit 3.12 What's New: Synchronise C API deprecations with the 3.12 branch (#109844) 2023-09-25 17:04:36 +03:00
Adam Turner
bccc1b7800
GH-109190: Copyedit 3.12 What's New: Improve the C-API deprecations section (#109751)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-09-25 12:38:07 +00:00
Adam Turner
4e478534d7
GH-109190: Copyedit 3.12 What's New: Use the present tense (#109754) 2023-09-25 15:18:22 +03:00
Adam Turner
f08772cfd8
GH-109190: Copyedit 3.12 What's New: Trivia (#109760) 2023-09-25 15:11:37 +03:00
Adam Turner
7495a93e0f
GH-109190: Copyedit 3.12 What's New: Prefer GitHub issues links (#109753) 2023-09-25 15:11:06 +03:00
Adam Turner
7b8bfe1644
GH-109190: Copyedit 3.12 What's New: Update the `imp` porting guidance (#109755) 2023-09-25 00:24:02 -06:00
Adam Turner
09a73d50f6
GH-109190: Copyedit 3.12 What's New: Increase the prominence of the setuptools removal (#109768) 2023-09-25 00:22:00 -06:00
Gregory P. Smith
e81bd3fa16
Sync whatsnew with the edit I made in the 3.12 backport PR. (#109807)
A post main merge edit to the text was added in the 3.12 backport PR.
  e38d7104b8

This includes that in main.  It's a minor edit over #109767 to resolve the comment there.
2023-09-24 17:27:24 +00:00
Adam Turner
8d365b60ba
GH-109190: Copyedit 3.12 What's New: Use the `:file:` role (#109756)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-24 16:05:57 +00:00
Serhiy Storchaka
92af0cc580
gh-109634: Use :samp: role (GH-109635) 2023-09-23 09:31:20 +03:00
Gregory P. Smith
5e7ea95d9d
gh-100228: Document the os.fork threads DeprecationWarning. (#109767)
Document the `os.fork` posix threads detected `DeprecationWarning` in 3.12 What's New, os, multiprocessing, and concurrent.futures docs.

Many reviews and doc cleanup edits by Adam & Hugo. 🥳 

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-23 05:04:20 +00:00
Adam Turner
b10de68c6c
GH-95913: Add the release date for Python 3.11 (#109750) 2023-09-22 21:07:06 -07:00
Jelle Zijlstra
612400d446
Fix indentation in 3.13 What's New (#109769)
The previous layout made it look like the other three deprecations are part of the first one, when in fact they are independent.

The new layout is consistent with that used for sqlite3 in 3.12 (https://docs.python.org/3.13/whatsnew/3.12.html#deprecated).
2023-09-22 20:45:26 -07:00
Hugo van Kemenade
8a82bff12c
Docs: Update Donghee Na's name (#109743) 2023-09-22 12:52:57 -06:00
Adam Turner
c32abf1f21
GH-109190: Copyedit 3.12 What's New: asyncio (#109661)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Itamar Oren <itamarost@gmail.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-22 15:32:32 +02:00
Adam Turner
168c3a8a89
GH-109190: Copyedit 3.12 What's New: PEP 669 (#109658)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-22 15:31:49 +02:00
Adam Turner
cade5960ae
GH-109190: Copyedit 3.12 What's New: Other Language Changes (#109660) 2023-09-22 15:05:39 +02:00
Adam Turner
e94a2232ea
GH-109190: Copyedit 3.12 What's New: PEP 684 (#109657) 2023-09-22 14:53:53 +02:00
Adam Turner
d9415f6a45
GH-109190: Copyedit 3.12 What's New: bytecode (LOAD_METHOD) (#109665)
bytecode: suppress reference to removed LOAD_METHOD
2023-09-22 14:50:20 +02:00
Adam Turner
34ddcc3fa1
GH-109190: Copyedit 3.12 What's New: calendar (#109662)
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-22 06:29:48 +00:00
Adam Turner
d3fe1a902f
GH-109190: Copyedit 3.12 What's New: tokenize (#109663) 2023-09-22 00:28:13 -06:00
Adam Turner
291401389b
GH-109190: Copyedit 3.12 What's New: Consistently show module names (#109664)
Consistently show module names
2023-09-22 08:37:44 +03:00
Adam Turner
e47d12e222
GH-109190: Copyedit 3.12 What's New: PEP 701 (#109655) 2023-09-21 13:37:28 -06:00
Adam Turner
16c24023c1
GH-109190: Copyedit 3.12 What's New: Improved Error Messages (#109654) 2023-09-21 13:24:44 -06:00
Adam Turner
11636788da
GH-109190: Copyedit 3.12 What's New: Typing PEPs (#109659) 2023-09-21 13:05:54 -06:00
Adam Turner
22b70ca480
GH-109190: Copyedit 3.12 What's New: PEP 709 (#109656) 2023-09-21 12:50:33 -06:00
Heinz-Alexander Fuetterer
ef6d475db3
Fix typos in docs and comments (#109619) 2023-09-20 16:58:23 +00:00
Serhiy Storchaka
add16f1a5e
gh-108511: Add C API functions which do not silently ignore errors (GH-109025)
Add the following functions:

* PyObject_HasAttrWithError()
* PyObject_HasAttrStringWithError()
* PyMapping_HasKeyWithError()
* PyMapping_HasKeyStringWithError()
2023-09-17 14:23:31 +03:00
Brett Cannon
e218e5022e
GH-83417: Allow venv to add a .gitignore file to environments via a new scm_ignore_file parameter (GH-108125)
This feature is off by default via code but on by default via the CLI. The `.gitignore` file contains `*` which causes the entire directory to be ignored.

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
2023-09-15 22:38:08 +00:00
Gregory P. Smith
59073c9ab8
gh-109096: Deprecate http.server.CGIHTTPRequestHandler (#109387)
Deprecate `http.server.CGIHTTPRequestHandler`.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
2023-09-15 14:26:45 -07:00
Victor Stinner
d7a27e527d
gh-107298: Document PyMODINIT_FUNC macro (#109236)
Document PyMODINIT_FUNC macro.

Remove links to PyAPI_FUNC() and PyAPI_DATA() macros since they are
not documented. These macros should only be used to define the Python
C API. They should not be used outside Python code base.
2023-09-14 14:56:43 +02:00