mrx-runway


Namemrx-runway JSON
Version 0.0.2410021544 PyPI version JSON
download
home_pageNone
Summarymakina-runway
upload_time2024-10-02 06:46:54
maintainerNone
docs_urlNone
authorMRX.dev
requires_python<3.11,>=3.8
licenseNone
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"
}
        
Elapsed time: 0.38828s