{ "info": { "author": "Tom Daff", "author_email": "tdd20@cam.ac.uk", "bugtrack_url": null, "classifiers": [ "Framework :: IPython", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "Remote IKernel\n--------------\n\nAll your Jupyter kernels, on all your machines, in one place.\n\nLaunch Jupyter kernels on remote systems and through batch queues so that\nthey can be used within a local Jupyter noteboook.\n\n.. image :: https://bitbucket.org/tdaff/remote_ikernel/raw/default/doc/kernels.png\n\nJupyter compatible Kernels start through interactive jobs in batch queue\nsystems (SGE, SLURM, PBS...) or through SSH connections. Once the kernel is\nstarted, SSH tunnels are created for the communication ports are so the\nnotebook can talk to the kernel as if it was local.\n\nCommands for managing the kernels are included. It is also possible to use\n``remote_ikernel`` to manage kernels from different virtual environments or\ndifferent python implementations.\n\nInstall with ``pip install remote_ikernel``. Requires ``notebook`` (as part\nof Jupyter), version 4.0 or greater and ``pexpect``. Passwordless ``ssh``\nto the all the remote machines is also recommended (e.g. nodes on a cluster).\n\n.. warning::\n\n ``remote_ikernel`` opens multiple connections across several machines\n to tunnel communication ports. If you have concerns about security or\n excessive use of resources, please consult your systems administrator\n before using this software.\n\n.. note::\n\n When running kernels on remote machines, the notebooks themselves will\n be saved onto the local filesystem, but the kernel will only have access\n to filesystem of the remote machine running the kernel. If you need shared\n directories, set up ``sshfs`` between your machines.\n\n\n.. code:: shell\n\n # Install the module ('python setup.py install' also works)\n\n pip install remote_ikernel\n\n.. code:: shell\n\n # Set up the kernels you'd like to use\n\n remote_ikernel manage\n\n.. code:: shell\n\n # Add a new kernel running through GrideEngine\n\n remote_ikernel manage --add \\\n --kernel_cmd=\"ipython kernel -f {connection_file}\" \\\n --name=\"Python 2.7\" --cpus=2 --pe=smp --interface=sge\n\n.. code:: shell\n\n # Add an SSH connection to a remote machine running IJulia\n\n remote_ikernel manage --add \\\n --kernel_cmd=\"/home/me/julia-903644385b/bin/julia -i --startup-file=yes --color=yes /home/me/.julia/v0.6/IJulia/src/kernel.jl {connection_file}\" \\\n --name=\"IJulia 0.6.0\" --interface=ssh \\\n --host=me@remote.machine --workdir='/home/me/Workdir' --language=julia\n\n.. code:: shell\n\n # Set up kernels for your local virtual environments that can be run\n # from a single notebook server.\n\n remote_ikernel manage --add \\\n --kernel_cmd=\"/home/me/Virtualenvs/dev/bin/ipython kernel -f {connection_file}\" \\\n --name=\"Python 2 (venv:dev)\" --interface=local\n\n.. code:: shell\n\n # Connect to a SLURM cluster through a gateway machine (to get into a\n # local network) and cluster frontend machine (where the sqsub runs from).\n\n remote_ikernel manage --add \\\n --kernel_cmd=\"ipython kernel -f {connection_file}\" \\\n --name=\"Python 2.7\" --cpus=4 --interface=slurm \\\n --tunnel-hosts gateway.machine cluster.frontend\n\n\nThe kernel spec files will be installed so that the new kernel appears in\nthe drop-down list in the notebook. ``remote_ikernel manage`` also has options\nto show and delete existing kernels.\n\n\nConnection multiplexing\n=======================\n\nWhen working with remote machines, each kernel creates two ``ssh``\nconnections. If you would like to reduce that, you can set up automatic\nmultiplexing of connections. For each machine, add a configuration to your\n``~/.ssh/config``:\n\n.. code::\n\n Host myhost.ac.uk\n ControlMaster auto\n ControlPath ~/.ssh/%r@%h:%p\n ControlPersist 1\n\nThis will create a master connection that remains in the background when and\nmultiplex everything through that. If you have multiple hops, this will need\nto be added for each hop. Note, for the security conscious, that idle kernels\non multiplexed connections allow new ssh connections to be started without a\npassword.\n\n\nChanges for v0.4\n================\n\n * Option ``--tunnel-hosts``. When given, the software will try to create\n an ssh tunnel through all the hosts before starting the final connection.\n Allows using batch queues on remote systems.\n * Preliminary support for dealing with passwords. If a program is defined\n in the environment variable ``SSH_ASKPASS`` it will be used\n to ask the user for a password.\n * ``--launch-cmd`` can be used to override the command used to launch the\n interactive jobs on the cluster, e.g. to replace ``qlogin`` with ``qrsh``.\n * Platform LSF support.\n * The kernel json files are given unique names.\n\nChanges for v0.3\n================\n\n * Updated pip requirements to pull in the `notebook` package. Use an earlier\n version if you need to use IPython 3.\n * Remote process is polled for output which will show up when ``--verbose``\n if used as a kernel option.\n\nChanges for v0.2\n================\n\n * Version 0.2.11 is the last version to support IPython notebook version 3.\n `pip` requirements enforce versions less than 4. Use a more recent version\n to ensure compatibility with the Jupyter split.\n * Support for PBS/Torque through ``qsub -I``.\n * Tunnels are kept alive better, if something is not responding try waiting\n 20 seconds to see if a tunnel had dies. (Tunnels no longer depend on pyzmq,\n instead they are launched through pexpect and monitored until they die.)\n * ``--remote-launch-args`` can be used to set ``qlogin`` parameters or similar.\n * ``--remote-precmd`` allows execution of an extra command on the remote host\n before launching a kernel.\n * Better compatibility with Python 3.\n * Kernel output on terminals with ``--verbose`` option for debugging.\n * Connect to a host with ssh, slurm, or local kernels.\n * Changed prefix to ``rik_``.\n * kernel_cmd now requires the ``{connection_file}`` argument.\n * ``remote_ikernel manage --show`` command to show existing kernels.\n * Specify the working directory on the remote machine with ``--workdir``.\n * ``kernel-uuid.json`` is copied to the working director for systems where\n there is no access to the frontend filesystem.\n * Added compatibility layer to get rid of Jupyter warnings.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://bitbucket.org/tdaff/remote_ikernel", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "remote_ikernel", "package_url": "https://pypi.org/project/remote_ikernel/", "platform": "", "project_url": "https://pypi.org/project/remote_ikernel/", "project_urls": { "Homepage": "https://bitbucket.org/tdaff/remote_ikernel" }, "release_url": "https://pypi.org/project/remote_ikernel/0.4.6/", "requires_dist": null, "requires_python": "", "summary": "Running IPython kernels through batch queues", "version": "0.4.6" }, "last_serial": 3087516, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "7839767670dc140b578a704fc9793376", "sha256": "dc8dd1b571ea211ef6fd2956a9b6e1e50ad6cd5b3b798dcd6906bcd934ca0762" }, "downloads": -1, "filename": "remote_ikernel-0.1.tar.gz", "has_sig": false, "md5_digest": "7839767670dc140b578a704fc9793376", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5649, "upload_time": "2015-05-14T14:15:34", "url": "https://files.pythonhosted.org/packages/dd/dd/e33895ced17a9801f2a4ee2c984f511c44523ee48c2a14c79ad465972aa5/remote_ikernel-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "99c1ea0cf4aba40350a7d4f4d952ef2d", "sha256": "809d1bab55c74ebeb161576830fc9e233f45bc95d6c7dd793239333b69772648" }, "downloads": -1, "filename": "remote_ikernel-0.2.tar.gz", "has_sig": false, "md5_digest": "99c1ea0cf4aba40350a7d4f4d952ef2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6780, "upload_time": "2015-05-18T09:14:00", "url": "https://files.pythonhosted.org/packages/0e/6b/13fd391f64f17a246e840862695503a095f70a197852545a3cf70c823767/remote_ikernel-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "930fdcf613426b458f3fee158966e643", "sha256": "aa14d80c75a3a61d75ddd499c64d069c84e6b86818d3adb80ac94ca055eef048" }, "downloads": -1, "filename": "remote_ikernel-0.2.1.tar.gz", "has_sig": false, "md5_digest": "930fdcf613426b458f3fee158966e643", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7526, "upload_time": "2015-05-19T10:18:07", "url": "https://files.pythonhosted.org/packages/2c/d0/dbd189b9610f275d5e8b520df34723b4d581cd13e79272090aaa9af7bbd2/remote_ikernel-0.2.1.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "1732de970a6110bfa8d1a2db97eeac00", "sha256": "d58f9ada44075e20b42eca955ed42b71d5e443f45b128b4e1aeab98ff625bda4" }, "downloads": -1, "filename": "remote_ikernel-0.2.11.tar.gz", "has_sig": false, "md5_digest": "1732de970a6110bfa8d1a2db97eeac00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11612, "upload_time": "2015-09-08T11:04:38", "url": "https://files.pythonhosted.org/packages/33/6d/a7b306d20e4ea9bdeac2d0496ed644ed03619c80d827e4d4d13e75e713e3/remote_ikernel-0.2.11.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "cc01e3602095b584ead9c2c44eb965ff", "sha256": "70496da12a1c5209a49651ac88e8d5501a702ebafc9d967b5b980a5f5bd84fe7" }, "downloads": -1, "filename": "remote_ikernel-0.2.2.tar.gz", "has_sig": false, "md5_digest": "cc01e3602095b584ead9c2c44eb965ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7666, "upload_time": "2015-05-28T14:59:19", "url": "https://files.pythonhosted.org/packages/93/25/54f12519075dda10bf3075a067acc040a4d13d28a11889ea3a67eea16f51/remote_ikernel-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "21f49b04d91071b9927548f2077ca3a8", "sha256": "ef1b77255be7e02a210f9dc1f471e9f68f2366104bbe9c07c2c08f65f8e1e03b" }, "downloads": -1, "filename": "remote_ikernel-0.2.3.tar.gz", "has_sig": false, "md5_digest": "21f49b04d91071b9927548f2077ca3a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9012, "upload_time": "2015-06-16T12:33:11", "url": "https://files.pythonhosted.org/packages/78/b9/46b2e83406ca65931267ac1574ff6e6db8e3f66a131f347f1216cf539875/remote_ikernel-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "5e386021d533f996b23cc4cdf9631e7e", "sha256": "58a2ebf9d81ef07ca308c485d176de58f5e065b08b704cd78d2cffccf56d956b" }, "downloads": -1, "filename": "remote_ikernel-0.2.4.tar.gz", "has_sig": false, "md5_digest": "5e386021d533f996b23cc4cdf9631e7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9898, "upload_time": "2015-06-16T16:43:21", "url": "https://files.pythonhosted.org/packages/55/71/fa0f9ec31ebc0a462e63d45a973d29444a25a7d7de5a93083bbfd167666c/remote_ikernel-0.2.4.tar.gz" } ], "0.2.5": [], "0.2.6": [ { "comment_text": "", "digests": { "md5": "542f6a870b813f9028139f6b697c4109", "sha256": "dccae5fa0af6993f48d7fc2a580e8b2287cb5841845d7f3fdc03e0ba51aa0c78" }, "downloads": -1, "filename": "remote_ikernel-0.2.6.tar.gz", "has_sig": false, "md5_digest": "542f6a870b813f9028139f6b697c4109", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9144, "upload_time": "2015-06-18T23:00:28", "url": "https://files.pythonhosted.org/packages/15/26/6a81b15f88be036598a67023a359b8230754663146d59e2a3a355d691605/remote_ikernel-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "10d72c0d52bb799e43fc7b230946b000", "sha256": "ccf7fce50b20536d60d9f1729bc0f9de2d48dcaee7db908b9c4c283d29ab6c6f" }, "downloads": -1, "filename": "remote_ikernel-0.2.7-py2-none-any.whl", "has_sig": false, "md5_digest": "10d72c0d52bb799e43fc7b230946b000", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13550, "upload_time": "2015-06-21T17:21:48", "url": "https://files.pythonhosted.org/packages/ee/47/80390565a9a367f1d75e60f9104a8f344a4d41140501c9d83c5916d54ce9/remote_ikernel-0.2.7-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c625960a51de859d604fa75cd811beaa", "sha256": "4c8213e42f2423832b5ca5368c145273b9333c65e70f54420ee84518b361c4ac" }, "downloads": -1, "filename": "remote_ikernel-0.2.7.tar.gz", "has_sig": false, "md5_digest": "c625960a51de859d604fa75cd811beaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11035, "upload_time": "2015-06-21T17:21:31", "url": "https://files.pythonhosted.org/packages/3c/e6/9d77a3cb9a120dd2b650711dfd60b1b11c657c02881784ad8926aa7ce286/remote_ikernel-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "8b5c8b447ccdd7a266185bc27e554f4a", "sha256": "a5904dadf5a85c7d383a6d5421acd314732847028ba4925bf1e17dc22467754e" }, "downloads": -1, "filename": "remote_ikernel-0.2.8-py2-none-any.whl", "has_sig": false, "md5_digest": "8b5c8b447ccdd7a266185bc27e554f4a", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 13551, "upload_time": "2015-06-23T12:14:43", "url": "https://files.pythonhosted.org/packages/47/9a/04ec97ad7ec8c734fe999ff1aafea45a40ffcd152e87e02c05767967a84a/remote_ikernel-0.2.8-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0e0244ae88fbc15844360562794e9e19", "sha256": "5d860b0e425eca83fdb04e855f4481e909e8d060b5efe95f4eb93cfc3af5ed30" }, "downloads": -1, "filename": "remote_ikernel-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "0e0244ae88fbc15844360562794e9e19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13524, "upload_time": "2015-06-23T12:15:22", "url": "https://files.pythonhosted.org/packages/41/2f/d57825adc92960cde212b2bd64f40a26efdbb216050c8a4278b35b100ae8/remote_ikernel-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6811cd7e65ac4c3a3b55a44ce5bc34f2", "sha256": "d56857965afece827f811095a5458ade502b74046db1482929beb35039f82c25" }, "downloads": -1, "filename": "remote_ikernel-0.2.8.tar.gz", "has_sig": false, "md5_digest": "6811cd7e65ac4c3a3b55a44ce5bc34f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9737, "upload_time": "2015-06-23T12:12:32", "url": "https://files.pythonhosted.org/packages/4e/35/b14b231b73e37fad6818c51cb70615dd06b1a39556a7e7c58882dd8deb0c/remote_ikernel-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "2f6b5a5427e1d2cb1fd24b07d7d149f9", "sha256": "05cb569230c299096c16919d7627746696a8c894be4bb18d5adf00f355e16bcf" }, "downloads": -1, "filename": "remote_ikernel-0.2.9.tar.gz", "has_sig": false, "md5_digest": "2f6b5a5427e1d2cb1fd24b07d7d149f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10203, "upload_time": "2015-06-26T16:52:53", "url": "https://files.pythonhosted.org/packages/dc/a1/5725215a99799a62a4205f35f47b9691eaa4df1f5eeb6497bc7d213ec1df/remote_ikernel-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0a5a986ffe1458e4b3db871aaf5031e1", "sha256": "30318c2e393dc4684689bd3f92de082164312d10a30baafe788daf0c18cbaa67" }, "downloads": -1, "filename": "remote_ikernel-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0a5a986ffe1458e4b3db871aaf5031e1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10989, "upload_time": "2015-09-08T12:23:22", "url": "https://files.pythonhosted.org/packages/81/df/55dce95e13f3b8d8c0dd19d31efc5ed0966a90d7a217c4838977c437d325/remote_ikernel-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "aa62d96edcae0007e034ecf2311786c1", "sha256": "771c973623d2102a746ae1082554fdc6e3e51556a840dacc59ae59d104badea3" }, "downloads": -1, "filename": "remote_ikernel-0.3.1.tar.gz", "has_sig": false, "md5_digest": "aa62d96edcae0007e034ecf2311786c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11234, "upload_time": "2015-09-15T10:00:59", "url": "https://files.pythonhosted.org/packages/36/a2/3a30a646f25a5e0a6b26590aa676e51a1301145b53f54691bff362f77009/remote_ikernel-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "c3f30fb8654836f625f1cdba5831c66b", "sha256": "3f6040d07fce32f57548bf65e7511d0e9ec9cbda2345b2696b5d0d7cdce59d46" }, "downloads": -1, "filename": "remote_ikernel-0.4.0.tar.gz", "has_sig": false, "md5_digest": "c3f30fb8654836f625f1cdba5831c66b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12483, "upload_time": "2015-10-26T11:54:58", "url": "https://files.pythonhosted.org/packages/21/9f/3f05cf982a8aab4b8e1467cf5952dbe7d2f54e961fe64f007af0275c8cd5/remote_ikernel-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "65448739f386b20a6d9b1069e36dc3ab", "sha256": "e0afb4925dafe9eae0c5cec322db200a1bd816377a66e7c5a869ac8e0c40647e" }, "downloads": -1, "filename": "remote_ikernel-0.4.1.tar.gz", "has_sig": false, "md5_digest": "65448739f386b20a6d9b1069e36dc3ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14868, "upload_time": "2016-01-19T10:30:40", "url": "https://files.pythonhosted.org/packages/8d/bb/1341e6b5527a6b8211db590ae6b2a261df25bfb6b68611b09e4d01be0180/remote_ikernel-0.4.1.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "69dbd47aee9382b745d5a3c4e9c4d897", "sha256": "d102f693220b3b685862cf7d8b9068451f5e48bc7cf451dd4628e74fd3cfee36" }, "downloads": -1, "filename": "remote_ikernel-0.4.4.tar.gz", "has_sig": false, "md5_digest": "69dbd47aee9382b745d5a3c4e9c4d897", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29107, "upload_time": "2016-02-10T17:33:31", "url": "https://files.pythonhosted.org/packages/d6/e3/b4c5d7d12f442005813bfdb81796f6279a0fd82b09e5f48d506797e61bfd/remote_ikernel-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "73d04831b273ffad2cda39b41c6aeddd", "sha256": "0d1cf3a5fd589a5575156314bec3cc871cae0b4e184c9fae8e2dc63ce1856df1" }, "downloads": -1, "filename": "remote_ikernel-0.4.5.tar.gz", "has_sig": false, "md5_digest": "73d04831b273ffad2cda39b41c6aeddd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36148, "upload_time": "2016-04-18T12:19:21", "url": "https://files.pythonhosted.org/packages/2e/20/677c3a97a58813ad6e1e6eb7fc5cfc4690a242a027cfaf801cf17e490ded/remote_ikernel-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "3b2f88f2ef42ef372c0cd0e563d468ab", "sha256": "740b80a57fa1af40cadef541c5a4eb293675b504092ecf00c57dd2f0011bd840" }, "downloads": -1, "filename": "remote_ikernel-0.4.6.tar.gz", "has_sig": false, "md5_digest": "3b2f88f2ef42ef372c0cd0e563d468ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35868, "upload_time": "2017-08-10T16:57:34", "url": "https://files.pythonhosted.org/packages/c2/71/4f3a19c715321ab49d3d6d09c13291ddc0352c32e64468b413b5144d1eea/remote_ikernel-0.4.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3b2f88f2ef42ef372c0cd0e563d468ab", "sha256": "740b80a57fa1af40cadef541c5a4eb293675b504092ecf00c57dd2f0011bd840" }, "downloads": -1, "filename": "remote_ikernel-0.4.6.tar.gz", "has_sig": false, "md5_digest": "3b2f88f2ef42ef372c0cd0e563d468ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35868, "upload_time": "2017-08-10T16:57:34", "url": "https://files.pythonhosted.org/packages/c2/71/4f3a19c715321ab49d3d6d09c13291ddc0352c32e64468b413b5144d1eea/remote_ikernel-0.4.6.tar.gz" } ] }