def startLoop(): """ Use nested asyncio event loop for Jupyter notebooks. This is not needed anymore in Jupyter versions 5 or higher. """ def _ipython_loop_asyncio(kernel): """Use asyncio event loop for the given IPython kernel.""" loop = asyncio.get_event_loop() def kernel_handler(): kernel.do_one_iteration() loop.call_later(kernel._poll_interval, kernel_handler) loop.call_soon(kernel_handler) try: if not loop.is_running(): loop.run_forever() finally: if not loop.is_running(): loop.run_until_complete(loop.shutdown_asyncgens()) loop.close() patchAsyncio() loop = asyncio.get_event_loop() if not loop.is_running(): from ipykernel.eventloops import register_integration, enable_gui register_integration('asyncio')(_ipython_loop_asyncio) enable_gui('asyncio')
def enable_gui(self, gui=None): """Enable GUI integration for the kernel.""" from ipykernel.eventloops import enable_gui if not gui: gui = self.kernel.gui enable_gui(gui, kernel=self.kernel) self.active_eventloop = gui
def startLoop(): """ Use asyncio event loop for Jupyter notebooks. """ patchAsyncio() from ipykernel.eventloops import register_integration, enable_gui @register_integration('asyncio') def loop_asyncio(kernel): ''' Start a kernel with asyncio event loop support. ''' loop = asyncio.get_event_loop() def kernel_handler(): kernel.do_one_iteration() loop.call_later(kernel._poll_interval, kernel_handler) loop.call_soon(kernel_handler) try: if not loop.is_running(): loop.run_forever() finally: loop.run_until_complete(loop.shutdown_asyncgens()) loop.close() enable_gui('asyncio')
def startLoop(): """ Use asyncio event loop for Jupyter notebooks. """ patchAsyncio() from ipykernel.eventloops import register_integration, enable_gui register_integration('asyncio')(_ipython_loop_asyncio) enable_gui('asyncio')
def startLoop(): """ Use asyncio event loop for Jupyter notebooks. """ patchAsyncio() loop = asyncio.get_event_loop() if not loop.is_running(): from ipykernel.eventloops import register_integration, enable_gui register_integration('asyncio')(_ipython_loop_asyncio) enable_gui('asyncio')
have_ipython = False try: get_ipython() have_ipython = True except: pass if have_ipython: import asyncio import itertools from ipykernel.eventloops import register_integration, enable_gui @register_integration('asyncio') def loop_asyncio(kernel): '''Start a kernel with asyncio event loop support.''' loop = asyncio.get_event_loop() def kernel_handler(): loop.call_soon(kernel.do_one_iteration) loop.call_later(kernel._poll_interval, kernel_handler) loop.call_soon(kernel_handler) try: if not loop.is_running(): loop.run_forever() finally: loop.close() print('[ipyloop] Started event loop') enable_gui('asyncio')