##// END OF EJS Templates
First step in reintegrating Jedi...
First step in reintegrating Jedi If Jedi is installed expose a private API use it with prompt toolkit. Jedi does not _yet_ provide all the completion IPython has, so this is still a bit awkward. In order to debug this (and see what is Jedi provided we for now inject a fake Jedi/IPython delimiter in the menu. Jedi completion and this behavior are enabled by default, but could likely be opt-in. Add also a number of debug flags to be able to track why jedi is not working, and/or what completions are found by IPython and not Jedi. That should give us a bit of heads up and feedback to know whether we can remove part of the IPython completer, and more especially if we can drop `python_matches`. Once `python_matches` is dropped and some other of the current matchers are either dropped or converted to the new API, that should simplify the internal quite a bit. That would just be too much for an already BIG pull-request.

File last commit:

r21515:2c9013e4
r23284:3ff1be2e
Show More
__init__.py
35 lines | 1.1 KiB | text/x-python | PythonLexer
Min RK
shims for jupyter_client
r20952 """
Min RK
finish kernel shims
r20956 Shim to maintain backwards compatibility with old IPython.kernel imports.
"""
Min RK
shims for jupyter_client
r20952 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import sys
from warnings import warn
Min RK
add ShimWarning for shimmed imports...
r21515 from IPython.utils.shimmodule import ShimModule, ShimWarning
Min RK
shims for jupyter_client
r20952
Min RK
add ShimWarning for shimmed imports...
r21515 warn("The `IPython.kernel` package has been deprecated. "
"You should import from ipykernel or jupyter_client instead.", ShimWarning)
Min RK
shims for jupyter_client
r20952
Min RK
remove ipython_kernel.zmq sub-pkg
r20957 # zmq subdir is gone
Min RK
add import hook for shim packages...
r20990 sys.modules['IPython.kernel.zmq.session'] = ShimModule(
src='IPython.kernel.zmq.session', mirror='jupyter_client.session')
sys.modules['IPython.kernel.zmq'] = ShimModule(
Min RK
ipython_kernel is now ipykernel
r21337 src='IPython.kernel.zmq', mirror='ipykernel')
Min RK
shims for jupyter_client
r20952
Min RK
kernel.resources isn't a package
r20958 for pkg in ('comm', 'inprocess'):
Min RK
add import hook for shim packages...
r20990 src = 'IPython.kernel.%s' % pkg
Min RK
ipython_kernel is now ipykernel
r21337 sys.modules[src] = ShimModule(src=src, mirror='ipykernel.%s' % pkg)
Min RK
remove ipython_kernel.zmq sub-pkg
r20957
Min RK
finish kernel shims
r20956 for pkg in ('ioloop', 'blocking'):
Min RK
add import hook for shim packages...
r20990 src = 'IPython.kernel.%s' % pkg
sys.modules[src] = ShimModule(src=src, mirror='jupyter_client.%s' % pkg)
Min RK
shims for jupyter_client
r20952
Min RK
finish kernel shims
r20956 # required for `from IPython.kernel import PKG`
Min RK
ipython_kernel is now ipykernel
r21337 from ipykernel import comm, inprocess
Min RK
finish kernel shims
r20956 from jupyter_client import ioloop, blocking
# public API
Min RK
ipython_kernel is now ipykernel
r21337 from ipykernel.connect import *
Min RK
finish kernel shims
r20956 from jupyter_client import *