Warning
This documentation is for an old version of IPython. You can find docs for newer versions here.
Module: kernel.connect
¶
Utilities for connecting to kernels
The ConnectionFileMixin
class in this module encapsulates the logic
related to writing and reading connections files.
1 Class¶
-
class
IPython.kernel.connect.
ConnectionFileMixin
(**kwargs)¶ Bases:
IPython.config.configurable.LoggingConfigurable
Mixin for configurable classes that work with connection files
-
cleanup_connection_file
()¶ Cleanup connection file if we wrote it
Will not raise if the connection file was already removed somehow.
-
cleanup_ipc_files
()¶ Cleanup ipc files if we wrote them.
-
connect_control
(identity=None)¶ return zmq Socket connected to the Control channel
-
connect_hb
(identity=None)¶ return zmq Socket connected to the Heartbeat channel
-
connect_iopub
(identity=None)¶ return zmq Socket connected to the IOPub channel
-
connect_shell
(identity=None)¶ return zmq Socket connected to the Shell channel
-
connect_stdin
(identity=None)¶ return zmq Socket connected to the StdIn channel
-
get_connection_info
()¶ return the connection info as a dict
-
load_connection_file
()¶ Load connection info from JSON dict in self.connection_file.
-
write_connection_file
()¶ Write connection info to JSON dict in self.connection_file.
-
6 Functions¶
-
IPython.kernel.connect.
write_connection_file
(fname=None, shell_port=0, iopub_port=0, stdin_port=0, hb_port=0, control_port=0, ip='', key=b'', transport='tcp', signature_scheme='hmac-sha256')¶ Generates a JSON config file, including the selection of random ports.
Parameters: fname : unicode
The path to the file to write
shell_port : int, optional
The port to use for ROUTER (shell) channel.
iopub_port : int, optional
The port to use for the SUB channel.
stdin_port : int, optional
The port to use for the ROUTER (raw input) channel.
control_port : int, optional
The port to use for the ROUTER (control) channel.
hb_port : int, optional
The port to use for the heartbeat REP channel.
ip : str, optional
The ip address the kernel will bind to.
key : str, optional
The Session key used for message authentication.
signature_scheme : str, optional
The scheme used for message authentication. This has the form ‘digest-hash’, where ‘digest’ is the scheme used for digests, and ‘hash’ is the name of the hash function used by the digest scheme. Currently, ‘hmac’ is the only supported digest scheme, and ‘sha256’ is the default hash function.
-
IPython.kernel.connect.
get_connection_file
(app=None)¶ Return the path to the connection file of an app
Parameters: app : IPKernelApp instance [optional]
If unspecified, the currently running app will be used
-
IPython.kernel.connect.
find_connection_file
(filename='kernel-*.json', profile=None)¶ find a connection file, and return its absolute path.
The current working directory and the profile’s security directory will be searched for the file if it is not given by absolute path.
If profile is unspecified, then the current running application’s profile will be used, or ‘default’, if not run from IPython.
If the argument does not match an existing file, it will be interpreted as a fileglob, and the matching file in the profile’s security dir with the latest access time will be used.
Parameters: filename : str
The connection file or fileglob to search for.
profile : str [optional]
The name of the profile to use when searching for the connection file, if different from the current IPython session or ‘default’.
Returns: str : The absolute path of the connection file.
-
IPython.kernel.connect.
get_connection_info
(connection_file=None, unpack=False, profile=None)¶ Return the connection information for the current Kernel.
Parameters: connection_file : str [optional]
The connection file to be used. Can be given by absolute path, or IPython will search in the security directory of a given profile. If run from IPython,
If unspecified, the connection file for the currently running IPython Kernel will be used, which is only allowed from inside a kernel.
unpack : bool [default: False]
if True, return the unpacked dict, otherwise just the string contents of the file.
profile : str [optional]
The name of the profile to use when searching for the connection file, if different from the current IPython session or ‘default’.
Returns: The connection dictionary of the current kernel, as string or dict,
depending on
unpack
.
-
IPython.kernel.connect.
connect_qtconsole
(connection_file=None, argv=None, profile=None)¶ Connect a qtconsole to the current kernel.
This is useful for connecting a second qtconsole to a kernel, or to a local notebook.
Parameters: connection_file : str [optional]
The connection file to be used. Can be given by absolute path, or IPython will search in the security directory of a given profile. If run from IPython,
If unspecified, the connection file for the currently running IPython Kernel will be used, which is only allowed from inside a kernel.
argv : list [optional]
Any extra args to be passed to the console.
profile : str [optional]
The name of the profile to use when searching for the connection file, if different from the current IPython session or ‘default’.
Returns: subprocess.Popen
instance running the qtconsole frontend
-
IPython.kernel.connect.
tunnel_to_kernel
(connection_info, sshserver, sshkey=None)¶ tunnel connections to a kernel via ssh
This will open four SSH tunnels from localhost on this machine to the ports associated with the kernel. They can be either direct localhost-localhost tunnels, or if an intermediate server is necessary, the kernel must be listening on a public IP.
Parameters: connection_info : dict or str (path)
Either a connection dict, or the path to a JSON connection file
sshserver : str
The ssh sever to use to tunnel to the kernel. Can be a full
user@server:port
string. ssh config aliases are respected.sshkey : str [optional]
Path to file containing ssh key to use for authentication. Only necessary if your ssh config does not already associate a keyfile with the host.
Returns: (shell, iopub, stdin, hb) : ints
The four ports on localhost that have been forwarded to the kernel.