Priority queue with unique items
This is a very simple Python class for creating priority queues which maintain unique copies of elements.
This is achieved by storing a separate set of elements that have been inserted and checking each time whether the new elements is in that set or not. An optional key parameter allows to specify a function that will be calculated on each element before checking it against the set.
put() will return True if the element was not present in the queue and False otherwise.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.