bidict v0.21.3 Release Notes

Release Date: 2021-09-05 // 10 months ago
    • All bidicts now provide the :meth:~bidict.BidictBase.equals_order_sensitive method, not just :class:~bidict.OrderedBidict\s.

    Since support for Python < 3.6 was dropped in v0.21.0, :class:dict\s provide a deterministic ordering on all supported Python versions, and as a result, all bidicts do too. So now even non-:class:Ordered <bidict.OrderedBidict> bidicts might as well provide :meth:~bidict.BidictBase.equals_order_sensitive.

    See the updated :ref:other-bidict-types:What about order-preserving dicts? docs for more info.

    • ๐Ÿ‘ Take better advantage of the fact that dicts became :class:reversible <collections.abc.Reversible> in Python 3.8.

    Specifically, now even non-:class:Ordered <bidict.OrderedBidict> bidicts provide a :meth:~bidict.BidictBase.__reversed__ implementation on Python 3.8+ that calls :func:reversed on the backing _fwdm mapping.

    As a result, if you are using Python 3.8+, :class:~bidict.frozenbidict now gives you everything that :class:~bidict.FrozenOrderedBidict gives you, but with less space overhead.

    • Drop setuptools_scm <https://github.com/pypa/setuptools_scm>__ as a setup_requires dependency.

    • ๐Ÿ”– Remove the bidict.__version_info__ attribute.