typehints/stdlib/heapq.pyi (9 lines of code) (raw):

""" heap queue algorithm. Descriptions taken from: https://raw.githubusercontent.com/micropython/micropython/master/docs/library/heapq.rst. ==================================== .. module:: heapq :synopsis: heap queue algorithm |see_cpython_module| :mod:`python:heapq`. This module implements the `min heap queue algorithm <https://en.wikipedia.org/wiki/Heap_%28data_structure%29>`_. A heap queue is essentially a list that has its elements stored in such a way that the first item of the list is always the smallest. """ __author__ = "Howard C Lovatt" __copyright__ = "Howard C Lovatt, 2020 onwards." __license__ = "MIT https://opensource.org/licenses/MIT (as used by MicroPython)." __version__ = "7.3.0" # Version set by https://github.com/hlovatt/tag2ver from typing import TypeVar, Any, Final _T: Final = TypeVar("_T") def heappush(heap: list[_T], item: _T, /) -> None: """ Push the ``item`` onto the ``heap``. """ def heappop(heap: list[_T], /) -> _T: """ Pop the first item from the ``heap``, and return it. Raise ``IndexError`` if ``heap`` is empty. The returned item will be the smallest item in the ``heap``. """ def heapify(x: list[Any], /) -> None: """ Convert the list ``x`` into a heap. This is an in-place operation. """