|
|
|
|
Changelog for python310-bidict-0.22.1-28.2.noarch.rpm :
* 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. * Fri Jan 17 2020 Marketa Calabkova - update to 0.19.0 * Drop support for Python 2 as promised in v0.18.2. * Deprecate bidict.OVERWRITE and bidict.IGNORE. A UserWarning will now be emitted if these are used. * Rename DuplicationPolicy to OnDupAction (and implement it via an Enum). * No longer use __all__ in bidict’s __init__.py. * Improve validation of names passed to namedbidict(). * Fri Sep 13 2019 Tomáš Chvátal - Update to 0.18.2: * Warn that Python 2 support will be dropped in a future release when Python 2 is detected. * Fix a regression introduced by the memory optimizations added in 0.15.0 which caused deepcopied and unpickled bidicts to have their inverses set incorrectly. #94 * Sun Feb 10 2019 John Vandenberg - Remove unused build dependencies- Add export LANG=en_US.UTF-8- Add docs/ *.rst to %doc- Update to v0.18.0 + Rename BidirectionalMapping.inv to BidirectionalMapping.inverse and make BidictBase.inv an alias. + BidirectionalMapping.__subclasshook__ now requires an ``inverse`` attribute rather than an inv attribute for a class to qualify as a virtual subclass. This breaking change is expected to affect few if any users. + Add Python 2/3-compatible compat.collections_abc alias. + Drop support for Python 3.4- from v0.17.5 + Remove the ``__delegate__`` instance attribute added in the previous release. Instead of checking ``self.__delegate__`` and delegating accordingly each time a possibly-delegating method is called, revert back to using \"delegated-to-fwdm\" mixin classes now found in bidict._delegating_mixins, and resurrect a mutable bidict parent class that omits the mixins + Rename __repr_delegate__ to BidictBase._repr_delegate- Update to v0.17.4 + `~bidict.OrderedBidict` optimizations and code improvements. + Refactor proxied- (i.e. delegated-) to-_fwdm logic for better composability and interoperability. + Change ``__repr_delegate__`` to simply take a type like dict or list + Upgrade to latest major release of sortedcontainers + bidict.compat.{view,iter}{keys,values,items} on Python 2 no longer assumes the target object implements these methods, as they\'re not actually part of the collections.abc.Mapping interface, and provides fallback implementations when the methods are unavailable.- Update to v0.17.3 + Improve packaging by adding a pyproject.toml + Drop pytest-runner and support for running tests via setup.py test * Tue Dec 04 2018 Matej Cepl - Remove superfluous devel dependency for noarch package
|
|
|