Skip to main content

Run any Jupyter notebook on Kaggle kernels instantly

Project description

kernel-run 🔥🚀

Instantly create and run a Kaggle kernel from any Jupyter notebook (local file or URL).

kaggle-run-demo

$ pip install kernel-run --upgrade

$ kernel-run path/to/notebook.ipynb
Kernel created successfully: https://www.kaggle.com/aakashns/kr-notebook/edit

$ kernel-run http://cs231n.stanford.edu/notebooks/pytorch_tutorial.ipynb
Kernel created successfully: https://www.kaggle.com/aakashns/kr-pytorch-tutorial/edit

kernel-run uploads the Jupyter notebook to a private kernel in your Kaggle account, and launches a browser window so you can start editing/executing the code immediately.

Installation

pip install kernel-run --upgrade

The above command install a command-line tool called kernel-run which can be invoked from the terminal/command prompt.

Note: To allow kaggle-run to upload the notebook to your Kaggle account, you need to download the Kaggle API credentials file kaggle.json. To download the kaggle.json file:

  1. Go to https://kaggle.com
  2. Log in and go to your account page
  3. Click the "Create New API Token" button in the "API" section
  4. Move the downloaded kaggle.json file to the folder ~/.kaggle/

CLI Usage & Options

Run the kernel-run command on your terminal/command prompt with a Jupyter notebook's path (or URL) as the argument:

$ kernel-run path/to/notebook.ipynb
Kernel created successfully: https://www.kaggle.com/aakashns/kr-notebook/edit

$ kernel-run http://cs231n.stanford.edu/notebooks/pytorch_tutorial.ipynb
Kernel created successfully: https://www.kaggle.com/aakashns/kr-pytorch-tutorial/edit

There are various options you can configure. Run kernel-run -h to see the options:

usage: kernel-run notebook_path_or_url [-h] [--public] [--new] [--no-browser] [--strip-output] [--prefix PREFIX]

positional arguments:
  notebook_path_or_url  Path/URL of the Jupyter notebook

optional arguments:
  -h, --help            show this help message and exit
  --public              Create a public kernel
  --new                 Create a new kernel, if a kernel with the same name exists
  --no-browser          Don't open a browser window automatically
  --strip-output        Clear output cells before uploading notebook (useful for large files)
  --prefix PREFIX       Prefix added to kernel title to easy identification (defaults to 'kr/')

Python API

You can also use the library form a Python script or Jupyter notebook. It can be imported as kernel_run.

from kernel_run import create_kernel

create_kernel('path/to/notebook.ipynb', public=True, no_browser=True)
# Kernel created successfully: https://www.kaggle.com/aakashns/kr-notebook/edit

The arguments to create_kernel are identical to the CLI options:

def create_kernel(path_or_url, public=False, no_browser=False, new=False,
                  strip_output=False, prefix='kr/', creds_path=None):
    """Instantly create and run a Kaggle kernel from a Jupyter notebook (local file or URL)

    Arguments:
        path_or_url (string): Path/URL to the Jupyter notebook
        public (bool, optional): If true, creates a public kernel. A private kernel
            is created by default.
        no_browser (bool, optional): If true, does not attempt to automatically open
            a browser tab to edit the created Kernel
        new (bool, optional): If true, creates a new Kernel by adding a random
            5-letter string at the end of the title
        prefix (string, optional): A prefix added to the Kernel title, to indicate that
            the Kernel was created using kernel-run
        creds_path (string, optional): Path to the 'kaggle.json' credentials file
            (defaults to '~/.kaggle/kaggle.json')
        strip_output (bool, optional): Clear output cells before uploading notebook.
    """

Credits

Developed with love by the Jovian team ( https://www.jvn.io )! Contributions welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kernel-run-0.0.13.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

kernel_run-0.0.13-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file kernel-run-0.0.13.tar.gz.

File metadata

  • Download URL: kernel-run-0.0.13.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.10

File hashes

Hashes for kernel-run-0.0.13.tar.gz
Algorithm Hash digest
SHA256 5941e79c6babddd9f61de09c27a6f371444e62926c7a96cd86e32229d3214119
MD5 eba2483d085e83c1d9a8d16f47a8abfd
BLAKE2b-256 1c0991dad91c1e66c2490502bddd84c9700145db02e55da0c3deb147b7d567ca

See more details on using hashes here.

File details

Details for the file kernel_run-0.0.13-py3-none-any.whl.

File metadata

  • Download URL: kernel_run-0.0.13-py3-none-any.whl
  • Upload date:
  • Size: 8.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.2.0.post20200210 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.10

File hashes

Hashes for kernel_run-0.0.13-py3-none-any.whl
Algorithm Hash digest
SHA256 fdd98415351047575c1d7e1339428408a48aad11096f7ce411515ebcbb783680
MD5 3ffcb3b287c07f92f4d4b34432cd9617
BLAKE2b-256 d0b0e871fcc8d4d3736ef3fbb5106970542f7d8f4af33b8e18a647cfae27d559

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page