##// END OF EJS Templates
DEV: AST transformers supplied to `InteractiveShell` can reject input....
DEV: AST transformers supplied to `InteractiveShell` can reject input. * Adds a new exception class, `InputRejected` to IPython.lib.security. * Updates `InteractiveShell.run_cell` and `InteractiveShell.transform_ast` to allow user-supplied AST transformers to reject input by raising an `InputRejected`. * Adds tests for the above behavior.

File last commit:

r13888:74d7ea88
r17798:2591b6eb
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))