Skip to main content

Convert Jupyter notebook to nuclio

Project description

nuclio Jupyter Export

License

Convert Jupyter notebook to Python code that can run as nuclio handler

Installing

pip install nuclio-jupyter

Install in Notebook

Run the following in a cell

# nuclio: ignore
!pip install nuclio-jupyter

Usage

When developing, import Context and Event from nucilo and use it to generate a mock context and request.

# nuclio: ignore
from nuclio import Context, Event

context = Context()
event = Event(body='Hello Nuclio')
# your code goes here

In the cell you'd like to become the handler, added the comment # nuclio:handler. If there's a specific line you'd like to be the returned one - added # nuclio:return at the end of it.

Cells containing # nuclio: ignore comment will be commented out in the export process.

Now choose File/Download as/Nuclio in Jupyter notebook

Or you can run

jupyter nbconvert --to nuclio example.ipynb

This will create example.py with your code wrapped in handler function and all cells with # nuclio: ignore commented out.

Example

Will generate

# Generated by nuclio-jupyter exporter

# In[1]:
def greeting(name):
    return 'Hi ' + name + '. How are you?'

# In[2]:
default_name = 'Dave'

# In[3]:

# In[4]:
def handler(context, event):
    # nuclio:handler
    return greeting(event.body)

Other Notebooks

We currently don't support Jupyter Lab, Google Colaboratory, Kaggle Notebooks and others.

You can use nuclio.print_handler_code to print the handler code and then copy&paste it to the nuclio dashboard.

Try It Out

You can build a docker image and try it out

Build

$ docker build -t jupyter-nuclio .

Run

$ docker run -p 8888:8888 jupyter-nuclio

Then open your browser at http://localhost:8888 and enter the password nuclio when prompted.

Developing

We're using pipenv as package manager. To install dependencies run

$ pipenv sync -d

To run the tests run

$ pipenv run python -m pytest -v tests

Licence

Apache 2.0 (see LICENSE.txt)

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

nuclio-jupyter-0.2.1.tar.gz (397.3 kB view hashes)

Uploaded Source

Built Distribution

nuclio_jupyter-0.2.1-py3-none-any.whl (7.9 kB view hashes)

Uploaded Python 3

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