I have read the topic What do I use for a max-heap implementation in Python? that has been viewed more than 74k times as of today (meaning that many people came across the same issue) and I've been wondering what is the reason for not implementing max heap data type in the Python Standard Library? Negating or inverting the values and keeping them in min heap looks to me very ugly and introduces unnecessary overhead (we need to take care of applying the transformation ourselves twice).
Edit: As pointed by @Boris this issue has been already raised in enhancement request 27295 and rejected, in 2016. Here is Raymond Hettinger's justification:
Sorry James, we don't grow the APIs without sufficient demonstrated need; otherwise, we end-up with API sprawl. People with actual use cases haven't requested behavior (and the occasional one-off gets by negating the numeric argument). That is why the maxheap functions were intentionally made private.
FWIW, this module is very old and the core functions have long proven themselves sufficient to meet their use cases (like being used in an event loop to efficiently select the next scheduled event).