Commit Graph

25690 Commits

Author SHA1 Message Date
ov2k caa2a9799a
Clarify API stability of PyTypeObject in relation to static types. (GH-96217)
Fixes:
https://github.com/python/cpython/issues/95300

Related:
https://github.com/python/cpython/issues/91271
2022-08-25 15:32:12 +02:00
Sam Ezeh cd492d43a2
gh-76728: Coerce DictReader and DictWriter fieldnames argument to a list (GH-32225) 2022-08-25 05:13:24 -05:00
Vinay Sajip 8db7693bbf
gh-91070: Add note about SysLogHandler on macOS 12.x (Monterey). (GH-94803) 2022-08-25 08:27:30 +01:00
Pablo Galindo Salgado e34c82abeb
GH-93503: Add thread-specific APIs to set profiling and tracing functions in the C-API (#93504)
* gh-93503: Add APIs to set profiling and tracing functions in all threads in the C-API

* Use a separate API

* Fix NEWS entry

* Add locks around the loop

* Document ignoring exceptions

* Use the new APIs in the sys module

* Update docs
2022-08-24 23:21:39 +01:00
prego 4317b25a23
GH-96179: Fix misleading example on the bisect documentation (GH-96228)
The `movies[bisect(movies, 1960, key=by_year)]` will actually return only movies **after** 1960.
2022-08-24 17:47:13 +02:00
Dong-hee Na 09563a764e
gh-96197: Define the behavior of breakpoint if sys.breakpointhook is lost (gh-96231) 2022-08-24 23:03:36 +09:00
C.A.M. Gerlach 6bda5b85b5
gh-94635: Frame sqlite3 how-to headings as such & move default adapters to reference (#96136)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-08-24 09:14:14 +02:00
Raymond Hettinger 1f0eafa844
GH-96145: Add AttrDict to JSON module for use with object_hook (#96146) 2022-08-23 16:22:00 -05:00
C.A.M. Gerlach d6259c58cb
gh-96096: Add undocumented SQLITE_OK/DENY/IGNORE sqlite3 constants (#96134)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-08-23 08:51:20 +02:00
Erlend E. Aasland 04c73e5efb
gh-95432: Add doctest for sqlite3 tutorial (#96193) 2022-08-23 08:48:13 +02:00
Erlend E. Aasland 18b1782192
gh-96121: Merge sqlite3.Row examples into sqlite3.Row class doc (#96122)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-08-22 10:03:24 +02:00
sand8089 d8c7a1174c
small grammatical change (GH-96138)
changed a to an under An example that uses most of the list methods
2022-08-21 09:56:52 -05:00
Raymond Hettinger 511dea0a3e
GH-95880: Clarify StringIO append/overwrite behavior. (GH-96104) 2022-08-21 09:42:15 -05:00
Raymond Hettinger 0e28a3a50f
Add polynomial_from_roots() to the itertools recipes (#96102) 2022-08-21 09:41:29 -05:00
Nick Coghlan bcc4cb0c7d
gh-96098: Clearly link concurrent.futures from threading & multiprocessing docs (GH-96112)
Clearly link concurrent.futures from threading & multiprocessing docs

Also link directly to asyncio from the beginning of the threading docs.
2022-08-21 14:09:05 +12:00
Dong-hee Na 6ec57e7c5a
gh-90536: Fix link syntax to LLVM-BOLT repository (gh-96141) 2022-08-21 00:11:35 +09:00
Brandt Bucher 5bfb3c372b
GH-90997: Wrap yield from/await in a virtual try/except StopIteration (GH-96010) 2022-08-19 12:33:44 -07:00
Erlend E. Aasland ee9f22d346
Docs: Fix markup of module name in sqlite3 docs (#96115) 2022-08-19 10:18:08 +02:00
C.A.M. Gerlach 303ef0913e
Doc: Use consistent markup for example Point class in sqlite3 (#96095) 2022-08-19 09:41:16 +02:00
Erlend E. Aasland 1a140af40b
Docs: group sqlite3.Connection attributes and methods (#96090) 2022-08-19 09:30:41 +02:00
Erlend E. Aasland ede771cdf9
gh-94635: Remove sqlite3 doc introduction heading (#96089) 2022-08-19 09:21:11 +02:00
MrSuspicious 757c383d24
gh-96039: Corrected wording error in itertools doc (GH-96105) 2022-08-19 01:20:45 -05:00
Raymond Hettinger 6740680b57
GH-95822: Need _PyType_Lookup() in descriptor howto code equivalent. (GH-95967) 2022-08-18 23:56:58 -05:00
C.A.M. Gerlach b6d88b7225
gh-95914: Add Py_UNICODE encode APIs removed in PEP 624 to 3.11 What's New (#96016)
* 3.11 Whatsnew: Add Py_UNICODE encode functions removed in PEP 624

* Just use :func: instead of :c:func: for non-resolved funcs so ! works
2022-08-19 00:52:59 +01:00
Raymond Hettinger ba4bb7e464
GH-93179: Document the thread safety of functools.lru_cache (GH-95970) 2022-08-18 17:38:49 -05:00
Kevin Modzelewski 214eb2cce5
gh-90536: Add support for the BOLT post-link binary optimizer (gh-95908)
* Add support for the BOLT post-link binary optimizer

Using [bolt](https://github.com/llvm/llvm-project/tree/main/bolt)
provides a fairly large speedup without any code or functionality
changes. It provides roughly a 1% speedup on pyperformance, and a
4% improvement on the Pyston web macrobenchmarks.

It is gated behind an `--enable-bolt` configure arg because not all
toolchains and environments are supported. It has been tested on a
Linux x86_64 toolchain, using llvm-bolt built from the LLVM 14.0.6
sources (their binary distribution of this version did not include bolt).

Compared to [a previous attempt](https://github.com/faster-cpython/ideas/issues/224),
this commit uses bolt's preferred "instrumentation" approach, as well as adds some non-PIE
flags which enable much better optimizations from bolt.

The effects of this change are a bit more dependent on CPU microarchitecture
than other changes, since it optimizes i-cache behavior which seems
to be a bit more variable between architectures. The 1%/4% numbers
were collected on an Intel Skylake CPU, and on an AMD Zen 3 CPU I
got a slightly larger speedup (2%/4%), and on a c6i.xlarge EC2 instance
I got a slightly lower speedup (1%/3%).

The low speedup on pyperformance is not entirely unexpected, because
BOLT improves i-cache behavior, and the benchmarks in the pyperformance
suite are small and tend to fit in i-cache.

This change uses the existing pgo profiling task (`python -m test --pgo`),
though I was able to measure about a 1% macrobenchmark improvement by
using the macrobenchmarks as the training task. I personally think that
both the PGO and BOLT tasks should be updated to use macrobenchmarks,
but for the sake of splitting up the work this PR uses the existing pgo task.

* Simplify the build flags

* Add a NEWS entry

* Update Makefile.pre.in

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>

* Update configure.ac

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>

* Add myself to ACKS

* Add docs

* Other review comments

* fix tab/space issue

* Make it more clear that --enable-bolt is experimental

* Add link to bolt's github page

Co-authored-by: Dong-hee Na <donghee.na92@gmail.com>
2022-08-19 06:33:54 +09:00
Raymond Hettinger 29c8f80760
GH-95861: Add support for Spearman's rank correlation coefficient (GH-95863) 2022-08-18 13:48:27 -05:00
Erlend E. Aasland 91afe66707
Docs: Escape lone stars in sqlite3 docs (#96081) 2022-08-18 20:39:36 +02:00
Erlend E. Aasland c87ea10fc9
gh-95271: Rework sqlite3 tutorial (#95749)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
2022-08-18 20:36:20 +02:00
Victor Stinner cfaa79aac0
gh-93103: Doc uses PyConfig rather than deprecated vars (#96070)
The C API documentation now uses the new PyConfig API, rather than
deprecated global configuration variables.
2022-08-18 16:58:38 +02:00
Irit Katriel c5bc67b2a1
gh-95913: Add traceback module additions to what's new in 3.11 (GH-95980) 2022-08-18 11:37:41 +01:00
Mark Shannon b73e3b6d4a
GH-95589: Dont crash when subclassing extension classes with multiple inheritance (GH-96028)
* Treat tp_weakref and tp_dictoffset like other opaque slots for multiple inheritance.

* Document Py_TPFLAGS_MANAGED_DICT and Py_TPFLAGS_MANAGED_WEAKREF in what's new.
2022-08-17 12:50:53 +01:00
Petr Viktorin 0f2b469ce1
gh-95991: Add some infrastructure for testing Limited API in _testcapi (GH-95992)
- Limited API needs to be enabled per source file
- Some builds don't support Limited API, so Limited API tests must be skipped on those builds
  (currently this is `Py_TRACE_REFS`, but that may change.)
- `Py_LIMITED_API` must be defined before `<Python.h>` is included.

This puts the hoop-jumping in `testcapi/parts.h`, so individual
test files can be relatively simple. (Currently that's only
`vectorcall_limited.c`, imagine more.)
2022-08-17 13:48:43 +02:00
Christian Heimes da0aa518bf
gh-96005: FreeBSD has ENOTCAPABLE, too (GH-96034) 2022-08-17 07:24:53 +02:00
Christian Heimes 48174fa0b9
gh-96005: Handle WASI ENOTCAPABLE in getpath (GH-96006)
- On WASI `ENOTCAPABLE` is now mapped to `PermissionError`.
- The `errno` modules exposes the new error number.
- `getpath.py` now ignores `PermissionError` when it cannot open landmark
  files `pybuilddir.txt` and `pyenv.cfg`.
2022-08-16 20:20:15 +02:00
Irit Katriel 829aab8592
remove repetitive credit from what's new in 3.11 rst (GH-96024) 2022-08-16 13:47:07 +01:00
Christian Heimes ab4d72954f
gh-95957: Add instructions for Tcl/Tk and OpenSSL on RHEL/CentOS 7 (#95964)
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
2022-08-16 13:44:02 +02:00
Kumar Aditya e8259e047c
Clarify asyncio.Runner docs re: loop_factory (#95979) 2022-08-14 08:53:34 -07:00
Christian Heimes 0b329f4f03
gh-89313: Add hashlib.file_digest to whatsnew 3.11 (GH-95965)
Automerge-Triggered-By: GH:pablogsal
2022-08-13 12:00:58 -07:00
Pablo Galindo Salgado 7552f237a2
bpo-25625: Document contextlib.chdir in the 3.11 what's new (#95962) 2022-08-13 19:27:44 +01:00
Irit Katriel 1402d2ceca
gh-95914: Add paragraph about PEP 654 in main body of 'What's New in 3.11' (GH-95937) 2022-08-13 12:49:04 +01:00
Howie Zhao f235178bec
gh-94439: typing docs: Add minimum version to `__required_keys__` and `__optional_keys__` (#95373) 2022-08-12 21:23:33 -07:00
Łukasz Langa d2373fcb49
gh-90300: [docs] Add whatsnew entry for new --help output (GH-95856) (GH-95928)
Co-authored-by: Éric <merwok@netwok.org>
2022-08-12 18:22:25 +02:00
Hugo van Kemenade 50bf5fafcc
gh-82180: Document support for non-integer arg removed from grp.getgrgid in 3.10 (GH-95346) 2022-08-12 18:22:06 +02:00
CAM Gerlach 6376433ac3
gh-95914: Add missing PEPs to the Summary section of 3.11 What's New (GH-95916) 2022-08-12 17:50:01 +02:00
Erlend E. Aasland e6623e7083
gh-95273: Improve sqlite3.complete_statement docs (#95840)
Co-authored-by: Ezio Melotti <ezio.melotti@gmail.com>
Co-authored-by: CAM Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-08-12 01:05:12 +02:00
Stanislav Zmiev 5ed584cb6b
gh-90385: Add pathlib.Path.walk what's new section (GH-95467)
Automerge-Triggered-By: GH:brettcannon
2022-08-11 00:31:46 -07:00
Clemens Tolboom b9e956fccf
Docs: replace 'currying' by 'partial function'. (#91814) 2022-08-11 01:23:40 -05:00
Terry Jan Reedy 9af4aed73a
gh-75510: Edit idlelib entry in doc (#95869)
Make section instead of subsection and revise sentence.
2022-08-10 22:44:17 -04:00
Terry Jan Reedy 3646f6cd88
gh-84910: Tweak IDLE Glossary entry (#95866)
Link "IDLE" to its doc and add 'and Learning' to its expansion,
as in the doc.
2022-08-10 22:04:36 -04:00