##// END OF EJS Templates
Store timestamps for modules to autoreload...
Store timestamps for modules to autoreload Closes gh-4127 At present, autoreload compares the timestamps on .py and .pyc files. However, this can fail in a couple of ways (see gh-4127). With this change, it caches the mtime of the .py file when we loaded it. Some extra complexity is needed to store the mtime as soon as possible - we scan sys.modules when autoreload is loaded, and register a post_execute hook to check for newly imported modules after each cell.

File last commit:

r13359:123b9cd7
r15682:3ec67fcd
Show More
clientabc.py
80 lines | 2.1 KiB | text/x-python | PythonLexer
MinRK
remove leftover duplication from splitting clientabc/channelabc
r10323 """Abstract base class for kernel clients"""
MinRK
split KernelManager into KernelManager + KernelClient
r10285
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import abc
Thomas Kluyver
Fixes for metaclass syntax
r13359 from IPython.utils.py3compat import with_metaclass
MinRK
split KernelManager into KernelManager + KernelClient
r10285 #-----------------------------------------------------------------------------
MinRK
remove leftover duplication from splitting clientabc/channelabc
r10323 # Main kernel client class
MinRK
split KernelManager into KernelManager + KernelClient
r10285 #-----------------------------------------------------------------------------
Thomas Kluyver
Fixes for metaclass syntax
r13359 class KernelClientABC(with_metaclass(abc.ABCMeta, object)):
MinRK
split KernelManager into KernelManager + KernelClient
r10285 """KernelManager ABC.
The docstrings for this class can be found in the base implementation:
MinRK
remove leftover duplication from splitting clientabc/channelabc
r10323 `IPython.kernel.client.KernelClient`
MinRK
split KernelManager into KernelManager + KernelClient
r10285 """
@abc.abstractproperty
def kernel(self):
pass
@abc.abstractproperty
def shell_channel_class(self):
pass
@abc.abstractproperty
def iopub_channel_class(self):
pass
@abc.abstractproperty
def hb_channel_class(self):
pass
@abc.abstractproperty
def stdin_channel_class(self):
pass
#--------------------------------------------------------------------------
# Channel management methods
#--------------------------------------------------------------------------
@abc.abstractmethod
def start_channels(self, shell=True, iopub=True, stdin=True, hb=True):
pass
@abc.abstractmethod
def stop_channels(self):
pass
@abc.abstractproperty
def channels_running(self):
pass
@abc.abstractproperty
def shell_channel(self):
pass
@abc.abstractproperty
def iopub_channel(self):
pass
@abc.abstractproperty
def stdin_channel(self):
pass
@abc.abstractproperty
def hb_channel(self):
pass