There is some beauty in the fact that my oldest #Python project `first` is still in the top 1% of PyPI. The last release was six years ago, I don’t expect another one ever again, and yet its functionality never made it into the standard library due to gatekeeping.
@hynek What kind of gatekeeping they practice?
@via4 There’s this running gag of https://docs.python.org/3/library/itertools.html being mostly great at showing what functions itertools COULD contain. It’s a turf thing and that’s all I’ll say on that topic.
@djh @lig @hynek I feel conflicted about it, on one hand I like minimalism, and it's easier to just be able to remember everything a lib can do, so you immediately know what is there and what you have to implement/import. On the other hand, it is kind of annoying to copy the same stuff over from project to project, first() being maybe one of the top examples
@via4 @djh @lig there's always a tension which batteries should be included and which not and everybody wants to be minimalistic as long it covers their minimal needs I feel like iteration tools that help you write better and more idiomatic code and that are easy to get wrong should be a prime group tho
@hynek @via4 @djh
Well, there are two questions here: what should be included in a library according to its purpose? And what should be included as a battery in a standard library?
Personally, I'd like to see much less in Python's stdlib than there's now. However, regarding iteration tools I'd rather agree that they should be an integral part of a language and they are in several other languages.
@hynek they couldn't have resisted if you just called it coalesce() :)
@hynek this is amazing! next(…, None) is so terrible… the lack of modern/ergonomic collections functions in python is one of the first things you notice coming from another language… would love to see more movement here…
@carlton I’m more of a boltons guy but I still wish basic functions like this wouldn’t have to live all over PyPI
@hynek ah, I hadn’t seen that, thanks!
https://boltons.readthedocs.io/en/latest/
Agreed: I’m in club refreshed batteries — that’s always a difficult (impossible?) conversation though.
@coderanger @carlton @hynek oh is the module called util or utils, or even utilities, functions, helpers, base, contrib
@hvdklauw @coderanger @carlton @hynek I can’t BELIEVE you forgot “tools”/“tooling”! (Well, ok, I can, )