Create jupyter kernels from virtual environments
Project description
Callisto
The fourth Galilean moon of Jupyter.
A command line utility to create kernels in Jupyter from virtual environments.
Installation
Callisto may be installed from pypi:
pip install callisto
Tested against python 2.7, 3.4, 3.5, 3.6.
Basic Usage.
Typical use is to just activate it inside a virtual environment:
$ virtualenv venv ... $ source venv/bin/activate (venv) $ callisto Successfully installed a new jupyter kernel "venv": { "env": {}, "language": "python", "display_name": "venv", "argv": [ "/Users/colin/venv/bin/python", "-m", "ipykernel", "-f", "{connection_file}" ] } See /Users/colin/Library/Jupyter/kernels/venv/kernel.json to edit.
Jupyter servers will now have an option for a kernel called venv.
Naming the kernel.
You may also give kernels a more descriptive name:
(venv) $ callisto -n pete Successfully installed a new jupyter kernel "pete": { "env": {}, "display_name": "pete", "argv": [ "/Users/colin/venv/bin/python", "-m", "ipykernel", "-f", "{connection_file}" ], "language": "python" } See /Users/colin/Library/Jupyter/kernels/pete/kernel.json to edit.
Jupyter servers will now have an option for a kernel called venv, and pete.
Deleting kernels.
Sometimes you may want to tidy kernels up a bit.
(venv) $ callisto -d Deleted jupyter kernel "venv" from /Users/colin/Library/Jupyter/kernels/venv/kernel.json: { "argv": [ "/Users/colin/venv/bin/python", "-m", "ipykernel", "-f", "{connection_file}" ], "env": {}, "language": "python", "display_name": "venv" }
Jupyter servers will no longer have a kernel named venv.
Lacking courage.
Callisto doesn’t try to be too clever.
(venv) $ deactivate $ callisto Usage: callisto [OPTIONS] Error: The environment variable VIRTUAL_ENV is not set (usually this is set automatically activating a virtualenv). Please make sure you are in a virtual environment!
Viewing existing kernels.
If you forgot the informative message about the kernel information, you can see it later.
$ source venv/bin/activate (venv) $ callisto --list No kernel found at /Users/colin/Library/Jupyter/kernels/venv/kernel.json (venv) $ callisto -l --name pete Found kernel "pete" at /Users/colin/Library/Jupyter/kernels/pete/kernel.json: { "display_name": "pete", "language": "python", "argv": [ "/Users/colin/venv/bin/python", "-m", "ipykernel", "-f", "{connection_file}" ], "env": {} }
Adjusting the PYTHONPATH.
With isolated kernels, you may wish to run all your notebooks from a single directory, but using code from the project directories.
(venv) $ callisto -n pete --path=$(pwd) Successfully installed a new jupyter kernel "pete": { "argv": [ "/Users/colin/venv/bin/python", "-m", "ipykernel", "-f", "{connection_file}" ], "language": "python", "env": { "PYTHONPATH": "/Users/colin/projects/pete:PYTHONPATH" }, "display_name": "pete" } See /Users/colin/Library/Jupyter/kernels/pete/kernel.json to edit.
Now the pete kernel will be able to import from the folder /Users/colin/projects/pete.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for callisto-0.7-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ef963666741a75c44cd7dbf70a0762be496fa48b96181805cfebd7b51e71e4 |
|
MD5 | ab607c2fc6a697c288a71d417d5417ae |
|
BLAKE2b-256 | de6005d035ae76a2036e3008f5f5f7b14015a7e08ad6b4dc1c895a5f7eda1aa3 |