MNT: re-enable jedi completion for environments that use newer IPython builds#404
MNT: re-enable jedi completion for environments that use newer IPython builds#404ZLLentz merged 4 commits intopcdshub:masterfrom
Conversation
ipy completer api is too unstable to bother, and this test didn't even catch our issue last time
|
Any time we mess with ipython autocompletion I am filled with fear. It does look like jedi's been subject to quite a few changes over the last few ipython versions. I'll take this for a ride in lieu of digging through source/release notes. |
|
Downgrading to a pcds-conda that uses old ipython doesn't work to test, since there were some breaking changes with distutils #403. I tried running current master on pcds-6.1.0 and autocompletion still seemed to work for me. Maybe I'm not reproducing this correctly?... Other than that the code looks good to me. |
Specifically, |
|
I tried this, but maybe I did it wrong 🤔 Indeed I did, I didn't realize it was only an issue with nested tab complete. |
tangkong
left a comment
There was a problem hiding this comment.
Looks good to me in my testing as well
|
I think the important thing is that the jedi performance in ipython is much better now with our objects due to some of the other changes that they made, and using the mode that is clearly tested more often is preferrable for us |
Description
See title
Motivation and Context
The default completer for IPython is Jedi, but we had disabled it because it inspects the types of properties by evaluating the code, which can cause large slowdowns. In newer version of IPython, this is no longer the case: property evaluation is not done as part of tab completion by default (you can turn it on).
In our deployed version of IPython, we're seeing some weird behavior for autocompletion, which is not present if we re-enable jedi.
https://jira.slac.stanford.edu/browse/ECS-10047
How Has This Been Tested?
Interactively only
I've ended up disabling/skipping one test in the suite, for a few reasons:
Where Has This Been Documented?
It will only be in the release notes
Pre-merge checklist
docs/pre-release-notes.shand created a pre-release documentation page