Commit Graph

27254 Commits

Author SHA1 Message Date
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