Skip to content

Hydrospheredata/hydro-serving-python

Repository files navigation

hydro-serving-python

Python runtime for Hydrosphere Serving. Provides a GRPC API for Python scripts.

Supported versions are: python-3.7 python-3.8

Build commands

  • make test
  • make python-${VERSION} - build docker runtime with python:${VERSION}-alpine base image
  • make clean - clean repository from temp files

Usage

This runtime uses src/func_main.py script as an entry point. You may create any arbitrary Python application within, just keep in mind that the entry point of your script has to be located in src/func_main.py.

Example of a func_main.py:

import pandas as pd from joblib import load # Load an ML model during runtime initialisation clf = load('/model/files/classification_model.joblib') # This function is called on each request # Input and output must comply with your model's signature  def predict(**kwargs): # kwargs is a dict with Numpy arrays or scalars you've specified in a signature x = pd.DataFrame.from_dict({"request": kwargs}).T predicted = clf.predict(x) return {"income": int(predicted)}

or if you wish to work with proto messages:

 return {"income": TensorProto(int_val=[int(predicted)], dtype=DT_INT32, tensor_shape=TensorShapeProto())}