SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for python3-bidict-0.17.2-4.21.noarch.rpm :
Tue Dec 4 13:00:00 2018 mceplAATTsuse.com
- Remove superfluous devel dependency for noarch package

Sun Jul 29 14:00:00 2018 jengelhAATTinai.de
- Specify summary with a bit more detail.

Wed May 9 14:00:00 2018 toddrme2178AATTgmail.com
- Update to version 0.17.2
+ Speedups and memory usage improvements
- Use less memory in the linked lists that back
:class:`~bidict.OrderedBidict`\\s
by storing node data unpacked
rather than in (key, value) tuple objects.
- Update to version 0.17.1
+ Bugfix Release
- Fix a regression in 0.17.0 that could cause erroneous behavior
when updating items of an :class:`~bidict.Orderedbidict`\'s inverse,
e.g. ``some_ordered_bidict.inv[foo] = bar``.
- Update to version 0.17.0
+ Speedups and memory usage improvements
- Pass
:meth:`~bidict.bidict.keys`,
:meth:`~bidict.bidict.values`, and
:meth:`~bidict.bidict.items` calls
(as well as their ``iter
*`` and ``view
*`` counterparts on Python 2)
through to the backing ``_fwdm`` and ``_invm`` dicts
so that they run as fast as possible
(i.e. at C speed on CPython),
rather than using the slower implementations
inherited from :class:`collections.abc.Mapping`.
- Use weakrefs in the linked lists that back
:class:`~bidict.OrderedBidict`\\s
to avoid creating strong reference cycles.
+ Misc
- Add :attr:`bidict.__version_info__` attribute
to complement :attr:`bidict.__version__`.
- Update to version 0.16.0
+ Speedups and memory usage improvements
- Minor code and efficiency improvements to
:func:`~bidict.inverted` and
:func:`~bidict._util._iteritems_args_kw`
(formerly ``bidict.pairs()``).
+ Minor Breaking API Changes
- Rename ``bidict.pairs()`` → :func:`bidict._util._iteritems_args_kw`.
- Update to version 0.15.0
+ Speedups and memory usage improvements
- Use :ref:`slots` to speed up bidict attribute access and reduce memory usage.
On Python 3,
instantiating a large number of bidicts now uses ~57% the amount of memory
that it used before,
and on Python 2 only ~33% the amount of memory that it used before,
in a simple but representative
`benchmark `__.
- Use weakrefs to refer to a bidict\'s inverse internally,
no longer creating a strong reference cycle.
Memory for a bidict that you create can now be reclaimed
in CPython as soon as you no longer hold any references to it,
rather than having to wait for the next garbage collection.
See the new
:ref:`addendum:\\:attr\\:\\`~bidict.BidictBase.inv\\` Avoids Reference Cycles`
documentation.
Fixes `#24 `__.
- Make :func:`bidict.BidictBase.__eq__` significantly
more speed- and memory-efficient when comparing to
a non-:class:`dict` :class:`~collections.abc.Mapping`.
(``Mapping.__eq__()``\\\'s inefficient implementation will now never be used.)
The implementation is now more reusable as well.
- Make :func:`bidict.OrderedBidictBase.__iter__` as well as
equality comparison slightly faster for ordered bidicts.
+ Minor Bugfixes
- :func:`~bidict.namedbidict` now verifies that the provided
``keyname`` and ``valname`` are distinct,
raising :class:`ValueError` if they are equal.
- :func:`~bidict.namedbidict` now raises :class:`TypeError`
if the provided ``base_type``
is not a :class:`~bidict.BidirectionalMapping`.
- If you create a custom bidict subclass whose ``_fwdm_cls``
differs from its ``_invm_cls``
(as in the ``FwdKeySortedBidict`` example
from the :ref:`extending:Sorted Bidict Recipes`),
the inverse bidirectional mapping type
(with ``_fwdm_cls`` and ``_invm_cls`` swapped)
is now correctly computed and used automatically
for your custom bidict\'s
:attr:`~bidict.BidictBase.inv` bidict.
+ Miscellaneous
- Classes no longer have to provide an ``__inverted__``
attribute to be considered virtual subclasses of
:class:`~bidict.BidirectionalMapping`.
- If :func:`bidict.inverted` is passed
an object with an ``__inverted__`` attribute,
it now ensures it is :func:`callable`
before returning the result of calling it.
- :func:`~bidict.BidictBase.__repr__` no longer checks for a ``__reversed__``
method to determine whether to use an ordered or unordered-style repr.
It now calls the new :func:`~bidict.BidictBase.__repr_delegate__` instead
(which may be overridden if needed), for better composability.
+ Minor Breaking API Changes
- Split back out the :class:`~bidict.BidictBase` class
from :class:`~bidict.frozenbidict`
and :class:`~bidict.OrderedBidictBase`
from :class:`~bidict.FrozenOrderedBidict`,
reverting the merging of these in 0.14.0.
Having e.g. ``issubclass(bidict, frozenbidict) == True`` was confusing,
so this change restores ``issubclass(bidict, frozenbidict) == False``.
- Rename:
> ``bidict.BidictBase.fwdm`` → ``._fwdm``
> ``bidict.BidictBase.invm`` → ``._invm``
> ``bidict.BidictBase.fwd_cls`` → ``._fwdm_cls``
> ``bidict.BidictBase.inv_cls`` → ``._invm_cls``
> ``bidict.BidictBase.isinv`` → ``._isinv``
Though overriding ``_fwdm_cls`` and ``_invm_cls`` remains supported
(see :doc:`extending`),
this is not a common enough use case to warrant public names.
Most users do not need to know or care about any of these.
- The :attr:`~bidict.RAISE`,
:attr:`~bidict.OVERWRITE`, and
:attr:`~bidict.IGNORE`
duplication policies are no longer available as attributes of
:class:`bidict.DuplicationPolicy`,
and can now only be accessed as attributes of
the :mod:`bidict` module namespace,
which was the canonical way to refer to them anyway.
It is now no longer possible to create an infinite chain like
``DuplicationPolicy.RAISE.RAISE.RAISE...``
- Make ``bidict.pairs()`` and :func:`bidict.inverted`
no longer importable from ``bidict.util``,
and now only importable from the top-level :mod:`bidict` module.
(``bidict.util`` was renamed ``bidict._util``.)
- Pickling ordered bidicts now requires
at least version 2 of the pickle protocol.
If you are using Python 3,
:attr:`pickle.DEFAULT_PROTOCOL` is 3 anyway,
so this will not affect you.
However if you are using in Python 2,
:attr:`~pickle.DEFAULT_PROTOCOL` is 0,
so you must now explicitly specify the version
in your :func:`pickle.dumps` calls,
e.g. ``pickle.dumps(ob, 2)``.
- Update to version 0.14.2
- Make initializing (or updating an empty bidict) from only another
:class:`~bidict.BidirectionalMapping`
more efficient by skipping unnecessary duplication checking.
- Fix accidental ignoring of specified ``base_type`` argument
when (un)pickling a :func:`~bidict.namedbidict`.
- Fix incorrect inversion of
``some_named_bidict.inv._for`` and
``some_named_bidict.inv._for``.
- Only warn when an unsupported Python version is detected
(e.g. Python < 2.7) rather than raising :class:`AssertionError`.
- Update to version 0.14.1
- Fix a bug introduced in 0.14.0 where hashing a
:class:`~bidict.frozenbidict`\\’s inverse
(e.g. ``f = frozenbidict(); {f.inv: \'...\'}``)
would cause an ``AttributeError``.
- Fix a bug introduced in 0.14.0 for Python 2 users
where attempting to call ``viewitems()``
would cause a ``TypeError``.
Thanks Richard Sanger for
`reporting `__.
- Update to version 0.14.0 (2017-11-20)
- Fix a bug where :class:`~bidict.bidict`\\’s
default
*on_dup_kv
* policy was set to :attr:`~bidict.RAISE`,
rather than matching whatever
*on_dup_val
* policy was in effect
as was :ref:`documented `.
- Fix a bug that could happen when using Python\'s optimization (``-O``) flag
that could leave an ordered bidict in an inconsistent state
when dealing with duplicated, overwritten keys or values.
If you do not use optimizations
(specifically, skipping ``assert`` statements),
this would not have affected you.
- Fix a bug introduced by the optimizations in 0.13.0 that could cause
a frozen bidict that compared equal to another mapping
to have a different hash value from the other mapping,
violating Python\'s object model.
This would only have affected you if you were inserting a
frozen bidict and some other immutable mapping that it compared equal to
into the same set or mapping.
- Add :meth:`~bidict.OrderedBidictBase.equals_order_sensitive`.
- Reduce the memory usage of ordered bidicts.
- Make copying of ordered bidicts faster.
- Improvements to tests and CI, including:
> Test on Windows
> Test with PyPy3
> Test with CPython 3.7-dev
> Test with optimization flags
> Require pylint to pass
+ Breaking API Changes
- Rename:
> ``orderedbidict`` → :class:`~bidict.OrderedBidict`
> ``frozenorderedbidict`` → :class:`~bidict.FrozenOrderedBidict`
so that these now match the case of :class:`collections.OrderedDict`.
- The names of the
:class:`~bidict.bidict`,
:func:`~bidict.namedbidict`, and
:class:`~bidict.frozenbidict` classes
have been retained as all-lowercase
so that they continue to match the case of
:class:`dict`, :func:`~collections.namedtuple`, and
:class:`frozenset`, respectively.
- The ``ON_DUP_VAL`` duplication policy value for
*on_dup_kv
* has been removed.
Use ``None`` instead.
- Merge :class:`~bidict.frozenbidict` and ``BidictBase``
together and remove ``BidictBase``.
:class:`~bidict.frozenbidict`
is now the concrete base class that all other bidict types derive from.
See the updated :ref:`other-bidict-types:Bidict Types Diagram`.
- Merge :class:`~bidict.frozenbidict` and ``FrozenBidictBase``
together and remove ``FrozenBidictBase``.
See the updated :ref:`other-bidict-types:Bidict Types Diagram`.
- Merge ``frozenorderedbidict`` and ``OrderedBidictBase`` together
into a single :class:`~bidict.FrozenOrderedBidict`
class and remove ``OrderedBidictBase``.
:class:`~bidict.OrderedBidict` now extends
:class:`~bidict.FrozenOrderedBidict`
to add mutable behavior.
See the updated :ref:`other-bidict-types:Bidict Types Diagram`.
- Make :meth:`~bidict.OrderedBidictBase.__eq__`
always perform an order-insensitive equality test,
even if the other mapping is ordered.
Previously,
:meth:`~bidict.OrderedBidictBase.__eq__`
was only order-sensitive for other ``OrderedBidictBase`` subclasses,
and order-insensitive otherwise.
Use the new :meth:`~bidict.OrderedBidictBase.equals_order_sensitive`
method for order-sensitive equality comparison.
- ``orderedbidict._should_compare_order_sensitive()`` has been removed.
- ``frozenorderedbidict._HASH_NITEMS_MAX`` has been removed.
Since its hash value must be computed from all contained items
(so that hash results are consistent with
equality comparisons against unordered mappings),
the number of items that influence the hash value should not be limitable.
- ``frozenbidict._USE_ITEMSVIEW_HASH`` has been removed, and
``frozenbidict.compute_hash()``
now uses ``collections.ItemsView._hash()`` to compute the hash always,
not just when running on PyPy.
Override ``frozenbidict.compute_hash()``
to return ``hash(frozenset(iteritems(self)))``
if you prefer the old default behavior on CPython,
which takes linear rather than constant space,
but which uses the ``frozenset_hash`` routine
(implemented in ``setobject.c``)
rather than the pure Python ``ItemsView._hash()`` routine.
- ``loosebidict`` and ``looseorderedbidict`` have been removed.
A simple recipe to implement equivalents yourself is now given in
:ref:`extending:OverwritingBidict Recipe`.
- Rename ``FrozenBidictBase._compute_hash()`` →
``frozenbidict.compute_hash()``.
- Rename ``DuplicationBehavior`` →
:class:`~bidict.DuplicationPolicy`.
- Rename:
> ``bidict.BidictBase._fwd_class`` → ``.fwd_cls``
> ``bidict.BidictBase._inv_class`` → ``.inv_cls``
> ``bidict.BidictBase._on_dup_key`` → :attr:`~bidict.BidictBase.on_dup_key`
> ``bidict.BidictBase._on_dup_val`` → :attr:`~bidict.BidictBase.on_dup_val`
> ``bidict.BidictBase._on_dup_kv`` → :attr:`~bidict.BidictBase.on_dup_kv`
- Use license tag

Wed Oct 18 14:00:00 2017 toddrme2178AATTgmail.com
- Implement single-spec version
- Update to 0.13.1

* See changelog at https://bidict.readthedocs.io/en/v0.13.1/changelog.html

Sun Jun 14 14:00:00 2015 arunAATTgmx.de
- update to version 0.9.0:

* Add a Changelog! Also a Contributors\' Guide, Gitter chat room, and
other community-oriented improvements

* Adopt Pytest (thanks Tom Viner and Adopt Pytest Month)

* Add property-based tests via hypothesis

* Other code, tests, and docs improvements

Thu Mar 5 13:00:00 2015 toddrme2178AATTgmail.com
- Initial version


 
ICM