[Python-Dev] Use more Argument Clinic Annotations? (original) (raw)

Dave Halter davidhalter88 at gmail.com
Sun Mar 25 08:36:17 EDT 2018


Hi Python Devs

I recently started testing Jedi with Python 3.7. Some tests broke. I realized that one of the things that changed in 3.7 was the use of argument clinic in methods like str.replace.

The issue is that the text signature doesn't contain a return annotation.

str.replace.textsignature '($self, old, new, count=-1, /)

In Python < 3.7 there was a S.replace(old, new[, count]) -> str at the top of the doc. T

If the text_signature was '($self, old, new, count=-1, /) -> str a lot of tools would be able to have the information again.

Is this intentional or was this just forgotten? I'd like to note that this information is insanely helpful (at least for Jedi) to pick up type information. I really hope this information can make it back into 3.7, since it was there in earlier versions.

If you lack don't have time I might have some. Just give me some instructions.

~ Dave

PS: Don't get me wrong, I love argument clinic/inspect.signature and am generally in favor of using it everywhere. It helps tools like jedi, pycharm and others get accurate information about a builtin function.



More information about the Python-Dev mailing list