NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3359 most downloaded on PyPI
Backport functools.singledispatch to older Pythons.
Last release 1 years ago
14 May 2025
Ships unpredictably
gaps range from 5 weeks to 6.9 years
Nearly every release is documented
notes for 14 of 14 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
14 releases · first in 2013
No significant changes.
No significant changes.
No significant changes.
No significant changes.
Re-synced implementation with CPython 3.8, removing the compatibility code introduced for compatibility with older Pythons.
Re-synced implementation with CPython 3.8, removing the compatibility code introduced for compatibility with older Pythons.
Require Python 3.8 or later.
One column per quarter.
Incorporate Tidelift sponsorship.
Require Python 3.7 or later.
Incorporate Tidelift sponsorship.
Incorporate minor changes from Python 3.8.
#4: Add singledispatchmethod from Python 3.8.
Incorporate minor changes from Python 3.8.
#3 and bpo-23572: Fix behavior when metaclass implements bool.
#3 and bpo-23572: Fix behavior when metaclass implements bool.
Fixed DeprecationWarnings referring to members from collections.abc referenced from collections.
Fixed DeprecationWarnings referring to members from collections.abc referenced from collections.
#1: Added support for annotations as found on Python 3.7.
#1: Added support for annotations as found on Python 3.7.
Adopt jaraco/skeleton for packaging.
Adopt semver for versioning.
Adopt jaraco/skeleton for packaging.
Declare support through 3.9.
#2: Tests now pass under pytest and when typing is present.
Now maintained by jaraco. Thanks to Łukasz Langa for the original backport and maintenance.
Hosting moved to Github.
Now maintained by jaraco. Thanks to Łukasz Langa for the original backport and maintenance.
Last version before switch to semver for versioning.
Should now install flawlessly on PyPy as well. Thanks to Ryan Petrello for finding and fixing the setup.py issue.
Should now install flawlessly on PyPy as well. Thanks to Ryan Petrello for finding and fixing the setup.py issue.
Updated to the reference implementation as of 02-July-2013.
Updated to the reference implementation as of 02-July-2013.
more predictable dispatch order when abstract base classes are in use: abstract base classes are now inserted into the MRO of the argument's class where their functionality is introduced, i.e. issubclass(cls, abc) returns True for the class itself but returns False for all its direct base classes. Implicit ABCs for a given class (either registered or inferred from the presence of a special method like __len__) are inserted directly after the last ABC explicitly listed in the MRO of said class. This also means there are less "ambiguous dispatch" exceptions raised.
better test coverage and improved docstrings
Updated to the reference implementation as of 31-May-2013.
Updated to the reference implementation as of 31-May-2013.
better performance
fixed a corner case with PEP 435 enums
calls to dispatch() also cached
dispatching algorithm now now a module-level routine called _find_impl() with a simplified implementation and proper documentation
dispatch() now handles all caching-related activities
terminology more consistent: "overload" -> "implementation"
the first public release compatible with 3.4.0
the first public release compatible with 3.4.0
Your coding agent can read these notes before it upgrades. Set up the MCP server →