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

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

# coding: utf-8

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

# In[2]:
default_name = 'Dave'

# In[3]:
# # nuclio:ignore
# from nuclio import Context, Event
# context = Context()
# event = Event(body=default_name)

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

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


Download files

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

Files for nuclio, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size nuclio-0.1.0-py3.7.egg (11.4 kB) File type Egg Python version 3.7 Upload date Hashes View
Filename, size nuclio-0.1.0-py3-none-any.whl (7.0 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size nuclio-0.1.0.tar.gz (108.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page