{ "info": { "author": "Xavier Dupr\u00e9", "author_email": "xavier.dupre@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Education", "Topic :: Scientific/Engineering" ], "description": "\n.. image:: https://travis-ci.org/sdpython/lightmlrestapi.svg?branch=master\n :target: https://travis-ci.org/sdpython/lightmlrestapi\n :alt: Build status\n\n.. image:: https://ci.appveyor.com/api/projects/status/itkrtmperlhjm4xw?svg=true\n :target: https://ci.appveyor.com/project/sdpython/lightmlrestapi\n :alt: Build Status Windows\n\n.. image:: https://circleci.com/gh/sdpython/lightmlrestapi/tree/master.svg?style=svg\n :target: https://circleci.com/gh/sdpython/lightmlrestapi/tree/master\n\n.. image:: https://badge.fury.io/py/lightmlrestapi.svg\n :target: http://badge.fury.io/py/lightmlrestapi\n\n.. image:: https://img.shields.io/badge/license-MIT-blue.svg\n :alt: MIT License\n :target: http://opensource.org/licenses/MIT\n\n.. image:: https://requires.io/github/sdpython/lightmlrestapi/requirements.svg?branch=master\n :target: https://requires.io/github/sdpython/lightmlrestapi/requirements/?branch=master\n :alt: Requirements Status\n\n.. image:: https://codecov.io/github/sdpython/lightmlrestapi/coverage.svg?branch=master\n :target: https://codecov.io/github/sdpython/lightmlrestapi?branch=master\n\n.. image:: http://img.shields.io/github/issues/sdpython/lightmlrestapi.png\n :alt: GitHub Issues\n :target: https://github.com/sdpython/lightmlrestapi/issues\n\n.. image:: https://badge.waffle.io/sdpython/lightmlrestapi.png?label=to%20do&title=to%20do\n :alt: Waffle\n :target: https://waffle.io/sdpython/lightmlrestapi\n\n.. image:: http://www.xavierdupre.fr/app/lightmlrestapi/helpsphinx/_images/nbcov.png\n :target: http://www.xavierdupre.fr/app/lightmlrestapi/helpsphinx/all_notebooks_coverage.html\n :alt: Notebook Coverage\n\n.. _l-README:\n\nlightmlrestapi\n==============\n\nIt implements a light machine learning *REST API*\nbased on *falcon*. You can test a dummy *wsgi* server by running:\n\n::\n\n start_mlrestapi --name=dummy\n\nAnd then query it with:\n\n::\n\n import requests\n import ujson\n features = ujson.dumps({'X': [0.1, 0.2]})\n r = requests.post('http://127.0.0.1:8081', data=features)\n print(r)\n print(r.json())\n\nIt should return:\n\n::\n\n {'Y': [[0.4994216179, 0.4514893599, 0.0490890222]]}\n\nThe module was first tried with success in a hackathon in 2018.\nParticipants could upload their model and retrieve their predictions\nthrough a REST API to check it was producing the same one as they had.\nA simple way to put a model into production.\n\n* `GitHub/lightmlrestapi `_\n* `documentation `_\n* `Blog `_\n\n.. _l-HISTORY:\n\n=======\nHistory\n=======\n\ncurrent - 2019-05-17 - 0.00Mb\n=============================\n\n* `20`: fix issue with falcon 2.0 (2019-05-08)\n* `17`: reload module mapped to subfolder (2019-01-11)\n* `16`: add full example to start a rest api (2018-12-01)\n\n0.1.111 - 2018-11-16 - 0.12Mb\n=============================\n\n* `9`: add version number to REST API (2018-11-13)\n* `6`: allow a zip file which contains data and code (2018-11-13)\n* `4`: add authentification to the rest api (2018-11-13)\n\n0.1.88 - 2018-11-05 - 0.11Mb\n============================\n\n* `8`: allow clear logs (2018-11-02)\n* `5`: add a load function (2018-11-02)\n* `3`: add ip address in the logging (2018-04-15)\n* `2`: add encrypted logging (2018-04-15)\n* `1`: fix gallery of examples (style) (2018-01-05)\n\n0.1.37 - 2017-12-06 - 0.10Mb\n============================\n", "description_content_type": "", "docs_url": null, "download_url": "https://github.com/sdpython/lightmlrestapi/", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.xavierdupre.fr/app/lightmlrestapi/helpsphinx/index.html", "keywords": "lightmlrestapi", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "lightmlrestapi", "package_url": "https://pypi.org/project/lightmlrestapi/", "platform": "", "project_url": "https://pypi.org/project/lightmlrestapi/", "project_urls": { "Download": "https://github.com/sdpython/lightmlrestapi/", "Homepage": "http://www.xavierdupre.fr/app/lightmlrestapi/helpsphinx/index.html" }, "release_url": "https://pypi.org/project/lightmlrestapi/0.2.151/", "requires_dist": null, "requires_python": "", "summary": "Light REST API for machine learned models", "version": "0.2.151" }, "last_serial": 5281948, "releases": { "0.1.111": [ { "comment_text": "", "digests": { "md5": "b2340a6ec85913d8994a2bf4f9c81e76", "sha256": "1c6e5ae171457293cc306e44c063b35a2cac172fa6327abdb835974c767e3d01" }, "downloads": -1, "filename": "lightmlrestapi-0.1.111-py3-none-any.whl", "has_sig": false, "md5_digest": "b2340a6ec85913d8994a2bf4f9c81e76", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 128795, "upload_time": "2018-11-16T11:59:02", "url": "https://files.pythonhosted.org/packages/7e/11/0089a2a4ffef8e534c99cc523ca3465e290362a9b2330f4e06babd7cb74e/lightmlrestapi-0.1.111-py3-none-any.whl" } ], "0.1.37": [ { "comment_text": "", "digests": { "md5": "d9247a9ee48148c1cf112c0c1b2e8c2f", "sha256": "5c42b28c770d77d3f88716483c7a4524129439a7a42327eca8054c71bfd9d064" }, "downloads": -1, "filename": "lightmlrestapi-0.1.37-py3-none-any.whl", "has_sig": false, "md5_digest": "d9247a9ee48148c1cf112c0c1b2e8c2f", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 107139, "upload_time": "2017-12-06T16:51:28", "url": "https://files.pythonhosted.org/packages/72/0b/29c16ff433bcce4668104ad506c0b275e9c47214196b7e6ff8f1800cd9e6/lightmlrestapi-0.1.37-py3-none-any.whl" } ], "0.1.88": [ { "comment_text": "", "digests": { "md5": "f81b77004f59d4b30873ac6402d1a3f4", "sha256": "8d2c2e14304062b69db73819296c91ba18822299894fe0fb1417e53d817d83af" }, "downloads": -1, "filename": "lightmlrestapi-0.1.88-py3-none-any.whl", "has_sig": false, "md5_digest": "f81b77004f59d4b30873ac6402d1a3f4", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 110190, "upload_time": "2018-11-05T00:03:59", "url": "https://files.pythonhosted.org/packages/cb/5d/153c12dedde59f20a68878555562a61d5b2f7b51f692b42d43283c227a05/lightmlrestapi-0.1.88-py3-none-any.whl" } ], "0.2.151": [ { "comment_text": "", "digests": { "md5": "6d872e2ae943b231efb4275ac49c4082", "sha256": "b2bc3ebfe7f71b2e74c4996fe3e32414a6264b23ce2d3cb99ef61805e471a3e3" }, "downloads": -1, "filename": "lightmlrestapi-0.2.151-py3-none-any.whl", "has_sig": false, "md5_digest": "6d872e2ae943b231efb4275ac49c4082", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 128018, "upload_time": "2019-05-17T12:10:35", "url": "https://files.pythonhosted.org/packages/c1/eb/6559bc8d0b63e88f90b6939a7f26067c02af3c4aa7270108374d1d67af5d/lightmlrestapi-0.2.151-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6d872e2ae943b231efb4275ac49c4082", "sha256": "b2bc3ebfe7f71b2e74c4996fe3e32414a6264b23ce2d3cb99ef61805e471a3e3" }, "downloads": -1, "filename": "lightmlrestapi-0.2.151-py3-none-any.whl", "has_sig": false, "md5_digest": "6d872e2ae943b231efb4275ac49c4082", "packagetype": "bdist_wheel", "python_version": "3.7", "requires_python": null, "size": 128018, "upload_time": "2019-05-17T12:10:35", "url": "https://files.pythonhosted.org/packages/c1/eb/6559bc8d0b63e88f90b6939a7f26067c02af3c4aa7270108374d1d67af5d/lightmlrestapi-0.2.151-py3-none-any.whl" } ] }