You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
764 B
Python
34 lines
764 B
Python
# compatibility shim for ipykernel < 6.18
|
|
import sys
|
|
from IPython import get_ipython
|
|
import comm
|
|
|
|
|
|
def requires_ipykernel_shim():
|
|
if "ipykernel" in sys.modules:
|
|
import ipykernel
|
|
|
|
version = ipykernel.version_info
|
|
return version < (6, 18)
|
|
else:
|
|
return False
|
|
|
|
|
|
def get_comm_manager():
|
|
if requires_ipykernel_shim():
|
|
ip = get_ipython()
|
|
|
|
if ip is not None and getattr(ip, "kernel", None) is not None:
|
|
return get_ipython().kernel.comm_manager
|
|
else:
|
|
return comm.get_comm_manager()
|
|
|
|
|
|
def create_comm(*args, **kwargs):
|
|
if requires_ipykernel_shim():
|
|
from ipykernel.comm import Comm
|
|
|
|
return Comm(*args, **kwargs)
|
|
else:
|
|
return comm.create_comm(*args, **kwargs)
|