One potential issue with this approach just occurred to me. I apologise if my thinking on this is wrong.
Say a project implements __getitem__ with the signature __getitem__(self, index, **kwargs) Doesn't that mean that a "index" will not be an allowable index label, and that this conflict will depend on knowing the particular implementation details of the dunder methods? On Mon, Aug 3, 2020, 13:43 Guido van Rossum <gu...@python.org> wrote: > I haven't agreed to anything. Though last time I thought about this I was > in favor of Steven D'Aprano's idea of translating `x[1, 2, p=3, q=4]` into > `x.__getitem__((1, 2), p=3, q=4)`. What the dict class's `__getitem__` > would do with that is a different issue -- probably it would be an error. > > On Mon, Aug 3, 2020 at 10:32 AM Todd <toddr...@gmail.com> wrote: > >> On Mon, Aug 3, 2020, 13:11 Jonathan Fine <jfine2...@gmail.com> wrote: >> >>> SUMMARY: >>> Some news. I've just published https://pypi.org/project/kwkey/0.0.1/. >>> >>> This package is about PEP 472 -- Support for indexing with keyword >>> arguments >>> See: https://www.python.org/dev/peps/pep-0472/ >>> >>> As a result, I think we're now in a good position to try this idea out, >>> using present day Python. This includes building some clients that can use >>> the new feature, should it become available. It also includes exploring the >>> design of the API. >>> >>> The crucial idea is writing >>> >>> from kwkeys import o >>> >>> d[o(1, 2, a=3, b=4)] >>> as a stopgap, until >>> >>> d[1, 2, a=3, b=4] >>> is available. >>> >>> If you're interested, please do try it out. >>> >>> IN MORE DETAIL: >>> >>> On 3 May 2020, Andras Tontas reopened discussion of the PEP. This PEP >>> was created in June 2014, and closed in March 2019, due to lack of interest. >>> See: https://mail.python.org/pipermail/python-dev/2019-March/156693.html >>> >>> This time round, things went better. On 16 July, Guido wrote (substitute >>> PEP for PRP) >>> >>> I think it’s a reasonable idea and encourage you to start working on a >>>> design for the API and then a PRP. It would help if someone looked into >>>> a >>>> prototype implementation as well (once a design has been settled on). >>> >>> See: >>> https://mail.python.org/archives/list/python-ideas@python.org/message/7MHQYEOGFF764ZSME76UCMAFGPB2PR22/ >>> >>> Later on 16 July, I wrote >>> >>>> I'll now state some goals. >>>> >>> >>> >>>> 1. Define 'o' and Protocol so that NOW gives the semantics you wish for. >>>> 2. Extend Python so that FUTURE give the semantics you wish for. >>>> 3. And the NOW syntax continues to work as expected (without changing >>>> 'o' and Protocol). >>>> 4. And all current use of container[key] continues to work as before. >>>> >>> >>> >>>> I believe that it is possible to achieve these goals. My previous posts >>>> to this discussion outline some of the key ideas. My next step, when I have >>>> time, is to implement and publish general purpose code for the NOW part of >>>> this list of goals. >>> >>> See: >>> https://mail.python.org/archives/list/python-ideas@python.org/message/3IWL42XYUVODDVTPXF7EKXF6NE4JCRTV/ >>> >>> On 18 July I wrote that by the end of July I would implement and publish >>> general purpose code for the NOW part of these goals >>> See: >>> https://mail.python.org/archives/list/python-ideas@python.org/message/YW3JXKKSNIFII7PDNTYEOKUR3FIAFINW/ >>> >>> Earlier today, 3 days overdue, I fulfilled my commitment. I hope it >>> helps some of you, and does no harm to others. >>> -- >>> Jonathan >>> >> >> >> Do we have an agreement on the API as Guido requested? From my >> understanding, and please correct me if I am wrong, you are still talking >> about implementing this using a new class. However, most people who >> support the use of labelled indexing.and expressed an opinion support a >> keyword argument-based approach. >> _______________________________________________ >> Python-ideas mailing list -- python-ideas@python.org >> To unsubscribe send an email to python-ideas-le...@python.org >> https://mail.python.org/mailman3/lists/python-ideas.python.org/ >> Message archived at >> https://mail.python.org/archives/list/python-ideas@python.org/message/VCFLB4RPZ2HERAXKCRAJYITKQTWUOIYO/ >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > > > -- > --Guido van Rossum (python.org/~guido) > *Pronouns: he/him **(why is my pronoun here?)* > <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/> >
_______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/VHWCBM74Y5FQ2BOOZZJ5KMJHXQKA7F7S/ Code of Conduct: http://python.org/psf/codeofconduct/