@@ -42,7 +42,7 @@ def publish_msg(self, msg_type, data=None, metadata=None, buffers=None, **keys):
4242
4343
4444# but for backwards compatibility, we need to inherit from LoggingConfigurable
45- class Comm (traitlets .config .LoggingConfigurable , BaseComm ):
45+ class Comm (BaseComm , traitlets .config .LoggingConfigurable ):
4646 """Class for communicating between a Frontend and a Kernel"""
4747
4848 kernel = Instance ("ipykernel.kernelbase.Kernel" , allow_none = True ) # type:ignore[assignment]
@@ -68,12 +68,16 @@ def _default_kernel(self):
6868 def _default_comm_id (self ):
6969 return uuid .uuid4 ().hex
7070
71- def __init__ (self , * args , ** kwargs ):
72- # Comm takes positional arguments, LoggingConfigurable does not, so we explicitly forward arguments
71+ def __init__ (self , target_name = '' , data = None , metadata = None , buffers = None , ** kwargs ):
72+ # Handle differing arguments between base classes.
73+ kernel = kwargs .pop ('kernel' , None )
74+ if target_name :
75+ kwargs ['target_name' ] = target_name
76+ BaseComm .__init__ (
77+ self , data = data , metadata = metadata , buffers = buffers , ** kwargs
78+ ) # type:ignore[call-arg]
79+ kwargs ['kernel' ] = kernel
7380 traitlets .config .LoggingConfigurable .__init__ (self , ** kwargs )
74- # drop arguments not in BaseComm
75- kwargs .pop ("kernel" , None )
76- BaseComm .__init__ (self , * args , ** kwargs )
7781
7882
7983__all__ = ["Comm" ]
0 commit comments