A priority queue from the textbooks. Python implementation is surprinsigly not modern.
pip3 install prioheap
The API is dead simple:
import prioheap
prio = prioheap.PrioHeap()
prio.add(0) # add element
prio.add(3)
prio.peak() # return highest element, e.g. 3
prio.add(1)
prio.pop() # remove and return highest element, 3.
len(prio), bool(prio) # those are supported
iter(prio), list(prio) # iterate elements in decreasing order
To run the unit tests from the root of this repository:
python3 -m tests
License is Unlincense, so public domain.