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: Nov. 15, 2021
This is the ninth maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.9, an expedited bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. 3.9.9 was released …
View Release Notes
Released: May 19, 2020
This is a beta preview of Python 3.9 Python 3.9 is still in development. This release, 3.9.0b1, is the first of four planned beta release previews. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects …
Released: June 9, 2020
This is a beta preview of Python 3.9 Python 3.9 is still in development. This release, 3.9.0b3, is the third of five planned beta release previews. Beta release previews are intended to give the wider community the opportunity to test new features and bug fixes and to prepare their projects …
Released: Aug. 11, 2020
This is the first release candidate of Python 3.9 This release, 3.9.0rc1, is the penultimate release preview. Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release. The second candidate and the last planned release …
Released: Oct. 5, 2020
This is the stable release of Python 3.9.0 Note: The release you're looking at is Python 3.9.0, a legacy release. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. Installer news This is the first version of Python to …
Released: Feb. 19, 2021
This is the second maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.2, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. We've made 166 commits …
Released: June 28, 2021
This is the sixth maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.6, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. There's been 146 commits …
Released: March 16, 2022
This is the eleventh maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.11, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. Security content in this …
Released: May 17, 2022
This is the thirteenth and final regular maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.13, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. According …
...frozenset(self.items())) and caches the result in its private hash attribute Register frozendict as a collections.abc.Mapping frozendict can be used with PyDict_GetItem(), but PyDict_SetItem() and PyDict_DelItem() raise a TypeError Recipe: hashable dict To ensure that a frozendict is hashable, values can be checked before creating the frozendict: import itertools def hashabledict(*args, **kw): # ensure that all values are hashable for key, value in itertools.chain(args, kw.items()):...
WARNING: this release has a known regression See BPO-40924 for details. Use Python 3.9.0b3 or newer instead, please. This is a beta preview of Python 3.9 Python 3.9 is still in development. This release, 3.9.0b2, is the second of four planned beta release previews. Beta release previews are intended to …
Released: Nov. 26, 2020
This is the release candidate of the first maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.1rc1, the release candidate of a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release …
...frozenset({'title'}) assert Movie.__optional_keys__ == frozenset({'year'}) Backwards Compatibility No backward incompatible changes are made by this PEP. How to Teach This To define a TypedDict where most keys are required and some are potentially-missing, define a single TypedDict as normal (without the total keyword) and mark those few keys that are potentially-missing with NotRequired[]. To define a TypedDict where most keys are potentially-missing and a few are required, define a tota...
Released: Dec. 7, 2020
This is the first maintenance release of Python 3.9 Note: The release you're looking at is Python 3.9.1, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here. We've made 282 changes …
...frozenset classes follow this semantic, the RecursiveHash role can be applied to them. >>> perform_role(RecursiveHash)(tuple) >>> perform_role(RecursiveHash)(frozenset) Now, any code that consumes RecursiveHash objects will now be able to consume tuples and frozensets. Open Issues Allowing Instances to Perform Different Roles Than Their Class Perl 6 allows instances to perform different roles than their class. These changes are local to the single instance and do not affec...
...frozenset, reversed(), sorted(), "".rsplit(), plus all features below 2.4 with statement, conditional expressions, combined try/except/finally, relative imports, yield expressions or generator.throw/send/close(), plus all features below 2.5 with statement without from __future__ import, io module, str.format(), except as, bytes, b'' literals, property.setter/deleter Backward Compatible Packages, Modules, and Tools Package/Module Maintainer(s) Python Version Notes 2to3 Benjamin ...
...frozenset. These types can be used to represent immutable lists and sets. However, a way to represent immutable mappings does not yet exist, and this PEP proposes a frozenmap to implement an immutable mapping. The proposed frozenmap type: implements the collections.abc.Mapping protocol, supports pickling, and provides an API for efficient creation of "modified" versions. The following use cases illustrate why an immutable mapping is desirable: Immutable mappings are hashable whi...
...frozenset. These types can be used to represent immutable lists and sets. However, a way to represent immutable mappings does not yet exist, and this PEP proposes a frozenmap to implement an immutable mapping. The proposed frozenmap type: implements the collections.abc.Mapping protocol, supports pickling, and provides an API for efficient creation of "modified" versions. The following use cases illustrate why an immutable mapping is desirable: Immutable mappings are hashable which allows the...
...frozenset types, introduced in Python 2.4, supplant the module. Date: 12-Jan-2007 Documentation: Documented as deprecated as of Python 2.6. Module name: buildtools Rationale: Unknown. Date: 15-May-2007 Documentation: Documented as deprecated as of Python 2.3, but listing in this PEP was neglected. Raised a DeprecationWarning as of Python 2.6. Module name: cfmfile Rationale: Unknown. Date: 15-May-2007 Documenta...
...frozenset ☃ (SNOWMAN) datetime ⌚ (WATCH) function ƛ (LATIN SMALL LETTER LAMBDA WITH STROKE) generator ⚛ (ATOM SYMBOL) Exception ⌁ (ELECTRIC ARROW) The declarator for the None type is a zero-width space. These characters should be obvious and easy to remember and type for every programmer. Unicode replacement units Since even in our modern, globalized world there are still some old-fashioned rebels who can't or don't want to use Unicode in their source code, and since Python is a forgivi...