-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IPython tab-complete executes __get__ of all properties/facets #127
Comments
Thanks for the report. Would you mind posting some log output that you get? I don't have access to any instruments at the moment. If I recall correctly, I think we cache the output of |
At the moment I do not have access to any instruments with published drivers, but here is the log output for something I am currently working on (I trimmed it, but it goes through all the facets):
|
Yeah, this is unfortunate behavior, given how facets work. I'm not sure there's much we can do about this on the Instrumental end of things. Some of those threads claim that the reintroduction of jedi and a jedi bugfix resolved the issue, but the completion engine still runs Python: 3.8.5 |
Agreed, hopefully someone up stream makes a fix! Should I close this issue or leave it open? Funnily enough, I just noticed 'bilderbuchi' (a pymeasure developer) in the thread I linked to above. Looks like the issue is particulary annoying for instrument drivers :) |
I'd say leave it open. From what I can tell, it unfortunately looks like the issue was fixed, but later explicitly reverted (davidhalter/jedi#1063 (comment), davidhalter/jedi#1299). I understand why |
Happend to notice that tab-completion in IPython will get the value of all facets in an instrument instance. This appears to be somewhat expected behavior: ipython/ipython#9094. So far it is harmless, but it does spam the instrument with a lot of requests. I guess you wouldn't normally tab-complete enough for it to be a problem...
Steps to see the problem:
import logging
from instrumental.log import log_to_screen
log_to_screen(level=logging.DEBUG
myinst.
<TAB>
The text was updated successfully, but these errors were encountered: