|
12 | 12 | import comm |
13 | 13 | from IPython.core import release |
14 | 14 | from IPython.utils.tokenutil import line_at_cursor, token_at_cursor |
15 | | -from traitlets import Any, Bool, Instance, List, Type, observe, observe_compat |
| 15 | +from traitlets import ( |
| 16 | + Any, |
| 17 | + Bool, |
| 18 | + HasTraits, |
| 19 | + Instance, |
| 20 | + List, |
| 21 | + Type, |
| 22 | + observe, |
| 23 | + observe_compat, |
| 24 | +) |
16 | 25 | from zmq.eventloop.zmqstream import ZMQStream |
17 | 26 |
|
18 | 27 | from .comm.comm import BaseComm |
| 28 | +from .comm.manager import CommManager |
19 | 29 | from .compiler import XCachingCompiler |
20 | 30 | from .debugger import Debugger, _is_debugpy_available |
21 | 31 | from .eventloops import _use_appnope |
|
40 | 50 | _EXPERIMENTAL_KEY_NAME = "_jupyter_types_experimental" |
41 | 51 |
|
42 | 52 |
|
43 | | -def create_comm(*args, **kwargs): |
| 53 | +def _create_comm(*args, **kwargs): |
44 | 54 | """Create a new Comm.""" |
45 | 55 | return BaseComm(*args, **kwargs) |
46 | 56 |
|
47 | 57 |
|
48 | | -comm.create_comm = create_comm |
| 58 | +def _get_comm_manager(*args, **kwargs): |
| 59 | + """Create a new CommManager.""" |
| 60 | + return CommManager(*args, **kwargs) |
| 61 | + |
| 62 | + |
| 63 | +comm.create_comm = _create_comm |
| 64 | +comm.get_comm_manager = _get_comm_manager |
49 | 65 |
|
50 | 66 |
|
51 | 67 | class IPythonKernel(KernelBase): |
@@ -112,6 +128,7 @@ def __init__(self, **kwargs): |
112 | 128 |
|
113 | 129 | self.comm_manager = comm.get_comm_manager() |
114 | 130 |
|
| 131 | + assert isinstance(self.comm_manager, HasTraits) |
115 | 132 | self.shell.configurables.append(self.comm_manager) |
116 | 133 | comm_msg_types = ["comm_open", "comm_msg", "comm_close"] |
117 | 134 | for msg_type in comm_msg_types: |
|
0 commit comments