On Tue, Nov 7, 2017 at 2:58 AM, Guido van Rossum <gu...@python.org> wrote:
> On Mon, Nov 6, 2017 at 2:34 AM, Stéfane Fermigier <s...@fermigier.com> > wrote: > >> 4) 10 years ago, when I was working on the EDOS project ( >> http://cordis.europa.eu/pub/ist/docs/directorate_d/st-ds/edo >> 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 >> Python. >> >> 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: https://blog.jetbrains.com/pycharm/2013/02/dynamic-runtime-type-inference-in-pycharm-2-7/ And more tersely, in the documentation: https://www.jetbrains.com/help/pycharm/python-debugger.html 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 ! S. -- Stefane Fermigier - http://fermigier.com/ - http://twitter.com/sfermigier - http://linkedin.com/in/sfermigier Founder & CEO, Abilian - Enterprise Social Software - http://www.abilian.com/ Chairman, Free&OSS Group / Systematic Cluster - http://www.gt-logiciel-libre.org/ Co-Chairman, National Council for Free & Open Source Software (CNLL) - http://cnll.fr/ Founder & Organiser, PyData Paris - http://pydata.fr/ --- “You never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete.” — R. Buckminster Fuller
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/