|
|
|
|
Changelog for python312-bidict-0.23.1-38.18.noarch.rpm :
* Fri Mar 22 2024 Dirk Müller - update to 0.23.1: * Fix a regression in 0.23.0 that could defeat type inference of a bidict\'s key type and value type when running in Python 3.8 or 3.9. :issue:`310` * Primarily, this release simplifies bidict by removing minor features that are no longer necessary or that have little to no apparent usage, and it also includes some performance optimizations. * Specifically, initializing or updating a bidict is now up to 70% faster in microbenchmarks. * The changes in this release will also make it easier to maintain and improve bidict in the future, including further potential performance optimizations. * It also contains several other improvements. * Drop support for Python 3.7, which reached end of life on 2023-06-27, and take advantage of features available in Python 3.8+. * Drop support for Python 3.7, which reached end of life on 2023-06-27, and take advantage of features available in Python 3.8+. * Remove FrozenOrderedBidict now that Python 3.7 is no longer supported. :class:`~bidict.frozenbidict` now provides everything that FrozenOrderedBidict provided (including :class:`reversibility `) on all supported Python versions, but with less space overhead. * Remove FrozenOrderedBidict now that Python 3.7 is no longer supported. :class:`~bidict.frozenbidict` now provides everything that FrozenOrderedBidict provided (including :class:`reversibility `) on all supported Python versions, but with less space overhead. * Remove namedbidict due to low usage. * Remove namedbidict due to low usage. * Remove the kv field of :class:`~bidict.OnDup` which specified the :class:`~bidict.OnDupAction` to take in the case of :ref:`basic-usage:key and value duplication`. The :attr:`~bidict.OnDup.val` field now specifies the action to take in the case of :ref:`basic-usage:key and value duplication` as well as :ref:`just value duplication `. * Remove the kv field of :class:`~bidict.OnDup` which specified the :class:`~bidict.OnDupAction` to take in the case of :ref:`basic-usage:key and value duplication`. The :attr:`~bidict.OnDup.val` field now specifies the action to take in the case of :ref:`basic-usage:key and value duplication` as well as :ref:`just value duplication `. * Improve type hints for the :attr:`~bidict.BidictBase.inv` shortcut alias for :attr:`~bidict.BidictBase.inverse`. * Improve type hints for the :attr:`~bidict.BidictBase.inv` shortcut alias for :attr:`~bidict.BidictBase.inverse`. * Fix a bug where calls like bidict(None), bi.update(False), etc. would fail to raise a :class:`TypeError`. * Fix a bug where calls like bidict(None), bi.update(False), etc. would fail to raise a :class:`TypeError`. * All :meth:`~bidict.BidictBase.__init__`, :meth:`~bidict.MutableBidict.update`, and related methods now handle SupportsKeysAndGetItem objects that are not :class:`~collections.abc.Mapping`s the same way that MutableMapping.update() does, before falling back to handling the provided object as an iterable of pairs. * All :meth:`~bidict.BidictBase.__init__`, :meth:`~bidict.MutableBidict.update`, and related methods now handle SupportsKeysAndGetItem objects that are not :class:`~collections.abc.Mapping`s the same way that MutableMapping.update() does, before falling back to handling the provided object as an iterable of pairs. * The :func:`repr` of ordered bidicts now matches that of regular bidicts, e.g. OrderedBidict({1: 1}) rather than OrderedBidict([(1, 1)]). (Accordingly, the bidict.__repr_delegate__ field has been removed now that it\'s no longer needed.) This tracks with the change to :class:`collections.OrderedDict`\'s :func:`repr` in Python 3.12. * The :func:`repr` of ordered bidicts now matches that of regular bidicts, e.g. OrderedBidict({1: 1}) rather than OrderedBidict([(1, 1)]). * (Accordingly, the bidict.__repr_delegate__ field has been removed now that it\'s no longer needed.) * This tracks with the change to :class:`collections.OrderedDict`\'s :func:`repr` in Python 3.12. * Test with Python 3.12 in CI. Note: Older versions of bidict also support Python 3.12, even though they don\'t explicitly declare support for it. * Test with Python 3.12 in CI. * Note: Older versions of bidict also support Python 3.12, even though they don\'t explicitly declare support for it. * Drop use of Trove classifiers that declare support for specific Python versions in package metadata. * Drop use of Trove classifiers that declare support for specific Python versions in package metadata.- drop support-python-312.patch (upstream) * Tue Feb 06 2024 Steve Kowalik - Add patch support-python-312.patch: * Cope with different TypeError raised.- No more greedy globs in %files. * Mon Jan 15 2024 Antonio Larrosa - Remove BuildRequires that aren\'t really used: sortedcollections and sortedcontainers * Fri Dec 01 2023 Antonio Larrosa - Add %{?sle15_python_module_pythons} * Fri Feb 10 2023 Dirk Müller - update to 0.22.1: * Only include the source code in the source distribution. This reduces the size of the source distribution from ~200kB to ~30kB. * Fix the return type hint of bidict.inverted() to return an Iterator, rather than an Iterable * Sat Sep 24 2022 Dirk Müller - update to 0.22.0: - Drop support for Python 3.6, which reached end of life on 2021-12-23 and is no longer supported by pip as of pip version 22. Take advantage of this to reduce bidict\'s maintenance costs. - Use mypy-appeasing explicit re-exports in ``__init__.py`` (e.g. ``import x as x``) so that mypy no longer gives you an implicit re-export error if you run it with ``--no-implicit-reexport`` (or ``--strict``) against code that imports from :mod:`bidict`. - Update the implementations and type annotations of :meth:`bidict.BidictBase.keys` and :meth:`bidict.BidictBase.values` to make use of the new :class:`~bidict.BidictKeysView` type, which works a bit better with type checkers. - Inverse bidict instances are now computed lazily the first time the :attr:`~bidict.BidictBase.inverse` attribute is accessed rather than being computed eagerly during initialization. (A bidict\'s backing, inverse, one-way mapping is still kept in sync eagerly as any mutations are made, to preserve key- and value-uniqueness.) - Optimize initializing a bidict with another bidict. In a microbenchmark on Python 3.10, this now performs over * *2x faster * *. - Optimize updating an empty bidict with another bidict. In a microbenchmark on Python 3.10, this now performs * *60-75% faster * *. - Optimize :meth:`~bidict.BidictBase.copy`. In a microbenchmark on Python 3.10, this now performs * *10-20x faster * *. - Optimize rolling back :ref:`failed updates to a bidict ` in the case that the number of items passed to the update call can be determined to be larger than the bidict being updated. Previously this rollback was O(n) in the number of items passed. Now it is O(1), i.e. * *unboundedly faster * *. - Optimize :meth:`bidict.BidictBase.__contains__` (the method called when you run ``key in mybidict``). In a microbenchmark on Python 3.10, this now performs over * *3-10x faster * * in the False case, and at least * *50% faster * * in the True case. - Optimize :meth:`bidict.BidictBase.__eq__` (the method called when you run ``mybidict == other``). In a microbenchmark on Python 3.10, this now performs * *15-25x faster * * for ordered bidicts, and * *7-12x faster * * for unordered bidicts. - Optimize :meth:`~bidict.BidictBase.equals_order_sensitive`. In a microbenchmark on Python 3.10, this now performs * *2x faster * * for ordered bidicts and * *60-90% faster * * for unordered bidicts. - Optimize the :class:`~collections.abc.MappingView` objects returned by :meth:`bidict.OrderedBidict.keys`, :meth:`bidict.OrderedBidict.values`, and :meth:`bidict.OrderedBidict.items` to delegate to backing ``dict_keys`` and ``dict_items`` objects if available, which are much faster in CPython. For example, in a microbenchmark on Python 3.10, ``orderedbi.items() == d.items()`` now performs * *30-50x faster * *. - Fix a bug where :meth:`bidict.BidictBase.__eq__` was always returning False rather than :obj:`NotImplemented` in the case that the argument was not a :class:`~collections.abc.Mapping`, defeating the argument\'s own ``__eq__()`` if implemented. * Sun Sep 05 2021 Martin Hauke - Update to version 0.21.3 * All bidicts now provide the equals_order_sensitive() method, not just bidict.OrderedBidicts. * Since support for Python < 3.6 was dropped in v0.21.0, non-Ordered bidicts preserve a deterministic ordering on all supported Python versions, so all bidicts can now provide equals_order_sensitive(). * Take better advantage of the fact that dicts are reversible in Python 3.8+. This allows even non-Ordered bidicts to efficiently provide a __reversed__() implementation, which they now do. As a result, if you are using Python 3.8+, frozenbidict now gives you everything that FrozenOrderedBidict gives you with less space overhead. * Drop setuptools_scm as a setup_requires dependency. * Remove the bidict.__version_info__ attribute. * Wed May 26 2021 Axel Braun - Update to version 0.21.2 * Include `py.typed `__ file to mark :mod:`bidict` as type hinted. * Tue Sep 01 2020 Steve Kowalik - Update to 0.21.0: * bidict now provides type hints * Add bidict.MutableBidirectionalMapping ABC * Drop Python 3.5 support * Remove bidict.compat module * Remove APIs deprecated in previous releases- Drop dont-limit-versions.patch, included upstream * Tue Aug 18 2020 Matej Cepl - Add dont-limit-versions.patch … don\'t limit the upper version of setuptools_scm to be used.
|
|
|