[IPython-dev] New Feature, feedback requested, IPython Jedi Completions
Brian Granger
ellisonbg at gmail.com
Mon May 23 10:40:04 EDT 2016
Thanks for the summary! I will keep using it to help find problems.
On Fri, May 20, 2016 at 7:47 PM, Matthias Bussonnier
<bussonniermatthias at gmail.com> wrote:
> Hi Brian, yes:
>
> https://github.com/ipython/ipython/issues/9460 (crash IPython on tab completion)
> https://github.com/ipython/ipython/issues/9458 ( `[x for x in n<tab>
> if condition]` -> garbage, can't complete in middle of line)
> https://github.com/ipython/ipython/issues/9442 (need to type 2 letters
> of a token to actually complete)
> https://github.com/ipython/ipython/issues/9402 (ipython foo.py >
> foo.out ; crash ipython)
>
> Plus a few personal communication I got from users frustrated that
> couldn't get work done, and things like
>
> `from foo.bar import a_thi<tab>` -> `from foo.bar importort
> fromfoo.barfoo a_thing`
>
> You can look at the list of issue on github:
>
> https://github.com/ipython/ipython/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen+jedi
>
>
> More generally I think we can make a much better integration with jedi
> if we update the IPython completion machinery instead of bolting jedi
> on the side. And we can likely iron af ew of jedi quirk with the
> `Interpreter` completer, that report each completion as being a module
> for example.
>
> If you really don't suffer from any of above issues it should be
> pretty straitforward to implement the reverted code as a custom
> completer.
>
> Cheers,
> --
> M
>
> On Fri, May 20, 2016 at 7:11 PM, Brian Granger <ellisonbg at gmail.com> wrote:
>> I was enjoying the new completions in ipython. Can you outline what
>> undesired side effects there were. I am fine reverting for 5.0, just
>> curious.
>>
>> On Fri, May 20, 2016 at 4:04 PM, Matthias Bussonnier
>> <bussonniermatthias at gmail.com> wrote:
>>> So small update,
>>>
>>> Integrating with jedi completion had a few undesired side-effect, well
>>> roll back the integration for 5.0 and rework it for 6.0.
>>> So no jedi for now...
>>>
>>> Still for it was a nice experience and the integration in 6.0 should
>>> improve completion a lot.
>>>
>>> Thanks !
>>> --
>>> M
>>>
>>> On Thu, May 5, 2016 at 9:39 AM, Brian Granger <ellisonbg at gmail.com> wrote:
>>>> Awesome!!!
>>>>
>>>> On Thu, May 5, 2016 at 9:34 AM, Matthias Bussonnier
>>>> <bussonniermatthias at gmail.com> wrote:
>>>>> Hello List,
>>>>>
>>>>> A few minutes ago we merged a PR[1] adding jedi[2] integration to IPython,
>>>>> this make the IPython completer a bit smarter,
>>>>> as it now knows about situation like:
>>>>>
>>>>> In[1]: ('je'+'di').upper().<tab>
>>>>>
>>>>> Where it will infer that you are actually calling a method on a string,
>>>>> which before was requiring setting `IPCompleter.greedy` to `true`
>>>>> which has the drawback of evaluating your code with its side effects.
>>>>>
>>>>> Though, the API Jedi provide and API IPython expect are slightly different,
>>>>> we did our best to adapt the two, still I would expect
>>>>> a few edge cases to appear where the result of the completion might be
>>>>> wrong.
>>>>>
>>>>> We would appreciate if you could look out for these cases, and report any
>>>>> completion that misbehave.
>>>>> This will likely affect both IPython when using the notebook, and the plain
>>>>> IPython terminal.
>>>>>
>>>>> Enjoy pressing the "weaponized" tab key even more, and kudos to @liukelly
>>>>> [3] for her work
>>>>>
>>>>> Thanks,
>>>>>
>>>>> --
>>>>> Matthias
>>>>>
>>>>> Extra notes: Jedi appears as a mandatory dependency, but IPython should
>>>>> still work if Jedi is not importable.
>>>>> IPCompleter.use_jedi_completions=<Bool> config parameter can be use to
>>>>> deactivate jedi completions if they are by any chance annoying.
>>>>>
>>>>> [1] https://github.com/ipython/ipython/pull/9375
>>>>> [2] http://jedi.jedidjah.ch/en/latest/
>>>>> [3] https://github.com/liukelly
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> IPython-dev mailing list
>>>>> IPython-dev at scipy.org
>>>>> https://mail.scipy.org/mailman/listinfo/ipython-dev
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Brian E. Granger
>>>> Associate Professor of Physics and Data Science
>>>> Cal Poly State University, San Luis Obispo
>>>> @ellisonbg on Twitter and GitHub
>>>> bgranger at calpoly.edu and ellisonbg at gmail.com
>>>> _______________________________________________
>>>> IPython-dev mailing list
>>>> IPython-dev at scipy.org
>>>> https://mail.scipy.org/mailman/listinfo/ipython-dev
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> https://mail.scipy.org/mailman/listinfo/ipython-dev
>>
>>
>>
>> --
>> Brian E. Granger
>> Associate Professor of Physics and Data Science
>> Cal Poly State University, San Luis Obispo
>> @ellisonbg on Twitter and GitHub
>> bgranger at calpoly.edu and ellisonbg at gmail.com
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> https://mail.scipy.org/mailman/listinfo/ipython-dev
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> https://mail.scipy.org/mailman/listinfo/ipython-dev
--
Brian E. Granger
Associate Professor of Physics and Data Science
Cal Poly State University, San Luis Obispo
@ellisonbg on Twitter and GitHub
bgranger at calpoly.edu and ellisonbg at gmail.com
More information about the IPython-dev
mailing list