[Python-ideas] Possible enhancement to typing
sf at fermigier.com
Tue Nov 7 01:36:35 EST 2017
On Tue, Nov 7, 2017 at 2:58 AM, Guido van Rossum <guido at python.org> wrote:
> On Mon, Nov 6, 2017 at 2:34 AM, Stéfane Fermigier <sf at fermigier.com>
>> 4) 10 years ago, when I was working on the EDOS project (
>> s-project-story_en.pdf ), I ran a small experiment where I used, IIRC,
>> the profile hook to intercept all function / method calls, and log
>> information about arguments and return value types to a gigantic log file.
>> Then the log file could be parsed and these information used to suggest
>> type annotations. Except there were no type annotations at the time in
>> I know PyCharm can do a similar thing now: you run your program or your
>> tests under the debugger, it logs runtime type information somewhere, and
>> then can use it to suggest autocompletion or maybe type annotations.
> I didn't know this. Do you know where there are docs for this feature?
This was described in this blog post when first introduced:
And more tersely, in the documentation:
a) record runtime type information from test or regular runs
>> b) massage these information and use them to annotate Python code with
>> additional type information (up to the developer to then accept or not the
>> proposed changes)
> We have an early version of a tool that does this at Dropbox; I am
> planning to open-source it by the end of this year. So far the experience
> is that the annotations require a fair amount of manual cleanup though.
That would be great !
Stefane Fermigier - http://fermigier.com/ - http://twitter.com/sfermigier -
Founder & CEO, Abilian - Enterprise Social Software -
Chairman, Free&OSS Group / Systematic Cluster -
Co-Chairman, National Council for Free & Open Source Software (CNLL) -
Founder & Organiser, PyData Paris - http://pydata.fr/
“You never change things by ﬁghting the existing reality. To change
something, build a new model that makes the existing model obsolete.” — R.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-ideas