[IPython-dev] New Feature, feedback requested, IPython Jedi Completions

Matthias Bussonnier bussonniermatthias at gmail.com
Thu May 5 12:34:22 EDT 2016


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 <https://github.com/ipython/ipython/pull/9375>
[2] http://jedi.jedidjah.ch/en/latest/ <http://jedi.jedidjah.ch/en/latest/>
[3] https://github.com/liukelly <https://github.com/liukelly>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20160505/3bb0c260/attachment.html>


More information about the IPython-dev mailing list