Releases: nvictus/pqdict
Releases · nvictus/pqdict
v1.4.1
This release does not change any runtime behavior but updates type annotations and the build backend.
Maintenance
- Modernized type annotations
- Switch to hatchling build system
importlib.metadatafor version retrieval: theimportlib_metadatabackport module is now a dependency in Python 3.7.- Add timing script for benchmarking
Development
napoleonfor numpydoc renderinguvfor project management
Full Changelog: v1.4.0...v1.4.1
v1.4.0
What's Changed
- The deprecated module-level
minpqandmaxpqhave been removed in favor of same-named classmethods introduced in v1.3.0 (#24) - Introduce a distinct
Emptyexception for operations that attempt to remove items from an empty pqdict, instead of raising aKeyError. (Note thatEmptyis derived fromKeyErrorfor subclass compatibility withMapping.popitemandMapping.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
popvaluemethod to mirror recenttopvalueaddition. - Added
defaultargument totopand support fordefaultusingpopwith 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:
minpqandmaxpqmodule-level functions are deprecated in favor ofpqdictclassmethods and will be removed in v1.4