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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file nuclio-jupyter-0.2.1.tar.gz.

File metadata

  • Download URL: nuclio-jupyter-0.2.1.tar.gz
  • Upload date:
  • Size: 397.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.7.0

File hashes

Hashes for nuclio-jupyter-0.2.1.tar.gz
Algorithm Hash digest
SHA256 ef75faecb81660b6bb904f4bf548b35fcd452c998b80b574f10fdaeed3ca96af
MD5 5be8b55ae33c50096fd10eabeab1684e
BLAKE2b-256 83a77bf905acf4468da0d4fdfe80ae09b1644a3ef890649982d71ccdcf3ead06

See more details on using hashes here.

File details

Details for the file nuclio_jupyter-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: nuclio_jupyter-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.7.0

File hashes

Hashes for nuclio_jupyter-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 194e95e306aeeb7412795551ac25c582539dbf47a767c61527c6be4c32f194f6
MD5 f988c0bb3fb8e1076a52a2c2892b0b5e
BLAKE2b-256 d40392adae576ebf494cc9ae6362b707546a8ae084516c20f012bbe20dcb798d

See more details on using hashes here.

Supported by

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