backend.ai-integration-jupyter 0.3.2
Backend.AI Integration for Jupyter
License: MIT
Requires Python: >=3.5

Backend.AI Integration for Jupyter
==================================

Your Jupyter notebooks are running on the Backend.AI Cloud!

Migration Guide for v0.1.x "Sorna" Users
----------------------------------------

Now we use the v1.0.0 release of [Backend.AI Client for Python]
(https://pypi.python.org/pypi/backend.ai-client).

To use the latest version, please remove all existing "Sorna" kernel
configurations and re-install them.

```console
$ python -m sorna.integration.jupyter.install --clean-only
Removing existing Sorna kernel: C11 on Sorna
...

$ pip uninstall sorna-jupyter-integration
...

$ pip install backend.ai-integration-jupyter
...

$ python -m ai.backend.integration.jupyter.install
Installing Backend.AI Jupyter kernel spec: Python 3 on Backend.AI
...
```

Note that you also need to reconfigure your existing notebooks to use the new
kernels.  This is a safe operation -- you can change the backend kernel without
losing/modifying the content of notebooks.


Installation and Usage
----------------------

First, grab your API keypair in [Backend.AI Cloud](https://cloud.backend.ai).

```console
$ pip install jupyter backend.ai-integration-jupyter
$ python -m ai.backend.integration.jupyter.install
$ export BACKEND_ACCESS_KEY=...
$ export BACKEND_SECRET_KEY=...
$ jupyter notebook
```

Then you will see Backend.AI kernels in the new notebook menu:

![Notebook Kernel Type Menu](https://github.com/lablup/backend.ai-integration-jupyter/raw/master/nbmenu-preview.png)

More kernels will become available soon!

**NOTE:** Currently only Python-based kernels support cross-cell contexts
(i.e., variables are kept across different notebook cells which is the default
behavior of Jupyter notebooks you already know).  With other language kernels,
each cell is executed as a separate process, meaning that a new context is used
whenever you execute a cell.


Development
-----------

Add `--sys-prefix` argument to tell the installer to recognize editable
installation under your virtual environment.

```console
$ python -m venv venv
$ source venv/bin/activate
$ pip install jupyter
$ pip install -e .  # editable installation
$ python -m ai.backend.integration.jupyter.install --sys-prefix
$ export BACKEND_ACCESS_KEY=...
$ export BACKEND_SECRET_KEY=...
$ jupyter notebook
```


Uninstall
---------

To list and uninstall existing kernelspecs registered to Jupyter, use
`jupyter-kernelspec` command.


Changes
=======

0.3.2 (2018-11-09)
------------------

 - Update TensorFlow/PyTorch kernel versions.

0.3.1 (2018-09-23)
------------------

 - This was a technical release to fix dependencies.

0.3.0 (2018-09-23)
------------------

 - Upgrade backend.ai-client to v1.4 series.

0.2.5 (2018-06-19)
------------------

 - Support Jupyter notebook 5.0 or higher which has migrated to Tornado 5.0+.

 - Upgrade backend.ai-client to v1.3.4 or higher to keep pace with Jupyter notebook
   5.0 support.

0.2.4 (2018-03-20)
------------------

 - Upgrade backend.ai-client to v1.3 series.

0.2.3 (2018-03-12)
------------------

 - Upgrade backend.ai-client to v1.2 series.

0.2.2 (2018-01-05)
------------------

 - Add support for Python 3.5 as well.

 - Adapt to the latest API with explicit modes in the execution loop.

 - Upgrade the client library to v1.1.5 release.

0.2.1 (2017-10-24)
------------------

 - Adapt to the latest API with explicit run IDs per execution.

0.2.0 (2017-09-19)
------------------

 - Change the project name to "Backend.AI Jupyter Integration"
   and the import path to "ai.backend.integration".

 - This version is now paired with the Backend.AI Client for Python v1.0.0
   release.

 - Add support for Python 3.5 (along with the new Backend.AI client library).

 - README is provided in ReST to remove dev-dependency to pypandoc.

0.1.3 (2017-09-19)
------------------

 - This is a transitional release to make notice of package renaming on PyPI.

 - Add C/C++/Java kernels.

0.1.2 (2017-04-07)
------------------

 - Add PyTorch kernels.

0.1.1 (2017-03-29)
------------------

 - Add syntax highlighting support.

0.1.0 (2017-03-16)
------------------

 - Initial preview release.