⬆️ Update dependency bidict
to >=0.23.1
#68
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
>=0.22.1
->>=0.23.1
Release Notes
jab/bidict (bidict)
v0.23.1
Compare Source
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
v0.23.0
Compare Source
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+.
Remove
FrozenOrderedBidict
now that Python 3.7 is no longer supported.:class:
~bidict.frozenbidict
now provides everythingthat
FrozenOrderedBidict
provided(including :class:
reversibility <collections.abc.Reversible>
)on all supported Python versions,
but with less space overhead.
Remove
namedbidict
due to low usage.Remove the
kv
field of :class:~bidict.OnDup
which specified the :class:
~bidict.OnDupAction
to takein the case of :ref:
basic-usage:key and value duplication
.The :attr:
~bidict.OnDup.val
field now specifies the action to takein the case of
:ref:
basic-usage:key and value duplication
as well as
:ref:
just value duplication <basic-usage:values must be unique>
.Improve type hints for the
:attr:
~bidict.BidictBase.inv
shortcut aliasfor :attr:
~bidict.BidictBase.inverse
.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 <https://github.com/python/typeshed/blob/3eb9ff/stdlib/_typeshed/__init__.pyi#L128-L131>
__objects that are not :class:
~collections.abc.Mapping
\sthe same way that
MutableMapping.update() <https://github.com/python/cpython/blob/v3.11.5/Lib/_collections_abc.py#L943>
__ 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 thanOrderedBidict([(1, 1)])
.(Accordingly, the
bidict.__repr_delegate__
field has been removednow that it's no longer needed.)
This tracks with the change to :class:
collections.OrderedDict
's :func:repr
in Python 3.12 <https://github.com/python/cpython/pull/101661>
__.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 <https://github.com/pypa/trove-classifiers>
__that declare support for specific Python versions in package metadata.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.