[Python-Dev] [RFC] Removing pure Python implementation of OrderedDict

Guido van Rossum guido at python.org
Tue Sep 5 10:40:14 EDT 2017

On Tue, Sep 5, 2017 at 5:58 AM, Simon Cross <hodgestar+pythondev at gmail.com>

> I thought the decision a few years ago was that all modules that have a C
> library for performance reasons should also have a Python version? Did this
> decision change at some point? (just curious).

It was never meant as a hard rule. IIRC the actual rule is more that *if*
you have both a C and a Python version they need to supply the same API,
*and* the naming should be e.g. _pickle (C) and pickle (Python), *and* the
Python version should automatically replace itself with the C version when
the latter exists (e.g. by putting an import * at the end with a try/except
around it).

There are tons of modules that only have a C version and there's no need to
change this -- and I'm fine with occasionally a module removing the Python
version when the C version is deemed sufficiently stable and compatible.
(In some cases a move in the opposite direction may also be reasonable. No
two cases are exactly alike.)

--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20170905/92e14d19/attachment.html>

More information about the Python-Dev mailing list