Commit graph

555 commits

Author SHA1 Message Date
Gregory P. Smith
88fe8d701a
[3.10] Correct CVE-2020-10735 documentation (GH-100306). (#100477)
(cherry picked from commit 1cf3d78c92)

Co-authored-by: Jeremy Paige <ucodery@gmail.com>
2022-12-23 18:08:27 -08:00
Miss Islington (bot)
b3d39c7599
gh-99991: improve docs on str.encode and bytes.decode (GH-100198)
(cherry picked from commit a2bb3b7f9d)

Co-authored-by: Bisola Olasehinde <horlasehinde@gmail.com>
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
2022-12-20 18:11:20 -08:00
Miss Islington (bot)
92dd53bf94
gh-100049: fix repr for mappingproxy in dictionary view example doc (GH-100052)
(cherry picked from commit 7c0fb71fbf)

Co-authored-by: ram vikram singh <ramvikrams243@gmail.com>
2022-12-10 01:24:46 -08:00
Miss Islington (bot)
f7d3b18ed5
GH-99183: Document behavior of count() for empty substrings (GH-99339)
(cherry picked from commit 2f4af2d99c)

Co-authored-by: Raymond Hettinger <rhettinger@users.noreply.github.com>
2022-11-10 13:27:42 -08:00
Miss Islington (bot)
0f93725063
gh-77753: Add example for values that compare equal in stdtypes (GH-98497)
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 0ca6a4d640)

Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
2022-10-25 20:01:11 -07:00
Łukasz Langa
3b0f2a7ff0
[3.10] gh-93738: Documentation C syntax (:c:type:<C type> -> :c:expr:<C type>) (GH-97768) (#97925)
:c:type:`<C type>` -> :c:expr:`<C type>`

Co-authored-by: Łukasz Langa <lukasz@langa.pl>
(cherry picked from commit 0031e62973)

Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
2022-10-05 14:10:55 -07:00
Miss Islington (bot)
ce11f39de5
gh-95778: Mention sys.set_int_max_str_digits() in error message (GH-96874)
When ValueError is raised if an integer is larger than the limit,
mention sys.set_int_max_str_digits() in the error message.
(cherry picked from commit e841ffc915)

Co-authored-by: Victor Stinner <vstinner@python.org>
2022-09-16 11:30:05 -07:00
Miss Islington (bot)
3a56a938f3
gh-95778: remove unneeded doc note on float.as_integer_ratio (GH-96553)
Per mdickinson@'s comment on the main branch PR.
(cherry picked from commit 69bb83c2bf)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
2022-09-04 00:12:34 -07:00
Miss Islington (bot)
76d7105124
doc typo: spell limitation (GH-96542)
(cherry picked from commit af6359dd5c)

Co-authored-by: Mehrdad Moradizadeh <mhrddmoradii@gmail.com>
2022-09-03 23:30:11 -07:00
Gregory P. Smith
8f0fa4bd10
[3.10] gh-95778: CVE-2020-10735: Prevent DoS by very large int() (#96501)
Integer to and from text conversions via CPython's bignum `int` type is not safe against denial of service attacks due to malicious input. Very large input strings with hundred thousands of digits can consume several CPU seconds.

This PR comes fresh from a pile of work done in our private PSRT security response team repo.

This backports https://github.com/python/cpython/pull/96499 aka 511ca94520

Signed-off-by: Christian Heimes [Red Hat] <christian@python.org>
Tons-of-polishing-up-by: Gregory P. Smith [Google] <greg@krypto.org>
Reviews via the private PSRT repo via many others (see the NEWS entry in the PR).

<!-- gh-issue-number: gh-95778 -->
* Issue: gh-95778
<!-- /gh-issue-number -->

I wrote up [a one pager for the release managers](https://docs.google.com/document/d/1KjuF_aXlzPUxTK4BMgezGJ2Pn7uevfX7g0_mvgHlL7Y/edit#).
2022-09-02 09:51:49 -07:00
Miss Islington (bot)
9389e2f08c
Docs: Improve clarity for bytes.hex() (GH-95257)
(cherry picked from commit 860fa35145)

Co-authored-by: Tim Burke <tim.burke@gmail.com>
2022-08-30 04:16:34 -07:00
Miss Islington (bot)
be30a6dc4d
gh-91838: Resolve HTTP links which redirect to HTTPS (GH-95642)
It updates links which redirect to HTTPS with different authority or
path.
(cherry picked from commit d0d0154443)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2022-08-04 06:15:01 -07:00
Miss Islington (bot)
8c42fefa39
[3.10] gh-92417: stdtypes docs: delete discussion of Python 2 differences (GH-92423) (GH-92473)
Given that 2.7 has now been end-of-life for two and a half years,
I don't think we need such a detailed explanation here anymore of
the differences between Python 2 and Python 3.
(cherry picked from commit 8efda1e7c6)


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

Automerge-Triggered-By: GH:serhiy-storchaka
2022-05-08 08:26:06 -07:00
Miss Islington (bot)
0897a0bf9c
Remove duplicate explanation (GH-91534)
(cherry picked from commit 0e6dca0193)

Co-authored-by: Gouvernathor <44340603+Gouvernathor@users.noreply.github.com>
2022-04-17 21:44:58 -07:00
Miss Islington (bot)
ccac6312b9
doc: Link to string.capwords from str.title (GH-20913)
Since `title()` mentions its own short-comings, it should also mention the library function which does not possess them.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit b786d9ec52)

Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
2022-04-06 18:52:51 -07:00
Miss Islington (bot)
55abb0ef25
stdtypes docs: fix typo (GH-32349) (GH-32370)
(cherry picked from commit b33c4564ac)

Co-authored-by: Ian <40774387+isteptoe@users.noreply.github.com>
2022-04-06 17:50:04 -07:00
Miss Islington (bot)
f502dadb33
bpo-47007: [doc] str special method lookup (GH-31863)
Clarify the `str()` docs to point out that `object.__str__()`
follows special method lookup.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit bb86d1d9fb)

Co-authored-by: Vanshaj Singhania <8797467+itsvs@users.noreply.github.com>
2022-04-04 19:56:29 -07:00
Miss Islington (bot)
f2fbfbe0ec
bpo-46483: [doc] pathlib classes no longer support parameterized generics (GH-31281)
Remove pathlib classes from the list in stdtypes.rst of classes
that can be parameterized at runtime.
(cherry picked from commit e0bc8ee945)

Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
2022-02-11 13:04:01 -08:00
Miss Islington (bot)
24d0b331e8
[3.10] bpo-45680: Clarify documentation on `GenericAlias` objects (GH-29335) (GH-30688)
The documentation on ``GenericAlias`` objects implies at multiple points that
only container classes can define ``__class_getitem__``. This is misleading.
This PR proposes a rewrite of the documentation to clarify that non-container
classes can define ``__class_getitem__``, and to clarify what it means when a
non-container class is parameterized.

See also: initial discussion of issues with this piece of documentation in
GH-29308, and previous BPO issue [42280]().

Also improved references in glossary and typing docs. Fixed some links.

Co-authored-by: Erlend Egeberg Aasland <erlend.aasland@innova.no>
Co-authored-by: Ken Jin <28750310+Fidget-Spinner@users.noreply.github.com>
(cherry picked from commit 0eae9a2a2d)


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

Automerge-Triggered-By: GH:Fidget-Spinner
2022-01-19 07:24:14 -08:00
Miss Islington (bot)
e9783d6434
bpo-46095: Improve SeqIter documentation. (GH-30316) (GH-30330) 2022-01-01 11:12:43 -08:00
Miss Islington (bot)
bb286d45af
bpo-46113: Minor fixes in stdtypes documentation (GH-30167) (GH-30186)
* Fix-1 - isidentifier() function output

* Fix-2 Update the str.splitlines() function parameter

* Fix-3 Removed unwanted full stop for str and bytes types double quotes examples.

* Fix-4 Updated class dict from **kwarg to **kwargs
(cherry picked from commit 6f2df42951)

Co-authored-by: Vivek Vashist <vivekvashist@gmail.com>
2021-12-18 22:12:30 +08:00
Miss Islington (bot)
64c2788f42
bpo-42182: stdtypes doc - update and fix links to several dunder methods (GH-27384)
(cherry picked from commit 8c74713d0e)

Co-authored-by: andrei kulakov <andrei.avk@gmail.com>
2021-12-10 02:02:14 -08:00
Brett Cannon
99aad31b7a
[3.10] bpo-45250: fix docs regarding __iter__ and iterators being inconsistently required by CPython (GH-29170) (GH-29650)
It is now considered a historical accident that e.g. `for` loops and the `iter()` built-in function do not require the iterators they work with to define `__iter__`, only `__next__`.
(cherry picked from commit be36e06340)

Co-authored-by: Brett Cannon <brett@python.org>
2021-11-22 15:09:15 -08:00
Miss Islington (bot)
0993837766
Spell out 's.pop() or s.pop(i)' (GH-27398) (GH-27412)
(cherry picked from commit 2ff5bb4908)

Co-authored-by: Dennis Sweeney <36520290+sweeneyde@users.noreply.github.com>
2021-07-28 15:56:17 +02:00
Miss Islington (bot)
8a37e8cf45
bpo-44732: Rename types.Union to types.UnionType (GH-27342)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
(cherry picked from commit 2b8ad9e6c5)

Co-authored-by: Hasan <hasan.aleeyev@gmail.com>
2021-07-26 12:02:58 -07:00
Miss Islington (bot)
128899d8b8
bpo-43475: Fix the Python implementation of hash of Decimal NaN (GH-26679)
(cherry picked from commit 9f1c5f6e8a)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2021-06-13 07:05:28 -07:00
Miss Islington (bot)
05f8ad0c74
bpo-20408: Fix memoryview() signature in docs (GH-24431)
(cherry picked from commit d18e5dae91)

Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2021-05-25 17:30:00 +03:00
Ryan Hileman
9a2c2a9ec3
bpo-42800: add audit hooks for f_code and tb_frame (GH-24182)
Accessing the following attributes will now fire PEP 578 style audit hooks as ("object.__getattr__", obj, name):
* PyTracebackObject: tb_frame
* PyFrameObject: f_code
* PyGenObject: gi_code, gi_frame
* PyCoroObject: cr_code, cr_frame
* PyAsyncGenObject: ag_code, ag_frame
Add an AUDIT_READ attribute flag aliased to READ_RESTRICTED.
Update obsolete flag documentation.
2021-04-30 00:15:55 +01:00
Raymond Hettinger
a07da09ad5
bpo-43475: Fix worst case collision behavior for NaN instances (GH-25493) 2021-04-22 08:34:57 -07:00
Victor Stinner
a41782cc84
bpo-43774: Document configure options (GH-25283)
Add Doc/using/configure.rst documentation to document configure,
preprocessor, compiler and linker options.

Add a new section about the "Python debug build".
2021-04-08 22:32:21 +02:00
Ken Jin
5f77dee056
Improve docs of PEP 604 Union (#24301) 2021-02-08 17:57:11 -08:00
Ken Jin
11276cd9c4
bpo-41559: Documentation for PEP 612 (GH-24000) 2021-01-01 16:45:50 -08:00
Raymond Hettinger
51f4688254
bpo-34805: Guarantee that __subclasses__() is in definition order. (GH-23844) 2020-12-18 16:53:50 -08:00
Andre Delfino
dcc997cd28
[doc] Fix erroneous backslashes in signatures and names (GH-23658)
The issue being resolved is shown in the 3.10 docs (if you select docs for older versions you won't see a visual glitch).

The newer sphinx version that produces the 3.10 docs doesn't treat the backslash to escape things in some situations it previously did.
2020-12-16 17:37:28 -08:00
kj
8d17d2bd0a
Doc: Minor fixes (GH-23422) 2020-11-25 13:59:59 +09:00
kj
3bf0d02f28
bpo-42198: New section in stdtypes for type annotation types (GH-23063) 2020-10-31 13:25:44 -07:00
kj
d21cb2d5ee
bpo-42198: Improve consistency of Union docs (GH-23029)
No backport is required since union is only in 3.10.

This addresses "3. Consistency nitpicks for Union's docs" in the bpo.

Please skip news. Thank you.
2020-10-31 08:08:17 -07:00
kj
bcbf758476
bpo-42198: Document __new__ for types.GenericAlias (GH-23039) 2020-10-30 23:02:38 -07:00
kj
4173320920
bpo-41805: Documentation for PEP 585 (GH-22615) 2020-10-27 14:37:18 -07:00
Florian Dahlitz
2d55aa9e37
bpo-29981: Add examples and update index for set, dict, and generator comprehensions'(GH-20272)
Co-authored-by: Rémi Lapeyre <remi.lapeyre@henki.fr>
2020-10-20 17:27:07 -04:00
Andre Delfino
3393624b6d
Minor tweaks to typing union objects doc (GH-22741)
Automerge-Triggered-By: @merwok
2020-10-20 13:00:56 -07:00
Raymond Hettinger
4e0ce82058
Revert "bpo-26680: Incorporate is_integer in all built-in and standard library numeric types (GH-6121)" (GH-22584)
This reverts commit 58a7da9e12.
2020-10-07 16:43:44 -07:00
Fidget-Spinner
8e1dd55e63
bpo-41428: Documentation for PEP 604 (gh-22517) 2020-10-04 21:40:52 -07:00
Robert Smallshire
58a7da9e12
bpo-26680: Incorporate is_integer in all built-in and standard library numeric types (GH-6121)
* bpo-26680: Adds support for int.is_integer() for compatibility with float.is_integer().

The int.is_integer() method always returns True.

* bpo-26680: Adds a test to ensure that False.is_integer() and True.is_integer() are always True.

* bpo-26680: Adds Real.is_integer() with a trivial implementation using conversion to int.

This default implementation is intended to reduce the workload for subclass
implementers. It is not robust in the presence of infinities or NaNs and
may have suboptimal performance for other types.

* bpo-26680: Adds Rational.is_integer which returns True if the denominator is one.

This implementation assumes the Rational is represented in it's
lowest form, as required by the class docstring.

* bpo-26680: Adds Integral.is_integer which always returns True.

* bpo-26680: Adds tests for Fraction.is_integer called as an instance method.

The tests for the Rational abstract base class use an unbound
method to sidestep the inability to directly instantiate Rational.
These tests check that everything works correct as an instance method.

* bpo-26680: Updates documentation for Real.is_integer and built-ins int and float.

The call x.is_integer() is now listed in the table of operations
which apply to all numeric types except complex, with a reference
to the full documentation for Real.is_integer().  Mention of
is_integer() has been removed from the section 'Additional Methods
on Float'.

The documentation for Real.is_integer() describes its purpose, and
mentions that it should be overridden for performance reasons, or
to handle special values like NaN.

* bpo-26680: Adds Decimal.is_integer to the Python and C implementations.

The C implementation of Decimal already implements and uses
mpd_isinteger internally, we just expose the existing function to
Python.

The Python implementation uses internal conversion to integer
using to_integral_value().

In both cases, the corresponding context methods are also
implemented.

Tests and documentation are included.

* bpo-26680: Updates the ACKS file.

* bpo-26680: NEWS entries for int, the numeric ABCs and Decimal.

Co-authored-by: Robert Smallshire <rob@sixty-north.com>
2020-10-01 17:30:08 +01:00
Andre Delfino
e8a2076e14
Revert "Fix all Python Cookbook links (#22205)" (GH-22424)
This commit reverts commit ac0333e1e1 as the original links are working again and they provide extended features such as comments and alternative versions.
2020-09-27 01:47:25 +01:00
Andre Delfino
ac0333e1e1
Fix all Python Cookbook links (#22205) 2020-09-15 21:13:26 +01:00
Benjamin Peterson
3304cbd990
Doc: Fix alphabetical ordering of removeprefix/suffix. (GH-22194) 2020-09-11 08:59:02 +09:00
Christopher Yeh
0dfee33dfe
Fix typo (GH-21820) 2020-08-11 19:27:08 -03:00
Dennis Sweeney
3ee0e48b03
bpo-40890: Add mapping property to dict views (GH-20749) 2020-06-12 10:19:25 -07:00
Niklas Fiekas
8bd216dfed
bpo-29882: Add an efficient popcount method for integers (#771)
* bpo-29882: Add an efficient popcount method for integers

* Update 'sign bit' and versionadded in docs

* Add entry to whatsnew document

* Doc: use positive example, mention population count

* Minor cleanups of the core code

* Move popcount_digit closer to where it's used

* Use z instead of self after conversion

* Add 'absolute value' and 'population count' to docstring

* Fix clinic error about missing summary line

* Ensure popcount_digit is portable with 64-bit ints

Co-authored-by: Mark Dickinson <dickinsm@gmail.com>
2020-05-29 17:28:02 +01:00