Source code for lightmlrestapi.cli.make_ml_upload

"""
Creates and runs an Falcon application.


:githublink:`%|py|5`
"""
import os
import sys


[docs]def upload_model(login="", pwd="", name="", pyfile="", data="", url='127.0.0.1:8081', # pylint: disable=W0102 timeout=50, fLOG=print): # pylint: disable=W0622 """ Uplaods a machine learned models to a REST API defined by :class:`MLStoragePost <lightmlrestapi.mlapp.mlstorage_rest.MLStoragePost>`. :param login: user login :param pwd: user pasword :param name: name of the model, should be unique and not already used :param pyfile: python file which computes the prediction, the file must follows the specification defined in :ref:`l-template-ml` :param data: files to upload :param url: url of the REST API :param timeout: timeout :param fLOG: logging function .. cmdref:: :title: Uploads a machine model :cmd: -m lightmlrestapi upload_model --help :lid: cmd_upload_model_cmd Uploads a machine learned model to a REST API created with *lightmlrestapi*. The code of this command line is equivalent to: :: from lightmlrestapi.netrest import submit_rest_request, json_upload_model req = json_upload_model(name=name, pyfile=pyfile, data=data) submit_rest_request(req, login=login, pwd=pwd, url=url) :githublink:`%|py|40` """ try: from ..netrest import submit_rest_request, json_upload_model except (ImportError, ValueError): folder = os.path.normpath(os.path.join( os.path.abspath(os.path.dirname(__file__)), "..", "..")) sys.path.append(folder) from lightmlrestapi.netrest import submit_rest_request, json_upload_model if isinstance(data, str): data = data.split(',') if fLOG: fLOG('[upload_model] Prepare the JSON request.') req = json_upload_model(name=name, pyfile=pyfile, data=data) if fLOG: fLOG('[upload_model] Submit request - size:', len(req['zip'])) submit_rest_request(req, login=login, pwd=pwd, url=url, fLOG=fLOG) if fLOG: fLOG('[upload_model] Done.')