summaryrefslogtreecommitdiffstats
path: root/Doc/library
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/library')
-rw-r--r--Doc/library/hashlib-blake2.rst22
-rw-r--r--Doc/library/io.rst21
-rw-r--r--Doc/library/logging.rst10
-rw-r--r--Doc/library/re.rst6
-rw-r--r--Doc/library/socket.rst12
-rw-r--r--Doc/library/stdtypes.rst12
-rw-r--r--Doc/library/subprocess.rst6
-rw-r--r--Doc/library/sys.rst9
-rw-r--r--Doc/library/timeit.rst35
-rw-r--r--Doc/library/zipfile.rst4
10 files changed, 84 insertions, 53 deletions
diff --git a/Doc/library/hashlib-blake2.rst b/Doc/library/hashlib-blake2.rst
index 436aa4f..1d28e06 100644
--- a/Doc/library/hashlib-blake2.rst
+++ b/Doc/library/hashlib-blake2.rst
@@ -3,8 +3,7 @@
:mod:`hashlib` --- BLAKE2 hash functions
========================================
-.. module:: hashlib
- :synopsis: BLAKE2 hash function for Python
+.. currentmodule:: hashlib
.. sectionauthor:: Dmitry Chestnykh
.. index::
@@ -26,9 +25,6 @@ Hash objects from this module follow the API of standard library's
:mod:`hashlib` objects.
-Module
-======
-
Creating hash objects
---------------------
@@ -138,10 +134,10 @@ Maximum digest size that the hash function can output.
Examples
-========
+--------
Simple hashing
---------------
+^^^^^^^^^^^^^^
To calculate hash of some data, you should first construct a hash object by
calling the appropriate constructor function (:func:`blake2b` or
@@ -176,7 +172,7 @@ update the hash:
Using different digest sizes
-----------------------------
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^
BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to 32
bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without changing
@@ -208,7 +204,7 @@ produce different outputs even if the output length is the same:
Keyed hashing
--------------
+^^^^^^^^^^^^^
Keyed hashing can be used for authentication as a faster and simpler
replacement for `Hash-based message authentication code
@@ -261,7 +257,7 @@ in HMAC construction with :mod:`hmac` module::
Randomized hashing
-------------------
+^^^^^^^^^^^^^^^^^^
By setting *salt* parameter users can introduce randomization to the hash
function. Randomized hashing is useful for protecting against collision attacks
@@ -317,7 +313,7 @@ initialization, rather than as an input to each compression function.
Personalization
----------------
+^^^^^^^^^^^^^^^
Sometimes it is useful to force hash function to produce different digests for
the same input for different purposes. Quoting the authors of the Skein hash
@@ -362,7 +358,7 @@ keys from a single one.
G9GtHFE1YluXY1zWPlYk1e/nWfu0WSEb0KRcjhDeP/o=
Tree mode
----------
+^^^^^^^^^
Here's an example of hashing a minimal tree with two leaf nodes::
@@ -400,7 +396,7 @@ digest::
'3ad2a9b37c6070e374c7a8c508fe20ca86b6ed54e286e93a0318e95e881db5aa'
Credits
-=======
+-------
BLAKE2_ was designed by *Jean-Philippe Aumasson*, *Samuel Neves*, *Zooko
Wilcox-O'Hearn*, and *Christian Winnerlein* based on SHA-3_ finalist BLAKE_
diff --git a/Doc/library/io.rst b/Doc/library/io.rst
index 4da6e09..c8ff5b8 100644
--- a/Doc/library/io.rst
+++ b/Doc/library/io.rst
@@ -477,7 +477,7 @@ I/O Base Classes
A :exc:`BlockingIOError` is raised if the underlying raw stream is in
non blocking-mode, and has no data available at the moment.
- .. method:: read1(size=-1)
+ .. method:: read1([size])
Read and return up to *size* bytes, with at most one call to the
underlying raw stream's :meth:`~RawIOBase.read` (or
@@ -485,6 +485,9 @@ I/O Base Classes
implementing your own buffering on top of a :class:`BufferedIOBase`
object.
+ If *size* is ``-1`` (the default), an arbitrary number of bytes are
+ returned (more than zero unless EOF is reached).
+
.. method:: readinto(b)
Read bytes into a pre-allocated, writable
@@ -628,13 +631,16 @@ than raw I/O does.
Return :class:`bytes` containing the entire contents of the buffer.
- .. method:: read1()
+ .. method:: read1([size])
+
+ In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.read`.
- In :class:`BytesIO`, this is the same as :meth:`read`.
+ .. versionchanged:: 3.7
+ The *size* argument is now optional.
- .. method:: readinto1()
+ .. method:: readinto1(b)
- In :class:`BytesIO`, this is the same as :meth:`readinto`.
+ In :class:`BytesIO`, this is the same as :meth:`~BufferedIOBase.readinto`.
.. versionadded:: 3.5
@@ -664,12 +670,15 @@ than raw I/O does.
Read and return *size* bytes, or if *size* is not given or negative, until
EOF or if the read call would block in non-blocking mode.
- .. method:: read1(size)
+ .. method:: read1([size])
Read and return up to *size* bytes with only one call on the raw stream.
If at least one byte is buffered, only buffered bytes are returned.
Otherwise, one raw stream read call is made.
+ .. versionchanged:: 3.7
+ The *size* argument is now optional.
+
.. class:: BufferedWriter(raw, buffer_size=DEFAULT_BUFFER_SIZE)
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 6098878..d03cc50 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1023,7 +1023,7 @@ functions.
handlers being added multiple times to the root logger, which can in turn
lead to multiple messages for the same event.
-.. function:: disable(lvl)
+.. function:: disable(lvl=CRITICAL)
Provides an overriding level *lvl* for all loggers which takes precedence over
the logger's own level. When the need arises to temporarily throttle logging
@@ -1036,6 +1036,14 @@ functions.
overriding level, so that logging output again depends on the effective
levels of individual loggers.
+ Note that if you have defined any custom logging level higher than
+ ``CRITICAL`` (this is not recommended), you won't be able to rely on the
+ default value for the *lvl* parameter, but will have to explicitly supply a
+ suitable value.
+
+ .. versionchanged:: 3.7
+ The *lvl* parameter was defaulted to level ``CRITICAL``. See Issue
+ #28524 for more information about this change.
.. function:: addLevelName(lvl, levelName)
diff --git a/Doc/library/re.rst b/Doc/library/re.rst
index 7ef4cbe..adf3ddd 100644
--- a/Doc/library/re.rst
+++ b/Doc/library/re.rst
@@ -761,9 +761,9 @@ form.
Unknown escapes in *pattern* consisting of ``'\'`` and an ASCII letter
now are errors.
- .. deprecated-removed:: 3.5 3.7
- Unknown escapes in *repl* consisting of ``'\'`` and an ASCII letter now raise
- a deprecation warning and will be forbidden in Python 3.7.
+ .. versionchanged:: 3.7
+ Unknown escapes in *repl* consisting of ``'\'`` and an ASCII letter
+ now are errors.
.. function:: subn(pattern, repl, string, count=0, flags=0)
diff --git a/Doc/library/socket.rst b/Doc/library/socket.rst
index 9c10867..252b6db 100644
--- a/Doc/library/socket.rst
+++ b/Doc/library/socket.rst
@@ -664,6 +664,12 @@ The :mod:`socket` module also offers various network-related services:
where the host byte order is the same as network byte order, this is a no-op;
otherwise, it performs a 2-byte swap operation.
+ .. deprecated:: 3.7
+ In case *x* does not fit in 16-bit unsigned integer, but does fit in a
+ positive C int, it is silently truncated to 16-bit unsigned integer.
+ This silent truncation feature is deprecated, and will raise an
+ exception in future versions of Python.
+
.. function:: htonl(x)
@@ -678,6 +684,12 @@ The :mod:`socket` module also offers various network-related services:
where the host byte order is the same as network byte order, this is a no-op;
otherwise, it performs a 2-byte swap operation.
+ .. deprecated:: 3.7
+ In case *x* does not fit in 16-bit unsigned integer, but does fit in a
+ positive C int, it is silently truncated to 16-bit unsigned integer.
+ This silent truncation feature is deprecated, and will raise an
+ exception in future versions of Python.
+
.. function:: inet_aton(ip_string)
diff --git a/Doc/library/stdtypes.rst b/Doc/library/stdtypes.rst
index 9a4f42c..d13fc3d 100644
--- a/Doc/library/stdtypes.rst
+++ b/Doc/library/stdtypes.rst
@@ -2316,11 +2316,15 @@ the bytes type has an additional class method to read data in that format:
This :class:`bytes` class method returns a bytes object, decoding the
given string object. The string must contain two hexadecimal digits per
- byte, with ASCII spaces being ignored.
+ byte, with ASCII whitespace being ignored.
>>> bytes.fromhex('2Ef0 F1f2 ')
b'.\xf0\xf1\xf2'
+ .. versionchanged:: 3.7
+ :meth:`bytes.fromhex` now skips all ASCII whitespace in the string,
+ not just spaces.
+
A reverse conversion function exists to transform a bytes object into its
hexadecimal representation.
@@ -2384,11 +2388,15 @@ the bytearray type has an additional class method to read data in that format:
This :class:`bytearray` class method returns bytearray object, decoding
the given string object. The string must contain two hexadecimal digits
- per byte, with ASCII spaces being ignored.
+ per byte, with ASCII whitespace being ignored.
>>> bytearray.fromhex('2Ef0 F1f2 ')
bytearray(b'.\xf0\xf1\xf2')
+ .. versionchanged:: 3.7
+ :meth:`bytearray.fromhex` now skips all ASCII whitespace in the string,
+ not just spaces.
+
A reverse conversion function exists to transform a bytearray object into its
hexadecimal representation.
diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst
index ad2abe8..ea065b8 100644
--- a/Doc/library/subprocess.rst
+++ b/Doc/library/subprocess.rst
@@ -608,12 +608,6 @@ Instances of the :class:`Popen` class have the following methods:
.. versionchanged:: 3.3
*timeout* was added.
- .. deprecated:: 3.4
-
- Do not use the *endtime* parameter. It is was unintentionally
- exposed in 3.3 but was left undocumented as it was intended to be
- private for internal use. Use *timeout* instead.
-
.. method:: Popen.communicate(input=None, timeout=None)
Interact with process: Send data to stdin. Read data from stdout and stderr,
diff --git a/Doc/library/sys.rst b/Doc/library/sys.rst
index dd51ffd..54b99e0 100644
--- a/Doc/library/sys.rst
+++ b/Doc/library/sys.rst
@@ -404,6 +404,15 @@ always available.
.. versionadded:: 3.4
+.. function:: getandroidapilevel()
+
+ Return the build time API version of Android as an integer.
+
+ Availability: Android.
+
+ .. versionadded:: 3.7
+
+
.. function:: getcheckinterval()
Return the interpreter's "check interval"; see :func:`setcheckinterval`.
diff --git a/Doc/library/timeit.rst b/Doc/library/timeit.rst
index 3b77276..4065808 100644
--- a/Doc/library/timeit.rst
+++ b/Doc/library/timeit.rst
@@ -28,11 +28,11 @@ can be used to compare three different expressions:
.. code-block:: sh
$ python3 -m timeit '"-".join(str(n) for n in range(100))'
- 10000 loops, best of 3: 30.2 usec per loop
+ 10000 loops, best of 5: 30.2 usec per loop
$ python3 -m timeit '"-".join([str(n) for n in range(100)])'
- 10000 loops, best of 3: 27.5 usec per loop
+ 10000 loops, best of 5: 27.5 usec per loop
$ python3 -m timeit '"-".join(map(str, range(100)))'
- 10000 loops, best of 3: 23.2 usec per loop
+ 10000 loops, best of 5: 23.2 usec per loop
This can be achieved from the :ref:`python-interface` with::
@@ -141,9 +141,8 @@ The module defines three convenience functions and a public class:
This is a convenience function that calls :meth:`.timeit` repeatedly
so that the total time >= 0.2 second, returning the eventual
(number of loops, time taken for that number of loops). It calls
- :meth:`.timeit` with *number* set to successive powers of ten (10,
- 100, 1000, ...) up to a maximum of one billion, until the time taken
- is at least 0.2 second, or the maximum is reached.
+ :meth:`.timeit` with increasing numbers from the sequence 1, 2, 5,
+ 10, 20, 50, ... until the time taken is at least 0.2 second.
If *callback* is given and is not ``None``, it will be called after
each trial with two arguments: ``callback(number, time_taken)``.
@@ -197,7 +196,7 @@ Command-Line Interface
When called as a program from the command line, the following form is used::
- python -m timeit [-n N] [-r N] [-u U] [-s S] [-t] [-c] [-h] [statement ...]
+ python -m timeit [-n N] [-r N] [-u U] [-s S] [-h] [statement ...]
Where the following options are understood:
@@ -222,20 +221,12 @@ Where the following options are understood:
.. versionadded:: 3.3
-.. cmdoption:: -t, --time
-
- use :func:`time.time` (deprecated)
-
.. cmdoption:: -u, --unit=U
- specify a time unit for timer output; can select usec, msec, or sec
+ specify a time unit for timer output; can select nsec, usec, msec, or sec
.. versionadded:: 3.5
-.. cmdoption:: -c, --clock
-
- use :func:`time.clock` (deprecated)
-
.. cmdoption:: -v, --verbose
print raw timing results; repeat for more digits precision
@@ -276,9 +267,9 @@ It is possible to provide a setup statement that is executed only once at the be
.. code-block:: sh
$ python -m timeit -s 'text = "sample string"; char = "g"' 'char in text'
- 10000000 loops, best of 3: 0.0877 usec per loop
+ 5000000 loops, best of 5: 0.0877 usec per loop
$ python -m timeit -s 'text = "sample string"; char = "g"' 'text.find(char)'
- 1000000 loops, best of 3: 0.342 usec per loop
+ 1000000 loops, best of 5: 0.342 usec per loop
::
@@ -305,14 +296,14 @@ to test for missing and present object attributes:
.. code-block:: sh
$ python -m timeit 'try:' ' str.__bool__' 'except AttributeError:' ' pass'
- 100000 loops, best of 3: 15.7 usec per loop
+ 20000 loops, best of 5: 15.7 usec per loop
$ python -m timeit 'if hasattr(str, "__bool__"): pass'
- 100000 loops, best of 3: 4.26 usec per loop
+ 50000 loops, best of 5: 4.26 usec per loop
$ python -m timeit 'try:' ' int.__bool__' 'except AttributeError:' ' pass'
- 1000000 loops, best of 3: 1.43 usec per loop
+ 200000 loops, best of 5: 1.43 usec per loop
$ python -m timeit 'if hasattr(int, "__bool__"): pass'
- 100000 loops, best of 3: 2.23 usec per loop
+ 100000 loops, best of 5: 2.23 usec per loop
::
diff --git a/Doc/library/zipfile.rst b/Doc/library/zipfile.rst
index 9056489..97d31d9 100644
--- a/Doc/library/zipfile.rst
+++ b/Doc/library/zipfile.rst
@@ -672,18 +672,22 @@ Command-line options
~~~~~~~~~~~~~~~~~~~~
.. cmdoption:: -l <zipfile>
+ --list <zipfile>
List files in a zipfile.
.. cmdoption:: -c <zipfile> <source1> ... <sourceN>
+ --create <zipfile> <source1> ... <sourceN>
Create zipfile from source files.
.. cmdoption:: -e <zipfile> <output_dir>
+ --extract <zipfile> <output_dir>
Extract zipfile into target directory.
.. cmdoption:: -t <zipfile>
+ --test <zipfile>
Test whether the zipfile is valid or not.