On Sun, 17 Apr 2022 19:00:45 -0700
Guido van Rossum <gu...@python.org> wrote:
> Is it not acceptable to create new functions that return non-named-tuple
> objects (e.g. dataclasses with slots)?

I'd advocate creating a single new function that provides more
structured access to that various information, like we did with
`inspect.signature()`.

We also don't have to formally deprecate the older APIs, just recommend
the new one in the docs.

Regards

Antoine.



> Otherwise the way the stats result
> tuple works is a reasonable approach (and possibly deprecate indexed
> access?)
> 
> On Sun, Apr 17, 2022 at 10:23 AM Pablo Galindo Salgado <pablog...@gmail.com>
> wrote:
> 
> > Hi,
> >
> > We are currently debating in gh-88116 (
> > https://github.com/python/cpython/issues/88116)
> > what's the best way forward to update the APIs in the inspect module to
> > include the new position information.
> >
> > These APIs are inspect.getframeinfo, inspect.getouterframes,
> > inspect.getinnerframes, inspect.stack and inspect.trace.
> >
> > The problem is that these APIs return a named tuple that now needs to
> > include several new attributes (or one 4 tuple for
> > the positions). Being named tuples, if we add a new attribute, existing
> > unpackings of the tuple will now fail because there
> > are more elements or the elements are in different positions. Also, it
> > will be quite weird to add the new attributes at the
> > end but leave the line number at the beginning.
> >
> > What's the best way to proceed here? The suggested way is to create a
> > namedtuple subclass that adds the extra attributes
> > but doesn't allow indexed access to it (there is a precedent to this in
> > how we handled updating os.stat_result). I personally
> > find this quite confusing but it certainly works. There may be other
> > options.
> >
> > What do you think?
> >
> > Cheers from sunny London,
> > Pablo Galindo Salgado
> > _______________________________________________
> > Python-Dev mailing list -- python-dev@python.org
> > To unsubscribe send an email to python-dev-le...@python.org
> > https://mail.python.org/mailman3/lists/python-dev.python.org/
> > Message archived at
> > https://mail.python.org/archives/list/python-dev@python.org/message/RTGG637WWPOWUHUF6TRJYUSBYYSVUPRA/
> > Code of Conduct: http://python.org/psf/codeofconduct/
> >  
> 
> 



_______________________________________________
Python-Dev mailing list -- python-dev@python.org
To unsubscribe send an email to python-dev-le...@python.org
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/python-dev@python.org/message/FNEUYHG6O7XM6N5NQMNXG7IL2PCEYIEI/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to