Name | meteorite JSON |
Version |
0.1.0
JSON |
| download |
home_page | None |
Summary | A fast and simple web server for machine learning models |
upload_time | 2023-10-23 05:25:51 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.7 |
license | None |
keywords |
model
server
api
hosting
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# ☄️ Meteorite
A fast and simple web server to host your Machine Learning model.
<!-- TOC -->
- [☄️ Meteorite](#-meteorite)
- [Install the pip package](#install-the-pip-package)
- [Write your server](#write-your-server)
- [Project status](#project-status)
- [Contribute to ☄️ Meteorite](#contribute-to--meteorite)
<!-- TOC -->
## Install the pip package
```shell
pip install meteorite
```
## Write your server
```python
import json
import meteorite
app = meteorite.Meteorite()
app.set_webhook_url("https://testapp.via.routehead.com")
@app.predict
def predict(data):
body = data.decode("utf-8")
"""
Run your model on the input
"""
return body
app.start(port=4000) # port is 4000 by default
```
By default, the server starts at port `4000`. The `predict` function will run with GET/POST requests on `/predict`.
## Get your result: a webhook
The `set_webhook_url` function has been added to the Meteorite API to get responses from prediction requests. This makes Meteorite suitable for use in long-running ML tasks.
### The webhook URL
Your webhook URL must accept a POST request at the specific route. The result JSON will be sent as body of the request.
## Project status
This project is under active development. We will not recommend you to use this package for critical applications.
We will welcome all contributions! Please refer to the contributions section for more details.
Some of the features we're still working on:
- [x] Pass POST request String and JSON into the Python function.
- [x] Return String and JSON with the correct content type headers.
- [x] Graceful error handling (⚠️ Priority).
- [x] Customise the port for the server
- [ ] Allow more datatypes for POST request to the model.
- [ ] Create more examples.
## Contribute to ☄️ Meteorite
Please refer to the [CONTRIBUTING.md](CONTRIBUTING.md) docs for details.
[Join our Discord channel](https://discord.gg/qXTn7cZzrZ) if you have more questions.
Raw data
{
"_id": null,
"home_page": null,
"name": "meteorite",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "Utkarsh Goel <utkarsh@deploif.ai>, Sean Chok <seanchok@deploif.ai>",
"keywords": "model,server,api,hosting",
"author": null,
"author_email": null,
"download_url": null,
"platform": null,
"description": "# \u2604\ufe0f Meteorite\n\nA fast and simple web server to host your Machine Learning model.\n\n<!-- TOC -->\n\n- [\u2604\ufe0f Meteorite](#-meteorite)\n - [Install the pip package](#install-the-pip-package)\n - [Write your server](#write-your-server)\n - [Project status](#project-status)\n - [Contribute to \u2604\ufe0f Meteorite](#contribute-to--meteorite)\n <!-- TOC -->\n\n## Install the pip package\n\n```shell\npip install meteorite\n```\n\n## Write your server\n\n```python\nimport json\nimport meteorite\n\napp = meteorite.Meteorite()\napp.set_webhook_url(\"https://testapp.via.routehead.com\")\n\n@app.predict\ndef predict(data):\n body = data.decode(\"utf-8\")\n \"\"\"\n Run your model on the input\n \"\"\"\n return body\n\napp.start(port=4000) # port is 4000 by default\n```\n\nBy default, the server starts at port `4000`. The `predict` function will run with GET/POST requests on `/predict`.\n\n## Get your result: a webhook\n\nThe `set_webhook_url` function has been added to the Meteorite API to get responses from prediction requests. This makes Meteorite suitable for use in long-running ML tasks.\n\n### The webhook URL \n\nYour webhook URL must accept a POST request at the specific route. The result JSON will be sent as body of the request.\n\n## Project status\n\nThis project is under active development. We will not recommend you to use this package for critical applications.\nWe will welcome all contributions! Please refer to the contributions section for more details.\n\nSome of the features we're still working on:\n\n- [x] Pass POST request String and JSON into the Python function.\n- [x] Return String and JSON with the correct content type headers.\n- [x] Graceful error handling (\u26a0\ufe0f Priority).\n- [x] Customise the port for the server\n- [ ] Allow more datatypes for POST request to the model.\n- [ ] Create more examples.\n\n## Contribute to \u2604\ufe0f Meteorite\n\nPlease refer to the [CONTRIBUTING.md](CONTRIBUTING.md) docs for details.\n\n[Join our Discord channel](https://discord.gg/qXTn7cZzrZ) if you have more questions.\n\n",
"bugtrack_url": null,
"license": null,
"summary": "A fast and simple web server for machine learning models",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"model",
"server",
"api",
"hosting"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "14ac3e7796fa715009af532a404e6db4d892a2686f44ee4e90d7344698f13f8b",
"md5": "b7409ecf31a061801c73b42b9657ca09",
"sha256": "1818937bafd5d16d7104906cd69347317cb619db50b50d9fcd8a1f872db30440"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "b7409ecf31a061801c73b42b9657ca09",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 6598900,
"upload_time": "2023-10-23T05:25:51",
"upload_time_iso_8601": "2023-10-23T05:25:51.373602Z",
"url": "https://files.pythonhosted.org/packages/14/ac/3e7796fa715009af532a404e6db4d892a2686f44ee4e90d7344698f13f8b/meteorite-0.1.0-cp310-cp310-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ec98c3b35fa260f83fd498eef1c2ffdc809ca7c6113d2e80d6b87104179bcb6b",
"md5": "9759b025bbea73a551448842f48ba622",
"sha256": "d67965a41cfa4e3d19bec0580224b8df9a3fe94004762e545e4de45fac53286c"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9759b025bbea73a551448842f48ba622",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 5137367,
"upload_time": "2023-10-23T05:12:25",
"upload_time_iso_8601": "2023-10-23T05:12:25.342483Z",
"url": "https://files.pythonhosted.org/packages/ec/98/c3b35fa260f83fd498eef1c2ffdc809ca7c6113d2e80d6b87104179bcb6b/meteorite-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "a9305828868527ef98878c72464b7b732f0ce841c01418d2fcdbc824d0d980c7",
"md5": "596ba38611d717efc96f30a862ef7b90",
"sha256": "6bc04cf3a553e6e18199873ff0083db8708c73f8c83384e3eb44fc7af036c71f"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "596ba38611d717efc96f30a862ef7b90",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 3319474,
"upload_time": "2023-10-23T05:18:45",
"upload_time_iso_8601": "2023-10-23T05:18:45.085485Z",
"url": "https://files.pythonhosted.org/packages/a9/30/5828868527ef98878c72464b7b732f0ce841c01418d2fcdbc824d0d980c7/meteorite-0.1.0-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "81dcfbbe429f63afba5ad139a2999f595f621e1a8cc81d54fd7ca54d539c0860",
"md5": "d5dbf4e7066df901418c725de854fdfd",
"sha256": "e1a3d3efd748ff68816e98c33a6b30beeb5a519951120cba3c0eafd1226e9c03"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "d5dbf4e7066df901418c725de854fdfd",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 6598901,
"upload_time": "2023-10-23T05:35:53",
"upload_time_iso_8601": "2023-10-23T05:35:53.037870Z",
"url": "https://files.pythonhosted.org/packages/81/dc/fbbe429f63afba5ad139a2999f595f621e1a8cc81d54fd7ca54d539c0860/meteorite-0.1.0-cp311-cp311-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b218bde2e3450be1225b474485dbfd7a1c335afc966985447765c33ec4e46fe5",
"md5": "25917a29e6f743750b36172acb6e3732",
"sha256": "8bbcca3a5a3098590a5385be3d40aba6928f69bdebb34b2c69ed2243730ff37b"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "25917a29e6f743750b36172acb6e3732",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 5137368,
"upload_time": "2023-10-23T05:12:47",
"upload_time_iso_8601": "2023-10-23T05:12:47.917557Z",
"url": "https://files.pythonhosted.org/packages/b2/18/bde2e3450be1225b474485dbfd7a1c335afc966985447765c33ec4e46fe5/meteorite-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "1c02c1dfc62d90f64c5c0e93940e0055b6fcf76212503931add0946e6b2a0aef",
"md5": "bfd85e64e195a996625f872b3ccc2fe9",
"sha256": "b3cacae1e9040395bfce48bde3eb5b0bec173ced26e2c2cc9ab426839ae83ae1"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "bfd85e64e195a996625f872b3ccc2fe9",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 3319477,
"upload_time": "2023-10-23T05:17:25",
"upload_time_iso_8601": "2023-10-23T05:17:25.068592Z",
"url": "https://files.pythonhosted.org/packages/1c/02/c1dfc62d90f64c5c0e93940e0055b6fcf76212503931add0946e6b2a0aef/meteorite-0.1.0-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "212120c15157842d76e57be689ab70d107423fa9d086c3a490c09ba4759cd195",
"md5": "2dbd6a6d4270f97dfda8141cef62fba5",
"sha256": "7dbd256ec110ff41d2fa84edb55d1e80bf26f407be6e060bd02d646049046e88"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "2dbd6a6d4270f97dfda8141cef62fba5",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 6602222,
"upload_time": "2023-10-23T05:37:29",
"upload_time_iso_8601": "2023-10-23T05:37:29.192431Z",
"url": "https://files.pythonhosted.org/packages/21/21/20c15157842d76e57be689ab70d107423fa9d086c3a490c09ba4759cd195/meteorite-0.1.0-cp37-cp37m-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "eb4cb6eabc5b634c3c5c6ae61ead1e7932f1b607cb9b623bfe27120ce15f77fb",
"md5": "559b4b173d031219441f4ccfc919f7f8",
"sha256": "85fbcd41e7644f23ee41d0592b56284494db416565d01822dbba2fb58139d28d"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "559b4b173d031219441f4ccfc919f7f8",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 5139173,
"upload_time": "2023-10-23T05:11:10",
"upload_time_iso_8601": "2023-10-23T05:11:10.399773Z",
"url": "https://files.pythonhosted.org/packages/eb/4c/b6eabc5b634c3c5c6ae61ead1e7932f1b607cb9b623bfe27120ce15f77fb/meteorite-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d305a46205adeab6904fe5c5e6b95198657b233b23386273317e1e01985cc41",
"md5": "ec7a53e1fb944fa7e3518d84507332bf",
"sha256": "df79817b186cc197d2bb597ee116507fcb503763f3c9b630df8486e05ee3cd01"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp37-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "ec7a53e1fb944fa7e3518d84507332bf",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 3322537,
"upload_time": "2023-10-23T05:17:39",
"upload_time_iso_8601": "2023-10-23T05:17:39.800987Z",
"url": "https://files.pythonhosted.org/packages/3d/30/5a46205adeab6904fe5c5e6b95198657b233b23386273317e1e01985cc41/meteorite-0.1.0-cp37-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5c4b86ff617febb4fef1640f73734ba2081f69e5332a90c85bf17bf93b9b610e",
"md5": "855200b32db8f73662058d58d6cfc7bb",
"sha256": "92956256f42294f27704f22b27dfeba476a5a96ec7d363d9c587cdc213e7ac20"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "855200b32db8f73662058d58d6cfc7bb",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 6601681,
"upload_time": "2023-10-23T05:38:50",
"upload_time_iso_8601": "2023-10-23T05:38:50.147118Z",
"url": "https://files.pythonhosted.org/packages/5c/4b/86ff617febb4fef1640f73734ba2081f69e5332a90c85bf17bf93b9b610e/meteorite-0.1.0-cp38-cp38-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "06851a14dbca95820a06ad9377ccca621eb7e316400c243ecabe592b5e72f9f7",
"md5": "403a7bee2b3513a6dd2d4234e5a8ebf4",
"sha256": "98f455c73e555defbcc7286c490eee28fe561daf52a491b6a90bf629d2afb7f3"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "403a7bee2b3513a6dd2d4234e5a8ebf4",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 5139336,
"upload_time": "2023-10-23T05:11:03",
"upload_time_iso_8601": "2023-10-23T05:11:03.663468Z",
"url": "https://files.pythonhosted.org/packages/06/85/1a14dbca95820a06ad9377ccca621eb7e316400c243ecabe592b5e72f9f7/meteorite-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d84a830a0a1b6d38bf8208c4cea75e5768d314a3c33f55682bf2a8b72c08041d",
"md5": "1a7ef874f662db4b66d961d238c6244a",
"sha256": "b949f0e69dd65a0064ea520cae3a2e5b6fc68382dd4dc8ae6fe667989f3e1374"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "1a7ef874f662db4b66d961d238c6244a",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 3322504,
"upload_time": "2023-10-23T05:18:30",
"upload_time_iso_8601": "2023-10-23T05:18:30.812627Z",
"url": "https://files.pythonhosted.org/packages/d8/4a/830a0a1b6d38bf8208c4cea75e5768d314a3c33f55682bf2a8b72c08041d/meteorite-0.1.0-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "adb568dcf1272cc621a9b1d3863f9711bd49923eb7aa02daa44940d64f0007db",
"md5": "afdc8201506879e344516d60f17f2cf3",
"sha256": "67dd6f8456cd2e78a58de5ce46f288394fda52a31d052d777c732dd89638885d"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"has_sig": false,
"md5_digest": "afdc8201506879e344516d60f17f2cf3",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 6599980,
"upload_time": "2023-10-23T05:41:05",
"upload_time_iso_8601": "2023-10-23T05:41:05.627952Z",
"url": "https://files.pythonhosted.org/packages/ad/b5/68dcf1272cc621a9b1d3863f9711bd49923eb7aa02daa44940d64f0007db/meteorite-0.1.0-cp39-cp39-macosx_10_9_x86_64.macosx_11_0_arm64.macosx_10_9_universal2.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2b06f6fddcc767aa9330b0193ea6303ea0ae1cc2dd7f29f73d109566c6559e69",
"md5": "69f1be1778341c6bde1f2bb019daa5e6",
"sha256": "6d32aa9467fcd98ab31be17abde412f2ee61a26b7afb9ed522768301ae31a978"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "69f1be1778341c6bde1f2bb019daa5e6",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 5137995,
"upload_time": "2023-10-23T05:11:11",
"upload_time_iso_8601": "2023-10-23T05:11:11.578864Z",
"url": "https://files.pythonhosted.org/packages/2b/06/f6fddcc767aa9330b0193ea6303ea0ae1cc2dd7f29f73d109566c6559e69/meteorite-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "878740f7e18b4ec69421417e3b1e6a27c031de8aee678888eb412a8c9e31e2ef",
"md5": "9bf24cb91b94d73a537770d14ba72e3c",
"sha256": "3a74ae41719ec1130a366a5dca2c768a14d4667042060ec2b9412b83a1f85664"
},
"downloads": -1,
"filename": "meteorite-0.1.0-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "9bf24cb91b94d73a537770d14ba72e3c",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 3319682,
"upload_time": "2023-10-23T05:17:41",
"upload_time_iso_8601": "2023-10-23T05:17:41.515456Z",
"url": "https://files.pythonhosted.org/packages/87/87/40f7e18b4ec69421417e3b1e6a27c031de8aee678888eb412a8c9e31e2ef/meteorite-0.1.0-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-23 05:25:51",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "meteorite"
}