On Sat, Aug 15, 2020 at 10:00 PM Steven D'Aprano firstname.lastname@example.org wrote:
On Sat, Aug 15, 2020 at 08:26:10PM -0700, Guido van Rossum wrote:
Are you saying that for xarray it is important to distinguish between `d[day=3, detector=4]` and `d[detector=4, day=3]`? If we just passed the keyword args to `__getitem__` as an extra `**kwds` argument (which preserves order, since Python 3.6 at least), that should work, right? If not, can you clarify?
Just to clarify here, I assume you mean that if xarray cares about order-preserving keywords, they should write their methods this way:
def __getitem__(self, index=None, **kwargs):
rather than mandating that keyword args are *always* bundled into a single dict parameter.
Um, I'm not sure what "bundled into a single dict parameter" refers to.
That the signature would be ``` def __getitem__(self, index, kwargs, /): ``` ? That sounds bad for people who want to use a few choice keywords. (And I think you'd be against that, for that very reason; as am I.)
Or Jonathan Fine's proposal to create a "Key" class that bundles positional and keyword args? Same thing. (And I *know* you're against that. So am I.)