Name | mrx-runway JSON |
Version |
0.0.2410021544
JSON |
| download |
home_page | None |
Summary | makina-runway |
upload_time | 2024-10-02 06:46:54 |
maintainer | None |
docs_url | None |
author | MRX.dev |
requires_python | <3.11,>=3.8 |
license | None |
keywords |
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# Software Development Kit
- support only python
## Goal
- mlflow를 사용하는 사용자들이 import만 변경하여 runway에 logging하는 방식을 제공한다.
- runway sdk 는 mlflow 의 interface/arguments 를 최대한 맞추는 방향으로 구현해야 한다.
```python
# import mlflow
from runway import mlflow
with mlflow.start_run() as run:
mlflow.log_param()
mlflow.sklearn.save_model()
```
## Install
- makina 사내 pypi server에서 install 합니다.
1. pip install
```
# pip install
pip install --index-url http://pypi.makina.rocks/simple/ --trusted-host pypi.makina.rocks runway
```
```
pyproject.toml의 version 수정 후 테스트 시
pip install --index-url http://pypi.makina.rocks/simple/ --trusted-host pypi.makina.rocks mrx-runway=={{version}}
```
2. poetry 사용
1) pyproject.toml에 사내 pypi source 추가
```
[[tool.poetry.source]]
name = "mrx"
url = "http://pypi.makina.rocks/simple/"
default = true
```
2) poetry add & install
```
poetry add runway
poetry install
```
## Publish
- 정식 version은 runway repo의 tag로 관리됨
- pyproject.toml 파일의 version은 developer의 test를 위한 pseudo-version 임
- local에서 publish test는 make command 사용
```
# version patch, build & publish 한꺼번에 수행
make publish-dev
```
## How to test in local environment
- sdk 개발시 local 에서 unit test 실행방식은 아래와 같습니다. utest 시에는 다양한 mlframework package 가 설치되니, 별도의 명령어보다는 makefile 의 recipe 를 사용하시기 바랍니다.
```bash
make utest
```bash
## How to develop
- sdk 개발을 위한 `python` 환경을 하나 더 생성합니다.
- edit 모드로 sdk를 설치 합니다.
```bash
pip install -e .
```
- /etc/hosts에 minio관련 host를 추가합니다.
- `misc/gw.yaml`, `misc/vs.yaml`을 수정하여 배포합니다.
- `prepare_develop.sh`파일에 `BACKEND_URL`, `MLFLOW_URL`, `MINIO_URL`를 환경에 맞게 수정합니다.
- `prepare_develop.sh`를 실행합니다.
```bash
./prepare_develop.sh
```
- 실행
```bash
DEPLOY_TARGET=dev python examples/sample_log_model.py
```
Raw data
{
"_id": null,
"home_page": null,
"name": "mrx-runway",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11,>=3.8",
"maintainer_email": null,
"keywords": null,
"author": "MRX.dev",
"author_email": "mrx-devops@makinarocks.ai",
"download_url": null,
"platform": null,
"description": "# Software Development Kit\n\n- support only python\n\n## Goal\n\n- mlflow\ub97c \uc0ac\uc6a9\ud558\ub294 \uc0ac\uc6a9\uc790\ub4e4\uc774 import\ub9cc \ubcc0\uacbd\ud558\uc5ec runway\uc5d0 logging\ud558\ub294 \ubc29\uc2dd\uc744 \uc81c\uacf5\ud55c\ub2e4.\n- runway sdk \ub294 mlflow \uc758 interface/arguments \ub97c \ucd5c\ub300\ud55c \ub9de\ucd94\ub294 \ubc29\ud5a5\uc73c\ub85c \uad6c\ud604\ud574\uc57c \ud55c\ub2e4.\n\n```python\n# import mlflow\nfrom runway import mlflow\n\nwith mlflow.start_run() as run:\n mlflow.log_param()\n\nmlflow.sklearn.save_model()\n```\n\n## Install\n\n- makina \uc0ac\ub0b4 pypi server\uc5d0\uc11c install \ud569\ub2c8\ub2e4.\n\n1. pip install\n ```\n # pip install\n pip install --index-url http://pypi.makina.rocks/simple/ --trusted-host pypi.makina.rocks runway\n ```\n\n ```\n pyproject.toml\uc758 version \uc218\uc815 \ud6c4 \ud14c\uc2a4\ud2b8 \uc2dc\n pip install --index-url http://pypi.makina.rocks/simple/ --trusted-host pypi.makina.rocks mrx-runway=={{version}}\n ```\n\n2. poetry \uc0ac\uc6a9\n 1) pyproject.toml\uc5d0 \uc0ac\ub0b4 pypi source \ucd94\uac00\n\n ```\n [[tool.poetry.source]]\n name = \"mrx\"\n url = \"http://pypi.makina.rocks/simple/\"\n default = true\n ```\n 2) poetry add & install\n ```\n poetry add runway\n poetry install\n ```\n\n\n## Publish\n- \uc815\uc2dd version\uc740 runway repo\uc758 tag\ub85c \uad00\ub9ac\ub428\n- pyproject.toml \ud30c\uc77c\uc758 version\uc740 developer\uc758 test\ub97c \uc704\ud55c pseudo-version \uc784\n- local\uc5d0\uc11c publish test\ub294 make command \uc0ac\uc6a9\n ```\n # version patch, build & publish \ud55c\uaebc\ubc88\uc5d0 \uc218\ud589\n make publish-dev\n ```\n\n\n## How to test in local environment\n- sdk \uac1c\ubc1c\uc2dc local \uc5d0\uc11c unit test \uc2e4\ud589\ubc29\uc2dd\uc740 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4. utest \uc2dc\uc5d0\ub294 \ub2e4\uc591\ud55c mlframework package \uac00 \uc124\uce58\ub418\ub2c8, \ubcc4\ub3c4\uc758 \uba85\ub839\uc5b4\ubcf4\ub2e4\ub294 makefile \uc758 recipe \ub97c \uc0ac\uc6a9\ud558\uc2dc\uae30 \ubc14\ub78d\ub2c8\ub2e4.\n```bash\nmake utest\n```bash\n\n## How to develop\n- sdk \uac1c\ubc1c\uc744 \uc704\ud55c `python` \ud658\uacbd\uc744 \ud558\ub098 \ub354 \uc0dd\uc131\ud569\ub2c8\ub2e4.\n- edit \ubaa8\ub4dc\ub85c sdk\ub97c \uc124\uce58 \ud569\ub2c8\ub2e4.\n```bash\npip install -e .\n```\n- /etc/hosts\uc5d0 minio\uad00\ub828 host\ub97c \ucd94\uac00\ud569\ub2c8\ub2e4.\n- `misc/gw.yaml`, `misc/vs.yaml`\uc744 \uc218\uc815\ud558\uc5ec \ubc30\ud3ec\ud569\ub2c8\ub2e4.\n- `prepare_develop.sh`\ud30c\uc77c\uc5d0 `BACKEND_URL`, `MLFLOW_URL`, `MINIO_URL`\ub97c \ud658\uacbd\uc5d0 \ub9de\uac8c \uc218\uc815\ud569\ub2c8\ub2e4.\n- `prepare_develop.sh`\ub97c \uc2e4\ud589\ud569\ub2c8\ub2e4.\n```bash\n./prepare_develop.sh\n```\n- \uc2e4\ud589\n```bash\nDEPLOY_TARGET=dev python examples/sample_log_model.py\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": "makina-runway",
"version": "0.0.2410021544",
"project_urls": null,
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "447b25336e7da79c5f062cbe1f52d58618df3bb21da43cba844756dfde6815b9",
"md5": "3ec55cbc0cef8bd199b6ac8d72313868",
"sha256": "e0c502cd22a9cdd992f25bf351822b24ae34497bf16c2f0c06971cb8d8c9e765"
},
"downloads": -1,
"filename": "mrx_runway-0.0.2410021544-cp39-cp39-macosx_10_15_x86_64.whl",
"has_sig": false,
"md5_digest": "3ec55cbc0cef8bd199b6ac8d72313868",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<3.11,>=3.8",
"size": 913314,
"upload_time": "2024-10-02T06:46:54",
"upload_time_iso_8601": "2024-10-02T06:46:54.123588Z",
"url": "https://files.pythonhosted.org/packages/44/7b/25336e7da79c5f062cbe1f52d58618df3bb21da43cba844756dfde6815b9/mrx_runway-0.0.2410021544-cp39-cp39-macosx_10_15_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2fda7ff619764e37735bdb908a49b68d104b856947abcb09c12d19a7b6c70317",
"md5": "66bb769e73dadb63eb0d146c52b5bc8e",
"sha256": "f9abe6c8dfeae4b6b7aa638c460bfe30ceabeea55a7dbcea4ede46b49ace1ae8"
},
"downloads": -1,
"filename": "mrx_runway-0.0.2410021544-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "66bb769e73dadb63eb0d146c52b5bc8e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<3.11,>=3.8",
"size": 4450200,
"upload_time": "2024-10-02T06:46:58",
"upload_time_iso_8601": "2024-10-02T06:46:58.586891Z",
"url": "https://files.pythonhosted.org/packages/2f/da/7ff619764e37735bdb908a49b68d104b856947abcb09c12d19a7b6c70317/mrx_runway-0.0.2410021544-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4f8950bf17d15735b9e57c7e7874a103d95c6194c05f2020ea1908131a6dc39f",
"md5": "90990a678444fa2fecf4e86010cff2bb",
"sha256": "659a7e11b246ae6d25f1eaca3eb9359dc5cdb939a1d005affb86caac39e515d8"
},
"downloads": -1,
"filename": "mrx_runway-0.0.2410021544-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "90990a678444fa2fecf4e86010cff2bb",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": "<3.11,>=3.8",
"size": 54419,
"upload_time": "2024-10-02T06:46:55",
"upload_time_iso_8601": "2024-10-02T06:46:55.334296Z",
"url": "https://files.pythonhosted.org/packages/4f/89/50bf17d15735b9e57c7e7874a103d95c6194c05f2020ea1908131a6dc39f/mrx_runway-0.0.2410021544-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-02 06:46:54",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "mrx-runway"
}