- Major new features of the 3.4 series, compared to 3.3
- More resources
- Download
- This is the seventh maintenance release of Python 3.8
- macOS 11 Big Sur not fully supported
- Major new features of the 3.8 series, compared to 3.7
- More resources
- Windows users
- macOS users
- And now for something completely different
- Download the latest source release
- Download the latest version of Python
- Active Python Releases
- Looking for a specific release?
- Sponsors
- Licenses
- Sources
- Alternative Implementations
- History
- Release Schedules
- Information about specific ports, and developer info
- OpenPGP Public Keys
- Other Useful Items
- Want to contribute?
Release Date: March 17, 2014
Python 3.4 has reached end-of-life. Python 3.4.10, the final release of the 3.4 series, is available here.
Python 3.4.0 was released on March 16th, 2014.
Major new features of the 3.4 series, compared to 3.3
Python 3.4 includes a range of improvements of the 3.x series, including hundreds of small improvements and bug fixes. Among the new major new features and changes in the 3.4 release series are
- PEP 428, a «pathlib» module providing object-oriented filesystem paths
- PEP 435, a standardized «enum» module
- PEP 436, a build enhancement that will help generate introspection information for builtins
- PEP 442, improved semantics for object finalization
- PEP 443, adding single-dispatch generic functions to the standard library
- PEP 445, a new C API for implementing custom memory allocators
- PEP 446, changing file descriptors to not be inherited by default in subprocesses
- PEP 450, a new «statistics» module
- PEP 451, standardizing module metadata for Python’s module import system
- PEP 453, a bundled installer for the pip package manager
- PEP 454, a new «tracemalloc» module for tracing Python memory allocations
- PEP 456, a new hash algorithm for Python strings and binary data
- PEP 3154, a new and improved protocol for pickled objects
- PEP 3156, a new «asyncio» module, a new framework for asynchronous I/O
More resources
Download
Please proceed to the download page for the download.
Notes on this release:
- The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the «x64» architecture, and formerly known as both «EM64T» and «x86-64».) They will not work on Intel Itanium Processors (formerly «IA-64»).
- There is important information about IDLE, Tkinter, and Tcl/Tk on Mac OS X here.
Release Date: Dec. 21, 2020
This is the seventh maintenance release of Python 3.8
Note: The release you’re looking at is Python 3.8.7, a bugfix release for the legacy 3.8 series. Python 3.9 is now the latest feature release series of Python 3. Get the latest release of 3.9.x here.
macOS 11 Big Sur not fully supported
Python 3.8.7 is not yet fully supported on macOS 11 Big Sur. It will install on macOS 11 Big Sur and will run on Apple Silicon Macs using Rosetta 2 translation. However, a few features do not work correctly, most noticeably those involving searching for system libraries (vs user libraries) such as ctypes.util.find_library() and in Distutils. This limitation affects both Apple Silicon and Intel processors. We are looking into improving the situation for Python 3.8.8.
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types), and PEP 589 (TypedDict)
- Parallel filesystem cache for compiled bytecode
- Debug builds share ABI as release builds
- f-strings support a handy = specifier for debugging
- continue is now legal in finally: blocks
- on Windows, the default asyncio event loop is now ProactorEventLoop
- on macOS, the spawn start method is now used by default in multiprocessing
- multiprocessing can now use shared memory segments to avoid pickling costs between processes
- typed_ast is merged back to CPython
- LOAD_GLOBAL is now 40% faster
- pickle now uses Protocol 4 by default, improving performance
There are many other interesting changes, please consult the «What’s New» page in the documentation for a full list.
More resources
- Online Documentation
- PEP 569, 3.8 Release Schedule
- Report bugs at https://bugs.python.org.
- Help fund Python and its community.
Windows users
- The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the «x64» architecture, and formerly known as both «EM64T» and «x86-64».)
- There are now «web-based» installers for Windows platforms; the installer will download the needed software components at installation time.
- There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.
macOS users
- For Python 3.8, we provide one installer: 64-bit-only that works on macOS 10.9 (Mavericks) and later systems.
- Please read the «Important Information» displayed during installation for information about SSL/TLS certificate validation and the running the «Install Certificates.command».
And now for something completely different
(Cut to BBC world symbol.)
Continuity Voice: (Eric Idle) Now on BBC television a choice of viewing. On BBC 2 — a discussion on censorship between Derek Hart, The Bishop of Woolwich, and a nude man. And on BBC 1 — me telling you this. And now.
(Sound of TV set bring switched off. The picture reduces to a spot and we see it was actually on a TV set which has just been switched off by the housewife. The inspector holds a cup with a cherry on a stick in it.)
She: (Terry Jones) We don’t want that, do we. Do you really want that cherry in your tea? Do you like doing this job?
Inspector: (Michael Palin) Well, it’s a living, isn’t it?
Release Date: July 8, 2019
Python 3.7.4 was the fourth bugfix release of Python 3.7.
There are now newer bugfix releases of Python 3.7 that supersede 3.7.4 and Python 3.8 is now the latest feature release of Python 3. Get the latest releases of 3.7.x and 3.8.x here. We plan to continue to provide bugfix releases for 3.7.x until mid 2020 and security fixes until mid 2023.
Among the major new features in Python 3.7 are:
- PEP 539, new C API for thread-local storage
- PEP 545, Python documentation translations
- New documentation translations: Japanese, French, and Korean.
- PEP 552, Deterministic pyc files
- PEP 553, Built-in breakpoint()
- PEP 557, Data Classes
- PEP 560, Core support for typing module and generic types
- PEP 562, Customization of access to module attributes
- PEP 563, Postponed evaluation of annotations
- PEP 564, Time functions with nanosecond resolution
- PEP 565, Improved DeprecationWarning handling
- PEP 567, Context Variables
- Avoiding the use of ASCII as a default text encoding (PEP 538, legacy C locale coercion and PEP 540, forced UTF-8 runtime mode)
- The insertion-order preservation nature of dict objects is now an official part of the Python language spec.
- Notable performance improvements in many areas.
Please see What’s New In Python 3.7 for more information.
Download the latest source release
Download the latest version of Python
Looking for Python with a different OS? Python for Windows, Linux/UNIX, Mac OS X, Other
Want to help test development versions of Python? Prereleases, Docker images
Looking for Python 2.7? See below for specific releases
Active Python Releases
- 3.9 bugfix 2020-10-05 2025-10 PEP 596
- 3.8 bugfix 2019-10-14 2024-10 PEP 569
- 3.7 security 2018-06-27 2023-06-27 PEP 537
- 3.6 security 2016-12-23 2021-12-23 PEP 494
- 2.7 end-of-life 2010-07-03 2020-01-01 PEP 373
Looking for a specific release?
Python releases by version number:
- Python 3.9.4 April 4, 2021 DownloadRelease Notes
- Python 3.8.9 April 2, 2021 DownloadRelease Notes
- Python 3.9.2 Feb. 19, 2021 DownloadRelease Notes
- Python 3.8.8 Feb. 19, 2021 DownloadRelease Notes
- Python 3.6.13 Feb. 15, 2021 DownloadRelease Notes
- Python 3.7.10 Feb. 15, 2021 DownloadRelease Notes
- Python 3.8.7 Dec. 21, 2020 DownloadRelease Notes
- Python 3.9.1 Dec. 7, 2020 DownloadRelease Notes
- Python 3.9.0 Oct. 5, 2020 DownloadRelease Notes
- Python 3.8.6 Sept. 24, 2020 DownloadRelease Notes
- Python 3.5.10 Sept. 5, 2020 DownloadRelease Notes
- Python 3.7.9 Aug. 17, 2020 DownloadRelease Notes
- Python 3.6.12 Aug. 17, 2020 DownloadRelease Notes
- Python 3.8.5 July 20, 2020 DownloadRelease Notes
- Python 3.8.4 July 13, 2020 DownloadRelease Notes
- Python 3.7.8 June 27, 2020 DownloadRelease Notes
- Python 3.6.11 June 27, 2020 DownloadRelease Notes
- Python 3.8.3 May 13, 2020 DownloadRelease Notes
- Python 2.7.18 April 20, 2020 DownloadRelease Notes
- Python 3.7.7 March 10, 2020 DownloadRelease Notes
- Python 3.8.2 Feb. 24, 2020 DownloadRelease Notes
- Python 3.8.1 Dec. 18, 2019 DownloadRelease Notes
- Python 3.7.6 Dec. 18, 2019 DownloadRelease Notes
- Python 3.6.10 Dec. 18, 2019 DownloadRelease Notes
- Python 3.5.9 Nov. 2, 2019 DownloadRelease Notes
- Python 3.5.8 Oct. 29, 2019 DownloadRelease Notes
- Python 2.7.17 Oct. 19, 2019 DownloadRelease Notes
- Python 3.7.5 Oct. 15, 2019 DownloadRelease Notes
- Python 3.8.0 Oct. 14, 2019 DownloadRelease Notes
- Python 3.7.4 July 8, 2019 DownloadRelease Notes
- Python 3.6.9 July 2, 2019 DownloadRelease Notes
- Python 3.7.3 March 25, 2019 DownloadRelease Notes
- Python 3.4.10 March 18, 2019 DownloadRelease Notes
- Python 3.5.7 March 18, 2019 DownloadRelease Notes
- Python 2.7.16 March 4, 2019 DownloadRelease Notes
- Python 3.7.2 Dec. 24, 2018 DownloadRelease Notes
- Python 3.6.8 Dec. 24, 2018 DownloadRelease Notes
- Python 3.7.1 Oct. 20, 2018 DownloadRelease Notes
- Python 3.6.7 Oct. 20, 2018 DownloadRelease Notes
- Python 3.5.6 Aug. 2, 2018 DownloadRelease Notes
- Python 3.4.9 Aug. 2, 2018 DownloadRelease Notes
- Python 3.7.0 June 27, 2018 DownloadRelease Notes
- Python 3.6.6 June 27, 2018 DownloadRelease Notes
- Python 2.7.15 May 1, 2018 DownloadRelease Notes
- Python 3.6.5 March 28, 2018 DownloadRelease Notes
- Python 3.4.8 Feb. 5, 2018 DownloadRelease Notes
- Python 3.5.5 Feb. 5, 2018 DownloadRelease Notes
- Python 3.6.4 Dec. 19, 2017 DownloadRelease Notes
- Python 3.6.3 Oct. 3, 2017 DownloadRelease Notes
- Python 3.3.7 Sept. 19, 2017 DownloadRelease Notes
- Python 2.7.14 Sept. 16, 2017 DownloadRelease Notes
- Python 3.4.7 Aug. 9, 2017 DownloadRelease Notes
- Python 3.5.4 Aug. 8, 2017 DownloadRelease Notes
- Python 3.6.2 July 17, 2017 DownloadRelease Notes
- Python 3.6.1 March 21, 2017 DownloadRelease Notes
- Python 3.4.6 Jan. 17, 2017 DownloadRelease Notes
- Python 3.5.3 Jan. 17, 2017 DownloadRelease Notes
- Python 3.6.0 Dec. 23, 2016 DownloadRelease Notes
- Python 2.7.13 Dec. 17, 2016 DownloadRelease Notes
- Python 3.4.5 June 27, 2016 DownloadRelease Notes
- Python 3.5.2 June 27, 2016 DownloadRelease Notes
- Python 2.7.12 June 25, 2016 DownloadRelease Notes
- Python 3.4.4 Dec. 21, 2015 DownloadRelease Notes
- Python 3.5.1 Dec. 7, 2015 DownloadRelease Notes
- Python 2.7.11 Dec. 5, 2015 DownloadRelease Notes
- Python 3.5.0 Sept. 13, 2015 DownloadRelease Notes
- Python 2.7.10 May 23, 2015 DownloadRelease Notes
- Python 3.4.3 Feb. 25, 2015 DownloadRelease Notes
- Python 2.7.9 Dec. 10, 2014 DownloadRelease Notes
- Python 3.4.2 Oct. 13, 2014 DownloadRelease Notes
- Python 3.3.6 Oct. 12, 2014 DownloadRelease Notes
- Python 3.2.6 Oct. 12, 2014 DownloadRelease Notes
- Python 2.7.8 July 2, 2014 DownloadRelease Notes
- Python 2.7.7 June 1, 2014 DownloadRelease Notes
- Python 3.4.1 May 19, 2014 DownloadRelease Notes
- Python 3.4.0 March 17, 2014 DownloadRelease Notes
- Python 3.3.5 March 9, 2014 DownloadRelease Notes
- Python 3.3.4 Feb. 9, 2014 DownloadRelease Notes
- Python 3.3.3 Nov. 17, 2013 DownloadRelease Notes
- Python 2.7.6 Nov. 10, 2013 DownloadRelease Notes
- Python 2.6.9 Oct. 29, 2013 DownloadRelease Notes
- Python 3.2.5 May 15, 2013 DownloadRelease Notes
- Python 3.3.2 May 15, 2013 DownloadRelease Notes
- Python 2.7.5 May 12, 2013 DownloadRelease Notes
- Python 2.7.4 April 6, 2013 DownloadRelease Notes
- Python 3.2.4 April 6, 2013 DownloadRelease Notes
- Python 3.3.1 April 6, 2013 DownloadRelease Notes
- Python 3.3.0 Sept. 29, 2012 DownloadRelease Notes
- Python 3.2.3 April 10, 2012 DownloadRelease Notes
- Python 2.6.8 April 10, 2012 DownloadRelease Notes
- Python 2.7.3 April 9, 2012 DownloadRelease Notes
- Python 3.1.5 April 9, 2012 DownloadRelease Notes
- Python 3.2.2 Sept. 3, 2011 DownloadRelease Notes
- Python 3.2.1 July 9, 2011 DownloadRelease Notes
- Python 2.7.2 June 11, 2011 DownloadRelease Notes
- Python 3.1.4 June 11, 2011 DownloadRelease Notes
- Python 2.6.7 June 3, 2011 DownloadRelease Notes
- Python 2.5.6 May 26, 2011 DownloadRelease Notes
- Python 3.2.0 Feb. 20, 2011 DownloadRelease Notes
- Python 2.7.1 Nov. 27, 2010 DownloadRelease Notes
- Python 3.1.3 Nov. 27, 2010 DownloadRelease Notes
- Python 2.6.6 Aug. 24, 2010 DownloadRelease Notes
- Python 2.7.0 July 3, 2010 DownloadRelease Notes
- Python 3.1.2 March 20, 2010 DownloadRelease Notes
- Python 2.6.5 March 18, 2010 DownloadRelease Notes
- Python 2.5.5 Jan. 31, 2010 DownloadRelease Notes
- Python 2.6.4 Oct. 26, 2009 DownloadRelease Notes
- Python 2.6.3 Oct. 2, 2009 DownloadRelease Notes
- Python 3.1.1 Aug. 17, 2009 DownloadRelease Notes
- Python 3.1.0 June 26, 2009 DownloadRelease Notes
- Python 2.6.2 April 14, 2009 DownloadRelease Notes
- Python 3.0.1 Feb. 13, 2009 DownloadRelease Notes
- Python 2.5.4 Dec. 23, 2008 DownloadRelease Notes
- Python 2.5.3 Dec. 19, 2008 DownloadRelease Notes
- Python 2.4.6 Dec. 19, 2008 DownloadRelease Notes
- Python 2.6.1 Dec. 4, 2008 DownloadRelease Notes
- Python 3.0.0 Dec. 3, 2008 DownloadRelease Notes
- Python 2.6.0 Oct. 2, 2008 DownloadRelease Notes
- Python 2.4.5 March 11, 2008 DownloadRelease Notes
- Python 2.3.7 March 11, 2008 DownloadRelease Notes
- Python 2.5.2 Feb. 21, 2008 DownloadRelease Notes
- Python 2.5.1 April 19, 2007 DownloadRelease Notes
- Python 2.3.6 Nov. 1, 2006 DownloadRelease Notes
- Python 2.4.4 Oct. 18, 2006 DownloadRelease Notes
- Python 2.5.0 Sept. 19, 2006 DownloadRelease Notes
- Python 2.4.3 April 15, 2006 DownloadRelease Notes
- Python 2.4.2 Sept. 27, 2005 DownloadRelease Notes
- Python 2.4.1 March 30, 2005 DownloadRelease Notes
- Python 2.3.5 Feb. 8, 2005 DownloadRelease Notes
- Python 2.4.0 Nov. 30, 2004 DownloadRelease Notes
- Python 2.3.4 May 27, 2004 DownloadRelease Notes
- Python 2.3.3 Dec. 19, 2003 DownloadRelease Notes
- Python 2.3.2 Oct. 3, 2003 DownloadRelease Notes
- Python 2.3.1 Sept. 23, 2003 DownloadRelease Notes
- Python 2.3.0 July 29, 2003 DownloadRelease Notes
- Python 2.2.3 May 30, 2003 DownloadRelease Notes
- Python 2.2.2 Oct. 14, 2002 DownloadRelease Notes
- Python 2.2.1 April 10, 2002 DownloadRelease Notes
- Python 2.1.3 April 9, 2002 DownloadRelease Notes
- Python 2.2.0 Dec. 21, 2001 DownloadRelease Notes
- Python 2.0.1 June 22, 2001 DownloadRelease Notes
Sponsors
Visionary sponsors like Google help to host Python downloads.
Licenses
All Python releases are Open Source. Historically, most, but not all, Python releases have also been GPL-compatible. The Licenses page details GPL-compatibility and Terms and Conditions.
Sources
For most Unix systems, you must download and compile the source code. The same source code archive can also be used to build the Windows and Mac versions, and is the starting point for ports to all other platforms.
Download the latest Python 3 and Python 2 source.
Alternative Implementations
This site hosts the «traditional» implementation of Python (nicknamed CPython). A number of alternative implementations are available as well.
History
Python was created in the early 1990s by Guido van Rossum at Stichting Mathematisch Centrum in the Netherlands as a successor of a language called ABC. Guido remains Python’s principal author, although it includes many contributions from others.
Release Schedules
Information about specific ports, and developer info
OpenPGP Public Keys
Source and binary executables are signed by the release manager or binary builder using their OpenPGP key. Release files for currently supported releases are signed by the following:
Release files for older releases which have now reached end-of-life may have been signed by one of the following:
- Anthony Baxter (key id: 0EDD C5F2 6A45 C816)
- Georg Brandl (key id: 0A5B 1018 3658 0288)
- Martin v. Löwis (key id: 6AF0 53F0 7D9D C8D2)
- Ronald Oussoren (key id: C9BE 28DE E6DF 025C)
- Barry Warsaw (key ids: 126E B563 A74B 06BF, D986 6941 EA5B BD71, and ED9D77D5)
You can import a person’s public keys from a public keyserver network server you trust by running a command like:
or, in many cases, public keys can also be found at keybase.io. On the version-specific download pages, you should see a link to both the downloadable file and a detached signature file. To verify the authenticity of the download, grab both files and then run this command:
Note that you must use the name of the signature file, and you should use the one that’s appropriate to the download you’re verifying.
- (These instructions are geared to GnuPG and Unix command-line users.)
Other Useful Items
- Looking for 3rd party Python modules? The Package Index has many of them.
- You can view the standard documentation online, or you can download it in HTML, PostScript, PDF and other formats. See the main Documentation page.
- Information on tools for unpacking archive files provided on python.org is available.
- Tip: even if you download a ready-made binary for your platform, it makes sense to also download the source. This lets you browse the standard library (the subdirectory Lib) and the standard collections of demos (Demo) and tools (Tools) that come with it. There’s a lot you can learn from the source!
- There is also a collection of Emacs packages that the Emacsing Pythoneer might find useful. This includes major modes for editing Python, C, C++, Java, etc., Python debugger interfaces and more. Most packages are compatible with Emacs and XEmacs.
Want to contribute?
Want to contribute? See the Python Developer’s Guide to learn about how Python development is managed.