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

Note: Python 3.10.2 has been superseded by Python 3.10.19.

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 File size GPG MD5 checksum
Gzipped source tarball Source release 23.9 MB SIG 67c92270be6701f4a6fed57c4530139b
XZ compressed source tarball Source release 17.9 MB SIG 14e8c22458ed7779a1957b26cde01db9
macOS 64-bit universal2 installer macOS for macOS 10.9 and later 38.0 MB SIG edced8c45edc72768f03f66cf4b4fa27
Windows installer (64-bit) Windows Recommended 26.9 MB SIG 2b4fd1ed6e736f0e65572da64c17e020
Windows installer (32-bit) Windows 25.8 MB SIG ef91f4e873280d37eb5bc26e7b18d3d1
Windows help file Windows 9.1 MB SIG 342cabb615e5672e38c9906a3816d727
Windows embeddable package (64-bit) Windows 8.1 MB SIG f98f8d7dfa952224fca313ed8e9923d8
Windows embeddable package (32-bit) Windows 7.2 MB SIG 44875e70945bf45f655f61bb82dba211