vmlab-py


Namevmlab-py JSON
Version 0.1.14 PyPI version JSON
download
home_pageNone
SummaryA Rust-based library from vmlab
upload_time2025-07-29 06:17:16
maintainerNone
docs_urlNone
authorNone
requires_pythonNone
licenseMIT
keywords rust mask pyo3 numpy
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vmlab-py-package

pypi link : [vmlab_py](https://pypi.org/project/vmlab-py/)

Rust 기반으로 구현된 Python 패키지 **`vmlab-py`**

## 목표

- Native 언어로 구현하여 python내에서 성능 효율성 높이기

### **프로젝트 정보**

- 현재 버전 **0.1.14**
- GitHub Repository: [vmlab-py-package](https://github.com/VMONSTER-AI/vmlab-py-package)
- PyPI: [vmlab-py](https://pypi.org/project/vmlab-py/)

## 설치

```bash
pip install vmlab-py==0.1.6
```

### 모듈에 포함된 함수

### 1. **a2ev1_melspectrogram**

- **설명**: Audio2Exp V1 모델을 위한 Mel Spectrogram 생성 (샘플레이트가 다를 경우 16000으로 변환)
- **입력**:
    - `wav` (`numpy.ndarray`): numpy.ndarray 형태의 WAV 데이터
    - `sample_rate` (`u32`): `wav` 의 sample rate
- **출력**:
    - Mel Spectrogram을 바이트 리스트로 반환

---

### 2. **a2ev2_melspectrogram**

- **설명**: Audio2Exp V2 모델을 위한 Mel Spectrogram 생성 (샘플레이트가 다를 경우 16000으로 변환)
- **입력**:
    - `wav` (`numpy.ndarray`): numpy.ndarray 형태의 WAV 데이터
    - `sample_rate` (`u32`): `wav` 의 sample rate
- **출력**:
    - Mel Spectrogram을 바이트 리스트로 반환

---

### 3. **dummy_func**

- **설명**: 초기화를 위한 더미 함수
- **출력**:
    - 더미 값 `0` 반환

---

### 4. **reconstruct_mask**

- **설명**: CompactMaskModel로부터 그레이스케일 마스크 복원
- **입력**:
    - `bytes` (`PyBytes`): CompactMaskModel의 직렬화된 데이터
    - `width` (`usize`): 출력 이미지의 너비
    - `height` (`usize`): 출력 이미지의 높이
    - `scale` (`Tuple(f32, str)`): 마스크의 크기 조정 비율 및 리사이징 필터 타입 (옵션)
        - **FilterType**:
            - **NEAREST**: "nearest" 또는 "lowest"
            - **LINEAR**: "linear", "triangle", "low"
            - **CATMULLROM**: "catmullrom", "cubic", "medium"
            - **GAUSSIAN**: "gaussian", "high"
            - **LANZOS**: "lanzos", "highest"
- **출력**:
    - 복원된 마스크를 `numpy.ndarray` 형태로 반환 (H, W)


## Publish

### Requirements

```bash
pip install maturin
```

### Build the python package

```bash
maturin build --release
```

### Test in locally

```
pip install target/wheels/{GENERATED_WHEELS_NAME}.whl
```

### Publish to PyPI

```
maturin publish
```

### Build for arm and upload file

manylinux에서 빌드. (manylinux는 다양한 리눅스 배포판에서 동작할 수 있는 **바이너리 파이썬 패키지(whl 파일)**를 제공하기 위해 만들어짐.)

Dockerfile에서 빌드 및 업로드까지 해결. ( FROM quay.io/pypa/manylinux_2_28_aarch64 )

**Build (on x86 host)**:

- 변수 PASS에 토큰 입력 필요

```bash
docker buildx build --platform linux/arm64 --build-arg PASS=<token> -t maturin-arm-builder .
```



            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "vmlab-py",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "rust, mask, pyo3, numpy",
    "author": null,
    "author_email": "Jaemin Kim <geminik23@vmonster.io>",
    "download_url": "https://files.pythonhosted.org/packages/b8/79/fced3ae66b7d470b815fce0e074e5a12e0c179468e6c1dc0c234fc06172c/vmlab_py-0.1.14.tar.gz",
    "platform": null,
    "description": "# vmlab-py-package\n\npypi link : [vmlab_py](https://pypi.org/project/vmlab-py/)\n\nRust \uae30\ubc18\uc73c\ub85c \uad6c\ud604\ub41c Python \ud328\ud0a4\uc9c0 **`vmlab-py`**\n\n## \ubaa9\ud45c\n\n- Native \uc5b8\uc5b4\ub85c \uad6c\ud604\ud558\uc5ec python\ub0b4\uc5d0\uc11c \uc131\ub2a5 \ud6a8\uc728\uc131 \ub192\uc774\uae30\n\n### **\ud504\ub85c\uc81d\ud2b8 \uc815\ubcf4**\n\n- \ud604\uc7ac \ubc84\uc804 **0.1.14**\n- GitHub Repository: [vmlab-py-package](https://github.com/VMONSTER-AI/vmlab-py-package)\n- PyPI: [vmlab-py](https://pypi.org/project/vmlab-py/)\n\n## \uc124\uce58\n\n```bash\npip install vmlab-py==0.1.6\n```\n\n### \ubaa8\ub4c8\uc5d0 \ud3ec\ud568\ub41c \ud568\uc218\n\n### 1. **a2ev1_melspectrogram**\n\n- **\uc124\uba85**: Audio2Exp V1 \ubaa8\ub378\uc744 \uc704\ud55c Mel Spectrogram \uc0dd\uc131 (\uc0d8\ud50c\ub808\uc774\ud2b8\uac00 \ub2e4\ub97c \uacbd\uc6b0 16000\uc73c\ub85c \ubcc0\ud658)\n- **\uc785\ub825**:\n    - `wav` (`numpy.ndarray`): numpy.ndarray \ud615\ud0dc\uc758 WAV \ub370\uc774\ud130\n    - `sample_rate` (`u32`): `wav` \uc758 sample rate\n- **\ucd9c\ub825**:\n    - Mel Spectrogram\uc744 \ubc14\uc774\ud2b8 \ub9ac\uc2a4\ud2b8\ub85c \ubc18\ud658\n\n---\n\n### 2. **a2ev2_melspectrogram**\n\n- **\uc124\uba85**: Audio2Exp V2 \ubaa8\ub378\uc744 \uc704\ud55c Mel Spectrogram \uc0dd\uc131 (\uc0d8\ud50c\ub808\uc774\ud2b8\uac00 \ub2e4\ub97c \uacbd\uc6b0 16000\uc73c\ub85c \ubcc0\ud658)\n- **\uc785\ub825**:\n    - `wav` (`numpy.ndarray`): numpy.ndarray \ud615\ud0dc\uc758 WAV \ub370\uc774\ud130\n    - `sample_rate` (`u32`): `wav` \uc758 sample rate\n- **\ucd9c\ub825**:\n    - Mel Spectrogram\uc744 \ubc14\uc774\ud2b8 \ub9ac\uc2a4\ud2b8\ub85c \ubc18\ud658\n\n---\n\n### 3. **dummy_func**\n\n- **\uc124\uba85**: \ucd08\uae30\ud654\ub97c \uc704\ud55c \ub354\ubbf8 \ud568\uc218\n- **\ucd9c\ub825**:\n    - \ub354\ubbf8 \uac12 `0` \ubc18\ud658\n\n---\n\n### 4. **reconstruct_mask**\n\n- **\uc124\uba85**: CompactMaskModel\ub85c\ubd80\ud130 \uadf8\ub808\uc774\uc2a4\ucf00\uc77c \ub9c8\uc2a4\ud06c \ubcf5\uc6d0\n- **\uc785\ub825**:\n    - `bytes` (`PyBytes`): CompactMaskModel\uc758 \uc9c1\ub82c\ud654\ub41c \ub370\uc774\ud130\n    - `width` (`usize`): \ucd9c\ub825 \uc774\ubbf8\uc9c0\uc758 \ub108\ube44\n    - `height` (`usize`): \ucd9c\ub825 \uc774\ubbf8\uc9c0\uc758 \ub192\uc774\n    - `scale` (`Tuple(f32, str)`): \ub9c8\uc2a4\ud06c\uc758 \ud06c\uae30 \uc870\uc815 \ube44\uc728 \ubc0f \ub9ac\uc0ac\uc774\uc9d5 \ud544\ud130 \ud0c0\uc785 (\uc635\uc158)\n        - **FilterType**:\n            - **NEAREST**: \"nearest\" \ub610\ub294 \"lowest\"\n            - **LINEAR**: \"linear\", \"triangle\", \"low\"\n            - **CATMULLROM**: \"catmullrom\", \"cubic\", \"medium\"\n            - **GAUSSIAN**: \"gaussian\", \"high\"\n            - **LANZOS**: \"lanzos\", \"highest\"\n- **\ucd9c\ub825**:\n    - \ubcf5\uc6d0\ub41c \ub9c8\uc2a4\ud06c\ub97c `numpy.ndarray` \ud615\ud0dc\ub85c \ubc18\ud658 (H, W)\n\n\n## Publish\n\n### Requirements\n\n```bash\npip install maturin\n```\n\n### Build the python package\n\n```bash\nmaturin build --release\n```\n\n### Test in locally\n\n```\npip install target/wheels/{GENERATED_WHEELS_NAME}.whl\n```\n\n### Publish to PyPI\n\n```\nmaturin publish\n```\n\n### Build for arm and upload file\n\nmanylinux\uc5d0\uc11c \ube4c\ub4dc. (manylinux\ub294 \ub2e4\uc591\ud55c \ub9ac\ub205\uc2a4 \ubc30\ud3ec\ud310\uc5d0\uc11c \ub3d9\uc791\ud560 \uc218 \uc788\ub294 **\ubc14\uc774\ub108\ub9ac \ud30c\uc774\uc36c \ud328\ud0a4\uc9c0(whl \ud30c\uc77c)**\ub97c \uc81c\uacf5\ud558\uae30 \uc704\ud574 \ub9cc\ub4e4\uc5b4\uc9d0.)\n\nDockerfile\uc5d0\uc11c \ube4c\ub4dc \ubc0f \uc5c5\ub85c\ub4dc\uae4c\uc9c0 \ud574\uacb0. ( FROM quay.io/pypa/manylinux_2_28_aarch64 )\n\n**Build (on x86 host)**:\n\n- \ubcc0\uc218 PASS\uc5d0 \ud1a0\ud070 \uc785\ub825 \ud544\uc694\n\n```bash\ndocker buildx build --platform linux/arm64 --build-arg PASS=<token> -t maturin-arm-builder .\n```\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A Rust-based library from vmlab",
    "version": "0.1.14",
    "project_urls": null,
    "split_keywords": [
        "rust",
        " mask",
        " pyo3",
        " numpy"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "220f664f4c9f76b94e259897da0be2eb29f5128ae929a39d64500261a2b9fdf3",
                "md5": "25a7a0adcdc0ebb293cd66ce79ffe763",
                "sha256": "75924cf610a836c2baa32dbe0a7b59018fd7f2a37328c4516ec4b77742036858"
            },
            "downloads": -1,
            "filename": "vmlab_py-0.1.14-cp312-cp312-manylinux_2_34_x86_64.whl",
            "has_sig": false,
            "md5_digest": "25a7a0adcdc0ebb293cd66ce79ffe763",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": null,
            "size": 622408,
            "upload_time": "2025-07-29T06:17:14",
            "upload_time_iso_8601": "2025-07-29T06:17:14.955524Z",
            "url": "https://files.pythonhosted.org/packages/22/0f/664f4c9f76b94e259897da0be2eb29f5128ae929a39d64500261a2b9fdf3/vmlab_py-0.1.14-cp312-cp312-manylinux_2_34_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b879fced3ae66b7d470b815fce0e074e5a12e0c179468e6c1dc0c234fc06172c",
                "md5": "b7060997998c7277356b754985f8fc4f",
                "sha256": "1a0a1de9bbab5f8818c3dba77d6a89dcb54eb1b20248176dcd3f5f88d062e274"
            },
            "downloads": -1,
            "filename": "vmlab_py-0.1.14.tar.gz",
            "has_sig": false,
            "md5_digest": "b7060997998c7277356b754985f8fc4f",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 23519,
            "upload_time": "2025-07-29T06:17:16",
            "upload_time_iso_8601": "2025-07-29T06:17:16.948718Z",
            "url": "https://files.pythonhosted.org/packages/b8/79/fced3ae66b7d470b815fce0e074e5a12e0c179468e6c1dc0c234fc06172c/vmlab_py-0.1.14.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-29 06:17:16",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "vmlab-py"
}
        
Elapsed time: 1.68597s