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.
Version: None
Released: Oct. 13, 2018
Python 3.7.1rc2 is the second release candidate preview of the first maintenance release of Python 3.7. The Python 3.7 series is the newest major release of the Python language and contains many new features and optimizations. Among the major new features in Python 3.7 are: PEP 539, new C …
View Release Notes
Released: Oct. 20, 2018
Note: The release you are looking at is a bugfix release for the legacy 3.7 series which has now reached end-of-life and is no longer supported. See the downloads page for currently supported versions of Python. The final source-only security fix release for 3.7 was 3.7.17. Among the major …
Released: March 25, 2019
Python Patterns - An Optimization Anecdote Warning This page stays here for historical reasons and it may contain outdated or incorrect information. The other day, a friend asked me a seemingly simple question: what's the best way to convert a list of integers into a string, presuming that the integers are ASCII values. For instance, the list [97, 98, 99] should be converted to the string 'abc'. Let's assume we want to write a function to do this. The first version I came ...
Released: Dec. 24, 2018
Released: March 13, 2018
Python 3.6.5rc1 is a release candidate preview of the fifth maintenance release of Python 3.6. The Python 3.6 series contains many new features and optimizations. Among the new major new features in Python 3.6 are: PEP 468, Preserving Keyword Argument Order PEP 487, Simpler customization of class creation …
Released: June 12, 2018
Python 3.6.6rc1 is a release candidate preview of the sixth maintenance release of Python 3.6. The Python 3.6 series contains many new features and optimizations. Among the new major new features in Python 3.6 are: PEP 468, Preserving Keyword Argument Order PEP 487, Simpler customization of class creation …
Released: Sept. 26, 2018
Python 3.6.7rc1 is a release candidate preview of the seventh maintenance release of Python 3.6. The Python 3.6 series contains many new features and optimizations. Among the new major new features in Python 3.6 are: PEP 468, Preserving Keyword Argument Order PEP 487, Simpler customization of class creation …
Python 3.6.7rc2 is the second release candidate preview of the seventh maintenance release of Python 3.6. The Python 3.6 series contains many new features and optimizations. Among the new major new features in Python 3.6 are: PEP 468, Preserving Keyword Argument Order PEP 487, Simpler customization of class …
PEP 353 -- Using ssize_t as the index type PEP:353 Title:Using ssize_t as the index type Author:Martin von Löwis <martin at v.loewis.de> Status:Final Type:Standards Track Created:18-Dec-2005 Post-History: Contents Abstract Rationale Specification Conversion guidelines Discussion Why not size_t Why not Py_intptr_t Doesn't this break much code? Doesn't this consume too much memory? Open Issues Copyright Abstract In Python 2.4, indices of sequences are restricted to the...
...8-bit opcode followed by 8-bit operand. Adaptive instructions Each instruction that would benefit from specialization is replaced by an adaptive version during quickening. For example, the LOAD_ATTR instruction would be replaced with LOAD_ATTR_ADAPTIVE. Each adaptive instruction maintains a counter, and periodically attempts to specialize itself. Specialization CPython bytecode contains many bytecodes that represent high-level operations, and would benefit from specialization. Examples inclu...
PEP 552 -- Deterministic pycs PEP:552 Title:Deterministic pycs Author:Benjamin Peterson <benjamin at python.org> Status:Final Type:Standards Track Created:04-Sep-2017 Python-Version:3.7 Post-History:07-Sep-2017 Resolution:https://mail.python.org/pipermail/python-dev/2017-September/149649.html Contents Abstract Rationale Specification References Credits Copyright Abstract This PEP proposes an extension to the pyc format to make it more deterministic. Rationale A rep...
PEP 3154 -- Pickle protocol version 4 PEP:3154 Title:Pickle protocol version 4 Author:Antoine Pitrou <solipsis at pitrou.net> Status:Final Type:Standards Track Created:11-Aug-2011 Python-Version:3.4 Post-History:12-Aug-2011 Resolution:https://mail.python.org/pipermail/python-dev/2013-November/130439.html Contents Abstract Rationale Proposed changes Framing Binary encoding for all opcodes Serializing more "lookupable" objects 64-bit opcodes for large objects Native opcod...
...8-bit output with a 128-bit seed as well as 32-bit output without seed. The relevant function prototype for 64-bit CityHash with 128-bit seed is: uint64 CityHash64WithSeeds(const char *buf, size_t len, uint64 seed0, uint64 seed1) CityHash also offers SSE 4.2 optimizations with CRC32 intrinsic for long inputs. All variants except CityHash32 require 64-bit data types. CityHash32 uses only 32-bit data types but it doesn't support seeding. Like MurmurHash Aumasson, Berns...
Released: March 28, 2018
Note: The release you are looking at is Python 3.6.5, a bugfix release for the legacy 3.6 series which has now reached end-of-life and is no longer supported. See the downloads page for currently supported versions of Python. The final source-only security fix release for 3.6 was 3.6.15 and …
Released: June 27, 2018
Note: The release you are looking at is Python 3.6.6, a bugfix release for the legacy 3.6 series which has now reached end-of-life and is no longer supported. See the downloads page for currently supported versions of Python. The final source-only security fix release for 3.6 was 3.6.15 and …
Note: The release you are looking at is Python 3.6.7, a bugfix release for the legacy 3.6 series which has now reached end-of-life and is no longer supported. See the downloads page for currently supported versions of Python. The final source-only security fix release for 3.6 was 3.6.15 and …
Released: June 18, 2019
Python 3.7.4rc1 is the release candidate preview of the fourth maintenance release of Python 3.7. The Python 3.7 series is the newest major release of the Python language and contains many new features and optimizations. Note that 3.7.4rc1 is a release preview and thus its use is not recommended for …
Released: July 8, 2019
Released: Oct. 2, 2019
Python 3.7.5rc1 is the release candidate preview of the fifth maintenance release of Python 3.7. The Python 3.7 series is the latest major release of the Python language and contains many new features and optimizations. Note that 3.7.5rc1 is a release preview and thus its use is not recommended for …