History¶
v5.2.1¶
Bugfixes¶
Fixed issue when the defaults included the key ‘target’.
v5.2.0¶
Features¶
Added set_defaults function.
v5.1.1¶
No significant changes.
v5.1.0¶
Features¶
Fully typed
RangeMapand avoid complete iterations to find matches (#16)
v5.0.1¶
Bugfixes¶
Delinting and package refresh.
v5.0.0¶
Features¶
Moved collections into a package and declared as typed.
Deprecations and Removals¶
Removed DictFilter.
v4.3.0¶
Features¶
Require Python 3.8 or later.
v4.2.0¶
Added Mask, the inverse of a Projection.
v4.1.0¶
Projection now accepts an iterable or callable or pattern
for matching keys.
Projection now retains order of keys from the underlying
mapping.
DictFilter is now deprecated in favor of Projection.
v4.0.0¶
DictFilter no longer accepts include_keys and requires
include_pattern as a keyword argument.
v3.11.0¶
In DictFilter, deprecated include_keys parameter and usage
without include_pattern. Future versions will honor
include_pattern as a required keyword argument. All other
uses are deprecated. For uses that currently rely on include_keys,
use Projection instead/in addition. For example, instead of:
filtered = DictFilter(orig, include_keys=['a'], include_pattern='b+')
Use:
filtered = DictFilter(Projection(['a'], orig), include_pattern='b+')
v3.10.0¶
In Projection, harmonize the implementation and optimize using
set instead of tuple.
v3.9.0¶
DictFilter.__len__ no longer relies on the iterable. Improves
efficiency and fixes RecursionError on PyPy (#12).
v3.8.0¶
Made DictStack mutable.
v3.7.0¶
Added RangeMap.left.
v3.6.0¶
Revised DictFilter:
Fixed issue where
DictFilter.__contains__would raise aKeyError.Relies heavily now on
collections.abc.Mappingbase class.
v3.5.2¶
Packaging refresh.
Enrolled with Tidelift.
v3.5.1¶
Fixed DictStack.__len__ and addressed recursion error on
PyPy in __getitem__.
v3.5.0¶
DictStack now supports the following Mapping behaviors:
.items()casting to a dict
__contains__(i.e. “x in stack”)
Require Python 3.7 or later.
v3.4.0¶
Add WeightedLookup.
v3.3.0¶
Add FreezableDefaultDict.
v3.2.0¶
Rely on PEP 420 for namespace package.
v3.1.0¶
Refreshed packaging. Dropped dependency on six.
v3.0.0¶
Require Python 3.6 or later.
2.1¶
Added pop_all function.
2.0¶
Switch to pkgutil namespace technique
for the jaraco namespace.
1.6.0¶
Fix DeprecationWarnings when referencing abstract base classes from collections module.
1.5.3¶
Refresh package metadata.
1.5.2¶
Fixed KeyError in BijectiveMap when a new value matched an existing key (but not the reverse). Now a ValueError is raised as intended.
1.5.1¶
Refresh packaging.
1.5¶
Added a Projection class providing a much simpler
interface than DictFilter.
1.4.1¶
#3: Fixed less-than-equal and greater-than-equal comparisons
in Least and Greatest.
1.4¶
Added Least and Greatest classes, instances of
which always compare lesser or greater than all other
objects.
1.3.2¶
Fixed failure of KeyTransformingDict to transform keys
on calls to .get.
1.3¶
Moved hosting to Github.
1.2.2¶
Restore Python 2.7 compatibility.
1.2¶
Add InstrumentedDict.
1.1¶
Conditionally require setup requirements.
1.0¶
Initial functionality taken from jaraco.util 10.8.