sortedcontainers is a marvel - generally better than anything that came before or after it. Its author gave a PyCon talk on it about a decade ago:
Near the end, he expressed mixed feelings about folding it into the core. Yes, its absence is conspicuous by its absence, but he was skeptical that key design decisions could survive the seemingly endless bikeshedding that comes with any public design debate. His own decisions were driven by extensive testing and benchmarking, nothing about fashion or social maneuvering.
So it’s a kind of a poster child for a shift in core development: in the very early “batteries included” days, Guido woiuld have likely said “sure, fold it in!”. But now it’s an illustration of a repeated Catch-22: “Put irt on PyPI first” to demonstrate real demand. “Ah, it giot tremendous uptake on P:yPI - so no need to put into the core”.
Grant (Jenks - the author) appears to have moved on to other things. So I expect not8ng will change,.While licensing allows for it, there is no precedent for putting something into the core without the author’s active cooperation
The very capable and popular regex extension module is in a similar boat, but in that case I believe (but don’t know) that its author doesn’t want to be tied to CPython’s release cycle and pretty elaborate workflows. Grant appears to be more put off by the low signal-to-noise ratio of the the public core design process.
Possible example: a predecessor of sortedcontainers had its version of sortedilst.pop() remove the first element of a list. To Grant “it was obvious” that it should remove the last element instead. So that’s what he did. In a public debate, it’s thoroughly predictable that someone would passionately argue to have two different methods to pick which, and someone else argue for an optional keyword argument to pick which. Some loon
may then go to on to argue that a module-level flag should control the default, and then a thread-level default, and then a context manager ,..,. these things can go on for years, In the meantime, Grant applied his time instead to researching and achieving factor-of-10 speedups in plausible large workloads,.There’s an art to knowing when to say “good enough!” and move on, which comes hard to purists To my eyes, Grant was exceptionally skilled at that (for example, there are reasons to imagine that a Fenwick tree may do better than a “Jenks index” at speeding indexing by position, but best I know that wasn’t explored},