Releases: nvictus/pqdict
Releases · nvictus/pqdict
v1.4.0
What's Changed
- The deprecated module-level
minpq
andmaxpq
have been removed in favor of same-named classmethods introduced in v1.3.0 (#24) - Introduce a distinct
Empty
exception for operations that attempt to remove items from an empty pqdict, instead of raising aKeyError
. (Note thatEmpty
is derived fromKeyError
for subclass compatibility withMapping.popitem
andMapping.clear
.) (#24) - Make internal heap nodes immutable and fast copy as originally proposed by @palkeo in #14
Maintenance
- Factored out indexed heap operations to reduce redundancy
- Better docstrings and type annotations
Full Changelog: v1.3.0...v1.4.0
v1.3.0
This minor release drops support for Python versions <3.7
In turn, we now provide full static type annotations and have migrated to modern package build tools.
New features:
- Added
popvalue
method to mirror recenttopvalue
addition. - Added
default
argument totop
and support fordefault
usingpop
with PQ semantics. If given, this value is returned when the collection is empty.
Maintenance:
- Dropped support for Python 2.7, 3.4, 3.5, and 3.6 (#22).
- Inlined type annotations and removed stub file. Thanks for advice from @aqeelat.
- Migrate to pyproject.toml
- Linting and static type checking in CI
Deprecations:
minpq
andmaxpq
module-level functions are deprecated in favor ofpqdict
classmethods and will be removed in v1.4