Overview

Request 1005757 accepted

- 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

Request History
Dirk Mueller's avatar

dirkmueller created request

- 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


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Staging Bot's avatar

staging-bot added as a reviewer

Being evaluated by staging project "openSUSE:Factory:Staging:adi:34"


Staging Bot's avatar

staging-bot accepted review

Picked "openSUSE:Factory:Staging:adi:34"


Saul Goodman's avatar

licensedigger accepted review

The legal review is accepted preliminary. The package may require actions later on.


Dominique Leuenberger's avatar

dimstar accepted review


Dominique Leuenberger's avatar

dimstar_suse accepted review

Staging Project openSUSE:Factory:Staging:adi:34 got accepted.


Dominique Leuenberger's avatar

dimstar_suse approved review

Staging Project openSUSE:Factory:Staging:adi:34 got accepted.


Dominique Leuenberger's avatar

dimstar_suse accepted request

Staging Project openSUSE:Factory:Staging:adi:34 got accepted.

openSUSE Build Service is sponsored by