Convert Jupyter notebook to nuclio
Project description
nuclio Jupyter Export
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
# 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)
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
Built Distribution
Hashes for nuclio_jupyter-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e506be65143a19da104569f96783f3a4533967db74a3cc13576f03d655440f2b |
|
MD5 | d60867c05223d87cfb59ba091a2f5d44 |
|
BLAKE2b-256 | 6a64b041636d0c1eed4f439a180c84059ca7c949a9ca5a7fdfeb09bf421127cd |