Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.

Python 3.10.2

Release Date: Jan. 14, 2022

Python 3.10 release logo

This is the second maintenance release of Python 3.10

Python 3.10.2 is the newest major release of the Python programming language, and it contains many new features and optimizations.

This is a special bugfix release ahead of schedule to address a memory leak that was happening on certain function calls when using Cython. The memory leak consisted of a small constant amount of bytes in certain function calls from Cython code. Although in most cases this was not very noticeable, it was very impactful for long-running applications and certain usage patterns. Check bpo-46347 for more information.

Major new features of the 3.10 series, compared to 3.9

Among the new major new features and changes so far:

  • PEP 623 -- Deprecate and prepare for the removal of the wstr member in PyUnicodeObject.
  • PEP 604 -- Allow writing union types as X | Y
  • PEP 612 -- Parameter Specification Variables
  • PEP 626 -- Precise line numbers for debugging and other tools.
  • PEP 618 -- Add Optional Length-Checking To zip.
  • bpo-12782: Parenthesized context managers are now officially allowed.
  • PEP 632 -- Deprecate distutils module.
  • PEP 613 -- Explicit Type Aliases
  • PEP 634 -- Structural Pattern Matching: Specification
  • PEP 635 -- Structural Pattern Matching: Motivation and Rationale
  • PEP 636 -- Structural Pattern Matching: Tutorial
  • PEP 644 -- Require OpenSSL 1.1.1 or newer
  • PEP 624 -- Remove Py_UNICODE encoder APIs
  • PEP 597 -- Add optional EncodingWarning

bpo-38605: from __future__ import annotations (PEP 563) used to be on this list in previous pre-releases but it has been postponed to Python 3.11 due to some compatibility concerns. You can read the Steering Council communication about it here to learn more.

More resources

And now for something completely different

The Carnot cycle is a theoretical ideal thermodynamic cycle proposed by French physicist Sadi Carnot in 1824 and expanded upon by others in the 1830s and 1840s. It provides an upper limit on the efficiency that any classical thermodynamic engine can achieve during the conversion of heat into work, or conversely, the efficiency of a refrigeration system in creating a temperature difference by the application of work to the system. It is not an actual thermodynamic cycle but is a theoretical construct.

Full Changelog

Files

Version Operating System Description MD5 Sum File Size GPG
Gzipped source tarball Source release 67c92270be6701f4a6fed57c4530139b 23.9 MB SIG
XZ compressed source tarball Source release 14e8c22458ed7779a1957b26cde01db9 17.9 MB SIG
macOS 64-bit universal2 installer macOS for macOS 10.9 and later edced8c45edc72768f03f66cf4b4fa27 38.0 MB SIG
Windows installer (64-bit) Windows Recommended 2b4fd1ed6e736f0e65572da64c17e020 26.9 MB SIG
Windows installer (32-bit) Windows ef91f4e873280d37eb5bc26e7b18d3d1 25.8 MB SIG
Windows help file Windows 342cabb615e5672e38c9906a3816d727 9.1 MB SIG
Windows embeddable package (64-bit) Windows f98f8d7dfa952224fca313ed8e9923d8 8.1 MB SIG
Windows embeddable package (32-bit) Windows 44875e70945bf45f655f61bb82dba211 7.2 MB SIG