Popular: Data updated October 26, 2026

Categories

Internet1,355
Communication321
Audio & video898
Graphics & design539
Office & productivity1,120
Developer tools3,132
AI tools527
Security & privacy385
System tools3,113
Games523
Education & science239
Network & IT284

Python 3.10 3.10.2 download

Python is a programming language that lets you work more quickly and integrate your systems more effectively.

This is an older version. The current version is 3.10.11. Python 3.10 3.10.11 · Released:
3.10.2 is part of the 3.10 line, which reached its end of life on October 1, 2026. It no longer receives security fixes. endoflife.date

Installer files 3.10.2

ArchitectureTypeScopeFile sizeDownloadSHA256
64-bit EXE (WiX Burn) Current user 28.2 MB python.org VirusTotal
64-bit EXE (WiX Burn) All users 28.2 MB python.org VirusTotal
32-bit EXE (WiX Burn) Current user 27.1 MB python.org VirusTotal
32-bit EXE (WiX Burn) All users 27.1 MB python.org VirusTotal

Link and SHA256 come from the Windows Package Manager community manifest. Compare the hash of the downloaded file before running it.

Release notes

Core and Builtins
- bpo-46347: Fix memory leak in PyEval_EvalCodeEx.
- bpo-46289: ASDL declaration of FormattedValue has changed to reflect conversion field is not optional.
- bpo-46237: Fix the line number of tokenizer errors inside f-strings. Patch by Pablo Galindo.
- bpo-46006: Fix a regression when a type method like __init__() is modified in a subinterpreter. Fix a regression in _PyUnicode_EqualToASCIIId() and type update_slot(). Revert the change which made the Unicode dictionary of interned strings compatible with subinterpreters: the internal interned dictionary is shared again by all interpreters. Patch by Victor Stinner.
- bpo-46085: Fix iterator cache mechanism of OrderedDict.
- bpo-46110: Add a maximum recursion check to the PEG parser to avoid stack overflow. Patch by Pablo Galindo
- bpo-46054: Fix parser error when parsing non-utf8 characters in source files. Patch by Pablo Galindo.
- bpo-46042: Improve the location of the caret in SyntaxError exceptions emitted by the symbol table. Patch by Pablo Galindo.
- bpo-46025: Fix a crash in the atexit module involving functions that unregister themselves before raising exceptions. Patch by Pablo Galindo.
- bpo-46009: Restore behavior from 3.9 and earlier when sending non-None to newly started generator. In 3.9 this did not affect the state of the generator. In 3.10.0 and 3.10.1 gen_func().send(0) is equivalent to gen_func().throw(TypeError(...) which exhausts the generator. In 3.10.2 onward, the behavior has been reverted to that of 3.9.
- bpo-46000: Improve compatibility of the curses module with NetBSD curses.
- bpo-46004: Fix the SyntaxError location for errors involving for loops with invalid targets. Patch by Pablo Galindo
- bpo-42918: Fix bug where the built-in compile() function did not always raise a SyntaxError when passed multiple statements in ‘single’ mode. Patch by Weipeng Hong.
Library
- bpo-40479: Fix hashlib usedforsecurity option to work correctly with OpenSSL 3.0.0 in FIPS mode.
- bpo-46070: Fix possible segfault when importing the asyncio module from different sub-interpreters in parallel. Patch by Erlend E. Aasland.
- bpo-46278: Reflect context argument in AbstractEventLoop.call_*() methods. Loop implementations already support it.
- bpo-46239: Improve error message when importing asyncio.windows_events on non-Windows.
- bpo-20369: concurrent.futures.wait() no longer blocks forever when given duplicate Futures. Patch by Kumar Aditya.
- bpo-46105: Honor spec when generating requirement specs with urls and extras (importlib_metadata 4.8.3).
- bpo-26952: argparse raises ValueError with clear message when trying to render usage for an empty mutually-exclusive group. Previously it raised a cryptic IndexError.
- bpo-27718: Fix help for the signal module. Some functions (e.g. signal() and getsignal()) were omitted.
- bpo-46032: The registry() method of functools.singledispatch() functions checks now the first argument or the first parameter annotation and raises a TypeError if it is not supported. Previously unsupported “types” were ignored (e.g. typing.List[int]) or caused an error at calling time (e.g. list[int]).
- bpo-46018: Ensure that math.expm1() does not raise on underflow.
- bpo-45755: typing generic aliases now reveal the class attributes of the original generic class when passed to dir(). This was the behavior up to Python 3.6, but was changed in 3.7-3.9.
- bpo-13236: unittest.TextTestResult and unittest.TextTestRunner flush now the output stream more often.
- bpo-42378: Fixes the issue with log file being overwritten when logging.FileHandler is used in atexit with filemode set to 'w'. Note this will cause the message in atexit not being logged if the log stream is already closed due to shutdown of logging.
Documentation
- bpo-46120: State that | is preferred for readability over Union in the typing docs.
- bpo-46040: Fix removal Python version for @asyncio.coroutine, the correct value is 3.11.
- bpo-19737: Update the documentation for the globals() function.
- bpo-45840: Improve cross-references in the documentation for the data model.
Tests
- bpo-46205: Fix hang in runtest_mp due to race condition
- bpo-46263: Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not fill freed memory with junk byte.
- bpo-46150: Now fakename in test_pathlib.PosixPathTest.test_expanduser is checked to be non-existent.
- bpo-46129: Rewrite asyncio.locks tests with unittest.IsolatedAsyncioTestCase usage.
- bpo-46114: Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses 0xMNN00PP0L.
Build
- bpo-46263: configure no longer sets MULTIARCH on FreeBSD platforms.
- bpo-46106: Updated OpenSSL to 1.1.1m in Windows builds, macOS installer builds, and CI. Patch by Kumar Aditya.
macOS
- bpo-40477: The Python Launcher app for macOS now properly launches scripts and, if necessary, the Terminal app when running on recent macOS releases.
C API
- bpo-46236: Fix a bug in PyFunction_GetAnnotations() that caused it to return a tuple instead of a dict.

https://docs.python.org/release/3.10.2/whatsnew/changelog.html

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

More from Python Software Foundation

See all
  • Python 3.14A programming language that lets you work more quickly and integrate your systems more effectively.
  • Python 3.13Python is a programming language that lets you work more quickly and integrate your systems more effectively.
  • Python 3.12Python is a programming language that lets you work more quickly and integrate your systems more effectively.
  • Python 3.11Python is a programming language that lets you work more quickly and integrate your systems more effectively.
  • Python Install ManagerInstall, manage, and launch Python on Windows.
  • Python 3.9Python is a programming language that lets you work more quickly and integrate your systems more effectively.

Tags

Share