-------------------------
.. _contextvarsobjects_pointertype_change:
+.. versionadded:: 3.7
+
.. versionchanged:: 3.7.1
.. note::
See :issue:`34762` for more details.
-.. versionadded:: 3.7
-
This section details the public C API for the :mod:`contextvars` module.
.. c:type:: PyContext
The module name, as an ASCII encoded string.
- .. c: member:: PyObject* (*initfunc)(void)
+ .. c:member:: PyObject* (*initfunc)(void)
Initialization function for a module built into the interpreter.
function is generally **not** suitable for calling Python code from
arbitrary C threads. Instead, use the :ref:`PyGILState API<gilstate>`.
+ .. versionadded:: 3.1
+
.. versionchanged:: 3.9
If this function is called in a subinterpreter, the function *func* is
now scheduled to be called from the subinterpreter, rather than being
called from the main interpreter. Each subinterpreter now has its own
list of scheduled calls.
- .. versionadded:: 3.1
-
.. _profiling:
Profiling and Tracing
Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count.
- .. versionchanged:: 3.11
- The parameter type is no longer :c:expr:`const PyObject*`.
-
.. versionchanged:: 3.10
:c:func:`Py_REFCNT()` is changed to the inline static function.
+ .. versionchanged:: 3.11
+ The parameter type is no longer :c:expr:`const PyObject*`.
+
.. c:function:: void Py_SET_REFCNT(PyObject *o, Py_ssize_t refcnt)
The *family*, *proto*, *flags*, *reuse_address*, *reuse_port*,
*allow_broadcast*, and *sock* parameters were added.
+ .. versionchanged:: 3.8
+ Added support for Windows.
+
.. versionchanged:: 3.8.1
The *reuse_address* parameter is no longer supported, as using
:ref:`socket.SO_REUSEADDR <socket-unix-constants>`
prevents processes with differing UIDs from assigning sockets to the same
socket address.
- .. versionchanged:: 3.8
- Added support for Windows.
-
.. versionchanged:: 3.11
The *reuse_address* parameter, disabled since Python 3.8.1,
3.7.6 and 3.6.10, has been entirely removed.
Support was added for *filename* being a :term:`file object` instead of an
actual filename.
- .. versionchanged:: 3.3
The ``'a'`` (append) mode was added, along with support for reading
multi-stream files.
All of those tests treat missing elements as having zero counts so that
``Counter(a=1) == Counter(a=1, b=0)`` returns true.
-.. versionadded:: 3.10
+.. versionchanged:: 3.10
Rich comparison operations were added.
.. versionchanged:: 3.10
This function is implemented using a watchdog thread.
- .. versionchanged:: 3.7
- This function is now always available.
-
.. versionchanged:: 3.5
Added support for passing file descriptor to this function.
+ .. versionchanged:: 3.7
+ This function is now always available.
+
.. function:: cancel_dump_traceback_later()
Cancel the last call to :func:`dump_traceback_later`.
on the wrapper function). :exc:`AttributeError` is still raised if the
wrapper function itself is missing any attributes named in *updated*.
- .. versionadded:: 3.2
- Automatic addition of the ``__wrapped__`` attribute.
-
- .. versionadded:: 3.2
- Copying of the ``__annotations__`` attribute by default.
-
.. versionchanged:: 3.2
+ The ``__wrapped__`` attribute is now automatically added.
+ The ``__annotations__`` attribute is now copied by default.
Missing attributes no longer trigger an :exc:`AttributeError`.
.. versionchanged:: 3.4
SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`,
:func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`
were added.
-
-.. versionadded:: 3.6
:func:`blake2b` and :func:`blake2s` were added.
.. _hashlib-usedforsecurity:
The ``Description`` is now included in the metadata when presented
through the payload. Line continuation characters have been removed.
-.. versionadded:: 3.10
The ``json`` attribute was added.
.. versionchanged:: 3.8
Accepts a :term:`path-like object` and a bytes object on Windows.
- .. versionchanged:: 3.8
Added support for directory junctions, and changed to return the
substitution path (which typically includes ``\\?\`` prefix) rather
than the optional "print name" field that was previously returned.
Time of most recent access expressed in nanoseconds as an integer.
- .. versionadded: 3.3
+ .. versionadded:: 3.3
.. attribute:: st_mtime_ns
Time of most recent content modification expressed in nanoseconds as an
integer.
- .. versionadded: 3.3
+ .. versionadded:: 3.3
.. attribute:: st_ctime_ns
Time of most recent metadata change expressed in nanoseconds as an
integer.
- .. versionadded: 3.3
+ .. versionadded:: 3.3
.. versionchanged:: 3.12
``st_ctime_ns`` is deprecated on Windows. Use ``st_birthtime_ns``
Windows now returns the file index as :attr:`st_ino` when
available.
- .. versionadded:: 3.7
+ .. versionchanged:: 3.7
Added the :attr:`st_fstype` member to Solaris/derivatives.
- .. versionadded:: 3.8
+ .. versionchanged:: 3.8
Added the :attr:`st_reparse_tag` member on Windows.
.. versionchanged:: 3.8
platforms, but for now still contains creation time.
Use :attr:`st_birthtime` for the creation time.
- .. versionchanged:: 3.12
On Windows, :attr:`st_ino` may now be up to 128 bits, depending
on the file system. Previously it would not be above 64 bits, and
larger file identifiers would be arbitrarily packed.
- .. versionchanged:: 3.12
On Windows, :attr:`st_rdev` no longer returns a value. Previously
it would contain the same as :attr:`st_dev`, which was incorrect.
- .. versionadded:: 3.12
Added the :attr:`st_birthtime` member on Windows.
On macOS the use of this function is unsafe when mixed with using
higher-level system APIs, and that includes using :mod:`urllib.request`.
+ .. versionchanged:: 3.8
+ Calling ``forkpty()`` in a subinterpreter is no longer supported
+ (:exc:`RuntimeError` is raised).
+
.. versionchanged:: 3.12
If Python is able to detect that your process has multiple
threads, this now raises a :exc:`DeprecationWarning`. See the
longer explanation on :func:`os.fork`.
- .. versionchanged:: 3.8
- Calling ``forkpty()`` in a subinterpreter is no longer supported
- (:exc:`RuntimeError` is raised).
-
.. availability:: Unix, not Emscripten, not WASI.
.. versionchanged:: 3.13
*env* parameter accepts ``None``.
-
- .. versionchanged:: 3.13
``os.POSIX_SPAWN_CLOSEFROM`` is available on platforms where
:c:func:`!posix_spawn_file_actions_addclosefrom_np` exists.
easy-to-use interface to the random number generator provided by your
platform, please see :class:`random.SystemRandom`.
- .. versionchanged:: 3.6.0
- On Linux, ``getrandom()`` is now used in blocking mode to increase the
- security.
-
- .. versionchanged:: 3.5.2
- On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool
- is not initialized yet), fall back on reading ``/dev/urandom``.
-
.. versionchanged:: 3.5
On Linux 3.17 and newer, the ``getrandom()`` syscall is now used
when available. On OpenBSD 5.6 and newer, the C ``getentropy()``
function is now used. These functions avoid the usage of an internal file
descriptor.
+ .. versionchanged:: 3.5.2
+ On Linux, if the ``getrandom()`` syscall blocks (the urandom entropy pool
+ is not initialized yet), fall back on reading ``/dev/urandom``.
+
+ .. versionchanged:: 3.6
+ On Linux, ``getrandom()`` is now used in blocking mode to increase the
+ security.
+
.. versionchanged:: 3.11
On Windows, ``BCryptGenRandom()`` is used instead of ``CryptGenRandom()``
which is deprecated.
files exist, the one in the home directory is read first and aliases defined there
can be overridden by the local file.
-.. versionchanged:: 3.11
- :file:`.pdbrc` is now read with ``'utf-8'`` encoding. Previously, it was read
- with the system locale encoding.
-
.. versionchanged:: 3.2
:file:`.pdbrc` can now contain commands that continue debugging, such as
:pdbcmd:`continue` or :pdbcmd:`next`. Previously, these commands had no
effect.
+.. versionchanged:: 3.11
+ :file:`.pdbrc` is now read with ``'utf-8'`` encoding. Previously, it was read
+ with the system locale encoding.
+
.. pdbcommand:: h(elp) [command]
All user settable flags.
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: UF_NODUMP
Used for handling document IDs (macOS)
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: UF_DATAVAULT
The file needs an entitlement for reading or writing (macOS 10.13+)
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: UF_HIDDEN
All super-user changeable flags
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: SF_SUPPORTED
.. availability:: macOS
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: SF_SYNTHETIC
.. availability:: macOS
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: SF_ARCHIVED
The file needs an entitlement to write to (macOS 10.13+)
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: SF_NOUNLINK
The file is a firmlink (macOS 10.15+)
- .. versionadded: 3.13
+ .. versionadded:: 3.13
.. data:: SF_DATALESS
The file is a dataless object (macOS 10.15+)
- .. versionadded: 3.13
+ .. versionadded:: 3.13
See the \*BSD or macOS systems man page :manpage:`chflags(2)` for more information.
sequence of values they define (instead of comparing based on
object identity).
-.. versionadded:: 3.3
- The :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step`
+ Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step`
attributes.
.. seealso::
base class constructor (``Thread.__init__()``) before doing anything else to
the thread.
+ .. versionchanged:: 3.3
+ Added the *daemon* parameter.
+
.. versionchanged:: 3.10
Use the *target* name if *name* argument is omitted.
- .. versionchanged:: 3.3
- Added the *daemon* argument.
-
.. method:: start()
Start the thread's activity.
.. audit-event:: time.sleep secs
- .. versionchanged:: 3.11
- On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now
- used if available. On Windows, a waitable timer is now used.
-
.. versionchanged:: 3.5
The function now sleeps at least *secs* even if the sleep is interrupted
by a signal, except if the signal handler raises an exception (see
:pep:`475` for the rationale).
+ .. versionchanged:: 3.11
+ On Unix, the ``clock_nanosleep()`` and ``nanosleep()`` functions are now
+ used if available. On Windows, a waitable timer is now used.
.. versionchanged:: 3.13
Raises an auditing event.
>>> turtle.pos()
(20.00,30.00)
- .. versionadded: 3.12
+ .. versionadded:: 3.12
.. function:: setx(x)
.. versionchanged:: 3.2
*cafile* and *capath* were added.
- .. versionchanged:: 3.2
HTTPS virtual hosts are now supported if possible (that is, if
:const:`ssl.HAS_SNI` is true).
- .. versionadded:: 3.2
*data* can be an iterable object.
.. versionchanged:: 3.3
The ``'rb'`` prefix of raw bytes literals has been added as a synonym
of ``'br'``.
-.. versionadded:: 3.3
Support for the unicode legacy literal (``u'value'``) was reintroduced
to simplify the maintenance of dual Python 2.x and 3.x codebases.
See :pep:`414` for more information.
.. versionchanged:: 3.3
:const:`None` is now permitted as ``Y`` in ``raise X from Y``.
-.. versionadded:: 3.3
- The :attr:`~BaseException.__suppress_context__` attribute to suppress
+ Added the :attr:`~BaseException.__suppress_context__` attribute to suppress
automatic display of the exception context.
.. versionchanged:: 3.11
:envvar:`PYTHONHASHSEED` allows you to set a fixed value for the hash
seed secret.
+ .. versionadded:: 3.2.3
+
.. versionchanged:: 3.7
The option is no longer ignored.
- .. versionadded:: 3.2.3
-
.. option:: -s
It also allows passing arbitrary values and retrieving them through the
:data:`sys._xoptions` dictionary.
- .. versionchanged:: 3.2
- The :option:`-X` option was added.
+ .. versionadded:: 3.2
- .. versionadded:: 3.3
- The ``-X faulthandler`` option.
+ .. versionchanged:: 3.3
+ Added the ``-X faulthandler`` option.
- .. versionadded:: 3.4
- The ``-X showrefcount`` and ``-X tracemalloc`` options.
+ .. versionchanged:: 3.4
+ Added the ``-X showrefcount`` and ``-X tracemalloc`` options.
- .. versionadded:: 3.6
- The ``-X showalloccount`` option.
+ .. versionchanged:: 3.6
+ Added the ``-X showalloccount`` option.
- .. versionadded:: 3.7
- The ``-X importtime``, ``-X dev`` and ``-X utf8`` options.
+ .. versionchanged:: 3.7
+ Added the ``-X importtime``, ``-X dev`` and ``-X utf8`` options.
- .. versionadded:: 3.8
- The ``-X pycache_prefix`` option. The ``-X dev`` option now logs
+ .. versionchanged:: 3.8
+ Added the ``-X pycache_prefix`` option. The ``-X dev`` option now logs
``close()`` exceptions in :class:`io.IOBase` destructor.
.. versionchanged:: 3.9
The ``-X showalloccount`` option has been removed.
- .. versionadded:: 3.10
- The ``-X warn_default_encoding`` option.
+ .. versionchanged:: 3.10
+ Added the ``-X warn_default_encoding`` option.
Removed the ``-X oldparser`` option.
- .. versionadded:: 3.11
- The ``-X no_debug_ranges`` option.
-
- .. versionadded:: 3.11
- The ``-X frozen_modules`` option.
-
- .. versionadded:: 3.11
- The ``-X int_max_str_digits`` option.
-
- .. versionadded:: 3.12
- The ``-X perf`` option.
+ .. versionchanged:: 3.11
+ Added the ``-X no_debug_ranges``, ``-X frozen_modules`` and
+ ``-X int_max_str_digits`` options.
- .. versionadded:: 3.13
- The ``-X cpu_count`` option.
+ .. versionchanged:: 3.12
+ Added the ``-X perf`` option.
- .. versionadded:: 3.13
- The ``-X presite`` option.
+ .. versionchanged:: 3.13
+ Added the ``-X cpu_count`` and ``-X presite`` options.
.. _using-on-controlling-color:
* ``pymalloc_debug``: same as ``pymalloc`` but also install debug hooks.
* ``mimalloc_debug``: same as ``mimalloc`` but also install debug hooks.
+ .. versionadded:: 3.6
+
.. versionchanged:: 3.7
Added the ``"default"`` allocator.
- .. versionadded:: 3.6
-
.. envvar:: PYTHONMALLOCSTATS