##// 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:

r13888:74d7ea88
r15682:3ec67fcd
Show More
zmqrelated.py
46 lines | 1.5 KiB | text/x-python | PythonLexer
"""Utilities for checking zmq versions."""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Verify zmq version dependency >= 2.1.11
#-----------------------------------------------------------------------------
from IPython.utils.version import check_version
def patch_pyzmq():
"""backport a few patches from newer pyzmq
These can be removed as we bump our minimum pyzmq version
"""
import zmq
# fallback on stdlib json if jsonlib is selected, because jsonlib breaks things.
# jsonlib support is removed from pyzmq >= 2.2.0
from zmq.utils import jsonapi
if jsonapi.jsonmod.__name__ == 'jsonlib':
import json
jsonapi.jsonmod = json
def check_for_zmq(minimum_version, required_by='Someone'):
try:
import zmq
except ImportError:
raise ImportError("%s requires pyzmq >= %s"%(required_by, minimum_version))
patch_pyzmq()
pyzmq_version = zmq.__version__
if not check_version(pyzmq_version, minimum_version):
raise ImportError("%s requires pyzmq >= %s, but you have %s"%(
required_by, minimum_version, pyzmq_version))