vmdrs-py
---
Drop in replacement for [vmdpy](https://github.com/vrcarva/vmdpy) with fixes and improvements using the [vmd-rs](https://github.com/jiafuei/vmd-rs) Rust crate.
VMD, aka Variational Mode Decomposition, is a signal processing tool that decompse the input signal into different band-limited IMFs.
Installation
---
Available on [PyPI](https://pypi.org/project/vmdrs-py)
```
pip install --upgrade vmdrs-py
```
Requirements
---
```
numpy>=1.20
```
Examples
---
```
#%% Simple example: generate signal with 3 components + noise
import numpy as np
import matplotlib.pyplot as plt
from vmdrs_py import VMD
#. Time Domain 0 to T
T = 1000
fs = 1/T
t = np.arange(1,T+1)/T
freqs = 2*np.pi*(t-0.5-fs)/(fs)
#. center frequencies of components
f_1 = 2
f_2 = 24
f_3 = 288
#. modes
v_1 = (np.cos(2*np.pi*f_1*t))
v_2 = 1/4*(np.cos(2*np.pi*f_2*t))
v_3 = 1/16*(np.cos(2*np.pi*f_3*t))
f = v_1 + v_2 + v_3 + 0.1*np.random.randn(v_1.size)
#. some sample parameters for VMD
alpha = 2000 # moderate bandwidth constraint
tau = 0. # noise-tolerance (no strict fidelity enforcement)
K = 3 # 3 modes
DC = 0 # no DC part imposed
init = 1 # initialize omegas uniformly
tol = 1e-7
#. Run VMD
u, u_hat, omega = VMD(f, alpha, tau, K, DC, init, tol)
#. Visualize decomposed modes
plt.figure()
plt.subplot(2,1,1)
plt.plot(f)
plt.title('Original signal')
plt.xlabel('time (s)')
plt.subplot(2,1,2)
plt.plot(u.T)
plt.title('Decomposed modes')
plt.xlabel('time (s)')
plt.legend(['Mode %d'%m_i for m_i in range(u.shape[0])])
plt.tight_layout()
```
Compiling from source
---
### Requirements
1. Python >= 3.7
2. Rustc
### Instructions
Rust compiler is needed since this project is compiled using [Maturin](https://github.com/PyO3/maturin).
```
pip install maturin
git clone https://github.com/jiafuei/vmdrs-py.git && cd vmdrs-py
maturin build --release
```
### Customizing BLAS providers
BLAS is used by [ndarray](https://github.com/rust-ndarray/ndarray), follow the instructions there
and edit [Cargo.toml](./Cargo.toml).
Raw data
{
"_id": null,
"home_page": null,
"name": "vmdrs-py",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "signal-processing,vmd,signal-analysis,python",
"author": "jiafuei",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/6a/29/5602daf34b72cde46b8f2c6ee7f7841dde997d0c91c54c37cd75703660af/vmdrs_py-0.3.0.tar.gz",
"platform": null,
"description": "vmdrs-py\r\n---\r\nDrop in replacement for [vmdpy](https://github.com/vrcarva/vmdpy) with fixes and improvements using the [vmd-rs](https://github.com/jiafuei/vmd-rs) Rust crate.\r\n\r\nVMD, aka Variational Mode Decomposition, is a signal processing tool that decompse the input signal into different band-limited IMFs.\r\n\r\nInstallation\r\n---\r\nAvailable on [PyPI](https://pypi.org/project/vmdrs-py)\r\n\r\n```\r\npip install --upgrade vmdrs-py\r\n```\r\n\r\nRequirements\r\n---\r\n```\r\nnumpy>=1.20\r\n```\r\n\r\nExamples\r\n---\r\n```\r\n#%% Simple example: generate signal with 3 components + noise \r\nimport numpy as np \r\nimport matplotlib.pyplot as plt \r\nfrom vmdrs_py import VMD \r\n\r\n#. Time Domain 0 to T \r\nT = 1000 \r\nfs = 1/T \r\nt = np.arange(1,T+1)/T \r\nfreqs = 2*np.pi*(t-0.5-fs)/(fs) \r\n\r\n#. center frequencies of components \r\nf_1 = 2 \r\nf_2 = 24 \r\nf_3 = 288 \r\n\r\n#. modes \r\nv_1 = (np.cos(2*np.pi*f_1*t)) \r\nv_2 = 1/4*(np.cos(2*np.pi*f_2*t)) \r\nv_3 = 1/16*(np.cos(2*np.pi*f_3*t)) \r\n\r\nf = v_1 + v_2 + v_3 + 0.1*np.random.randn(v_1.size) \r\n\r\n#. some sample parameters for VMD \r\nalpha = 2000 # moderate bandwidth constraint \r\ntau = 0. # noise-tolerance (no strict fidelity enforcement) \r\nK = 3 # 3 modes \r\nDC = 0 # no DC part imposed \r\ninit = 1 # initialize omegas uniformly \r\ntol = 1e-7 \r\n\r\n\r\n#. Run VMD \r\nu, u_hat, omega = VMD(f, alpha, tau, K, DC, init, tol) \r\n\r\n#. Visualize decomposed modes\r\nplt.figure()\r\nplt.subplot(2,1,1)\r\nplt.plot(f)\r\nplt.title('Original signal')\r\nplt.xlabel('time (s)')\r\nplt.subplot(2,1,2)\r\nplt.plot(u.T)\r\nplt.title('Decomposed modes')\r\nplt.xlabel('time (s)')\r\nplt.legend(['Mode %d'%m_i for m_i in range(u.shape[0])])\r\nplt.tight_layout()\r\n\r\n```\r\n\r\n\r\nCompiling from source\r\n---\r\n\r\n### Requirements\r\n\r\n1. Python >= 3.7\r\n2. Rustc\r\n\r\n### Instructions\r\nRust compiler is needed since this project is compiled using [Maturin](https://github.com/PyO3/maturin). \r\n```\r\npip install maturin\r\ngit clone https://github.com/jiafuei/vmdrs-py.git && cd vmdrs-py\r\nmaturin build --release\r\n```\r\n\r\n### Customizing BLAS providers\r\nBLAS is used by [ndarray](https://github.com/rust-ndarray/ndarray), follow the instructions there\r\nand edit [Cargo.toml](./Cargo.toml).\r\n\n",
"bugtrack_url": null,
"license": null,
"summary": "Better, drop in replacement of vmdpy",
"version": "0.3.0",
"project_urls": {
"Source Code": "https://github.com/jiafuei/vmdrs-py"
},
"split_keywords": [
"signal-processing",
"vmd",
"signal-analysis",
"python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "a17ba0db63c12c5480eb3ee18660ad41ed3e2a669199dd820334049cd343880c",
"md5": "24c96361524fa588bf9d0b057fdbde75",
"sha256": "37058de1cf23eb2eddfee2a84806fe9e1afba9f2a04b0cd7eb12eb5b3764ef8f"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp310-cp310-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "24c96361524fa588bf9d0b057fdbde75",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 2143545,
"upload_time": "2024-02-13T08:42:01",
"upload_time_iso_8601": "2024-02-13T08:42:01.501603Z",
"url": "https://files.pythonhosted.org/packages/a1/7b/a0db63c12c5480eb3ee18660ad41ed3e2a669199dd820334049cd343880c/vmdrs_py-0.3.0-cp310-cp310-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7befe47364559e4b4ee596ddd179601bee418c9098146f794dfa460580559edd",
"md5": "1c411cdde391ac5e318fcd1a20693380",
"sha256": "6d29b6ae7bd9ebe29f275bfee0231861b43ec0f264529c327b374241c83ec087"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp310-cp310-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "1c411cdde391ac5e318fcd1a20693380",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 5046731,
"upload_time": "2024-02-13T08:42:03",
"upload_time_iso_8601": "2024-02-13T08:42:03.240334Z",
"url": "https://files.pythonhosted.org/packages/7b/ef/e47364559e4b4ee596ddd179601bee418c9098146f794dfa460580559edd/vmdrs_py-0.3.0-cp310-cp310-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "797bf99d0c5b4ad99f68a269b4f1a1c21f37336cd62e4ef3e5176a02062ee62d",
"md5": "63159fe54d2cc510383e37753f4de37c",
"sha256": "fd8cb8bf89271ac8010ae3d2567e53f438d718e883e26f75212e75eaff4c9b13"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp310-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "63159fe54d2cc510383e37753f4de37c",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 452569,
"upload_time": "2024-02-13T08:42:05",
"upload_time_iso_8601": "2024-02-13T08:42:05.203469Z",
"url": "https://files.pythonhosted.org/packages/79/7b/f99d0c5b4ad99f68a269b4f1a1c21f37336cd62e4ef3e5176a02062ee62d/vmdrs_py-0.3.0-cp310-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "5bbf6e2c7da01468ffb3ebb7f2c81dc505323fbd2ac900c38b580f7444e81eb4",
"md5": "34858c3ca3beb3964fd12c6da5066c3b",
"sha256": "385489e2cf9b7596d31db18379bb6e10d892c1399577ef6db15cbe783c3954f9"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "34858c3ca3beb3964fd12c6da5066c3b",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 540951,
"upload_time": "2024-02-13T08:42:07",
"upload_time_iso_8601": "2024-02-13T08:42:07.138488Z",
"url": "https://files.pythonhosted.org/packages/5b/bf/6e2c7da01468ffb3ebb7f2c81dc505323fbd2ac900c38b580f7444e81eb4/vmdrs_py-0.3.0-cp311-cp311-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3a109f295d48d3344717b8ac9e1fb492e9a4c6e789c3608343bd72968e31548f",
"md5": "48337b4a9efd3e04ab62fb483643c2e6",
"sha256": "69b7d4031c6b22c8da9e26cbc531d75ee2fee19f13902eb8f87a2a4afc65384d"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp311-cp311-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "48337b4a9efd3e04ab62fb483643c2e6",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 449954,
"upload_time": "2024-02-13T08:42:08",
"upload_time_iso_8601": "2024-02-13T08:42:08.391338Z",
"url": "https://files.pythonhosted.org/packages/3a/10/9f295d48d3344717b8ac9e1fb492e9a4c6e789c3608343bd72968e31548f/vmdrs_py-0.3.0-cp311-cp311-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7537352ca195a4b49186fdccc34fa763862dedf9e063c1e6f408baccecd5c49b",
"md5": "0cf3823febfc63cdc17a2fbaa0f5a379",
"sha256": "0e0c40170faec4e4b3cc24b1876c9f95c236fd24ac2bdf74e76a8dba2c07b10b"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "0cf3823febfc63cdc17a2fbaa0f5a379",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 2143620,
"upload_time": "2024-02-13T08:42:10",
"upload_time_iso_8601": "2024-02-13T08:42:10.380045Z",
"url": "https://files.pythonhosted.org/packages/75/37/352ca195a4b49186fdccc34fa763862dedf9e063c1e6f408baccecd5c49b/vmdrs_py-0.3.0-cp311-cp311-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "3d8329dc2c66905a69b1e57b392354c7511446dbfe0afe0a32bdfe1736f6341e",
"md5": "3a010b5d758cd4f9c5de24232b9920a7",
"sha256": "9063280bdbe65a258fd62ac7f51adeb773cf3c50b6a7e4696e7f87ec7fe97369"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp311-cp311-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3a010b5d758cd4f9c5de24232b9920a7",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 5046691,
"upload_time": "2024-02-13T08:42:11",
"upload_time_iso_8601": "2024-02-13T08:42:11.759727Z",
"url": "https://files.pythonhosted.org/packages/3d/83/29dc2c66905a69b1e57b392354c7511446dbfe0afe0a32bdfe1736f6341e/vmdrs_py-0.3.0-cp311-cp311-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "9c047827675278615a38462b3d8ce05e9f2f6855ecccce4c48fa0e17a37eff56",
"md5": "0f4d21f47098b4d3fc9293e345b0ebea",
"sha256": "d7e7fd8ef1040b4a340e2818dc4ea66f4f02cd4e3516552adf07dc6c9251ef49"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp311-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "0f4d21f47098b4d3fc9293e345b0ebea",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 452578,
"upload_time": "2024-02-13T08:42:13",
"upload_time_iso_8601": "2024-02-13T08:42:13.800636Z",
"url": "https://files.pythonhosted.org/packages/9c/04/7827675278615a38462b3d8ce05e9f2f6855ecccce4c48fa0e17a37eff56/vmdrs_py-0.3.0-cp311-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "655538d73abed01ebbe1ff7ef486d5a6a809826bc24ec299f18df52eec85269b",
"md5": "3f8d939de6140be7b7b940812e4a0dcf",
"sha256": "fe6dc0d06fb5c00fff77ad40ad6efadcf1219d19c00108c4e9e53024576be3a5"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "3f8d939de6140be7b7b940812e4a0dcf",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 537860,
"upload_time": "2024-02-13T08:42:15",
"upload_time_iso_8601": "2024-02-13T08:42:15.713244Z",
"url": "https://files.pythonhosted.org/packages/65/55/38d73abed01ebbe1ff7ef486d5a6a809826bc24ec299f18df52eec85269b/vmdrs_py-0.3.0-cp312-cp312-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2491e0916699813fe04bf671b6c1edf28139fe77800c309440115e9f8976c106",
"md5": "682f463ad6d371e5f5e66c46c36f2b16",
"sha256": "2d3d4969184a12ea957b3f228d251535afd99a1848e204603659b00c9c01e32c"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp312-cp312-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "682f463ad6d371e5f5e66c46c36f2b16",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 447463,
"upload_time": "2024-02-13T08:42:17",
"upload_time_iso_8601": "2024-02-13T08:42:17.456364Z",
"url": "https://files.pythonhosted.org/packages/24/91/e0916699813fe04bf671b6c1edf28139fe77800c309440115e9f8976c106/vmdrs_py-0.3.0-cp312-cp312-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0ea64a939ed52505c285c2f2c73e3aecbca5cb0c588745f039ef0ee6fc007779",
"md5": "d25260f09cd0e98495500eb77f4e0480",
"sha256": "6af7c3a23dd762b742b8582ab47f8aff843cea73fb46e3436c36891d93aa4a5e"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "d25260f09cd0e98495500eb77f4e0480",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 2141189,
"upload_time": "2024-02-13T08:42:19",
"upload_time_iso_8601": "2024-02-13T08:42:19.190783Z",
"url": "https://files.pythonhosted.org/packages/0e/a6/4a939ed52505c285c2f2c73e3aecbca5cb0c588745f039ef0ee6fc007779/vmdrs_py-0.3.0-cp312-cp312-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "efc401b6aa80c2685b6289a30b7d734fd715d1da70e1b9a7dea189a8c2134e90",
"md5": "a7500d54f6abc405b4232cee60e2ca39",
"sha256": "609171f8e8ce8108e1f60e56c2be9b44788c1561b21f0cc0d6a1e5c5d40a6b6f"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "a7500d54f6abc405b4232cee60e2ca39",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 5042951,
"upload_time": "2024-02-13T08:42:20",
"upload_time_iso_8601": "2024-02-13T08:42:20.622121Z",
"url": "https://files.pythonhosted.org/packages/ef/c4/01b6aa80c2685b6289a30b7d734fd715d1da70e1b9a7dea189a8c2134e90/vmdrs_py-0.3.0-cp312-cp312-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d91fbd128f4e350606fc910c264fd4e32a694517d75fad85777b39b8240429f4",
"md5": "61ffea39a16f33c9e0a5eb134cfa2f07",
"sha256": "f9833979ba5e5dd0a3ee26281f81c7ca3c4fe43fed49580c09120ed24399196a"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp312-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "61ffea39a16f33c9e0a5eb134cfa2f07",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.7",
"size": 450977,
"upload_time": "2024-02-13T08:42:22",
"upload_time_iso_8601": "2024-02-13T08:42:22.609625Z",
"url": "https://files.pythonhosted.org/packages/d9/1f/bd128f4e350606fc910c264fd4e32a694517d75fad85777b39b8240429f4/vmdrs_py-0.3.0-cp312-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "d6e1ceae8a2431650405ff888daefc6db634a56125961f56dfce566912562ce0",
"md5": "559a24ea759ec0c62379890c7c9d6628",
"sha256": "16868bfe7440397bed43fe806ad3943e3bb3d6a80eb21cd4143b2901b1abe89d"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "559a24ea759ec0c62379890c7c9d6628",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": ">=3.7",
"size": 2141188,
"upload_time": "2024-02-13T08:42:23",
"upload_time_iso_8601": "2024-02-13T08:42:23.979379Z",
"url": "https://files.pythonhosted.org/packages/d6/e1/ceae8a2431650405ff888daefc6db634a56125961f56dfce566912562ce0/vmdrs_py-0.3.0-cp313-cp313-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "bced715da263f62f251b83ad9c13ec5ee6f53123056a0b7b152a073f9f5e94b4",
"md5": "c2c4cd3b72b26a51364d0e3259e8d0a6",
"sha256": "a9e433fd706ead0345c6d24d5f32f4e8c3e929b2aa336dbe007eebe98ad3cf3f"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "c2c4cd3b72b26a51364d0e3259e8d0a6",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 2142813,
"upload_time": "2024-02-13T08:42:25",
"upload_time_iso_8601": "2024-02-13T08:42:25.397438Z",
"url": "https://files.pythonhosted.org/packages/bc/ed/715da263f62f251b83ad9c13ec5ee6f53123056a0b7b152a073f9f5e94b4/vmdrs_py-0.3.0-cp37-cp37m-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "03fec322c29b986d39007266167406d8d1d740178f29df3ce15d57beb78ed588",
"md5": "c5598c4fb942acd64892d7a57200bb3c",
"sha256": "48d2f3a993f31e9697b997b673e70886b34a5b5d6abaa88bf2d86ce7a48ead00"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "c5598c4fb942acd64892d7a57200bb3c",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 5046181,
"upload_time": "2024-02-13T08:42:26",
"upload_time_iso_8601": "2024-02-13T08:42:26.885423Z",
"url": "https://files.pythonhosted.org/packages/03/fe/c322c29b986d39007266167406d8d1d740178f29df3ce15d57beb78ed588/vmdrs_py-0.3.0-cp37-cp37m-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "38726999666bd213c22f87efe0ee51ff2c348a0db456f834683a246e85408169",
"md5": "7897714acee48f644641ec14dc0fdc05",
"sha256": "4b35df39c6bb882a53b31f67abe63f4985849f723ac13c50cf875f9f9b883bb8"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp37-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "7897714acee48f644641ec14dc0fdc05",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 452379,
"upload_time": "2024-02-13T08:42:28",
"upload_time_iso_8601": "2024-02-13T08:42:28.260043Z",
"url": "https://files.pythonhosted.org/packages/38/72/6999666bd213c22f87efe0ee51ff2c348a0db456f834683a246e85408169/vmdrs_py-0.3.0-cp37-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8a8917b356691ad5494d5f6207d5ed9b0eb05e0989ac18b10380771252215967",
"md5": "6d7391683da279821ecbae3049013aac",
"sha256": "1a264d0ecd012380d4cece79fc4522fb56c8ec519f01bf0cbfae24300bffe051"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp38-cp38-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "6d7391683da279821ecbae3049013aac",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 2142660,
"upload_time": "2024-02-13T08:42:30",
"upload_time_iso_8601": "2024-02-13T08:42:30.068961Z",
"url": "https://files.pythonhosted.org/packages/8a/89/17b356691ad5494d5f6207d5ed9b0eb05e0989ac18b10380771252215967/vmdrs_py-0.3.0-cp38-cp38-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b3ffbed6e18b3c74e0ec40c44ce719c5132dca432bcf29606aa7c9061054acd7",
"md5": "47d41046889e4bb4cb2acb1cc046ad80",
"sha256": "4369ee791f46ba968b83aa5d7faebaed8aa3827332fcac22966021634ba3c944"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp38-cp38-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "47d41046889e4bb4cb2acb1cc046ad80",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 5046221,
"upload_time": "2024-02-13T08:42:32",
"upload_time_iso_8601": "2024-02-13T08:42:32.180213Z",
"url": "https://files.pythonhosted.org/packages/b3/ff/bed6e18b3c74e0ec40c44ce719c5132dca432bcf29606aa7c9061054acd7/vmdrs_py-0.3.0-cp38-cp38-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "8a31d229fe1f52d79b3ded00da1290e8ef066c94b4ea2f6ce87ed5457b297c79",
"md5": "44c814cf189c45dd21055f00c87a5a2e",
"sha256": "a755ccd79a4c3e6eaf29f07832a8afea2cb2522359a460c481e7521d596bbd7f"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp38-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "44c814cf189c45dd21055f00c87a5a2e",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 452423,
"upload_time": "2024-02-13T08:42:33",
"upload_time_iso_8601": "2024-02-13T08:42:33.833667Z",
"url": "https://files.pythonhosted.org/packages/8a/31/d229fe1f52d79b3ded00da1290e8ef066c94b4ea2f6ce87ed5457b297c79/vmdrs_py-0.3.0-cp38-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "49efd0c95193e57fa5811932fedd4962716e759d98bfa9a1664702dd2b871def",
"md5": "c185cadaf954039798742b942dc99693",
"sha256": "2cac3cfb1110ec1a82937ee8a90ee9b119fe2eb76e1eee38fe14d8824d09768a"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp39-cp39-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "c185cadaf954039798742b942dc99693",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 2143245,
"upload_time": "2024-02-13T08:42:35",
"upload_time_iso_8601": "2024-02-13T08:42:35.663467Z",
"url": "https://files.pythonhosted.org/packages/49/ef/d0c95193e57fa5811932fedd4962716e759d98bfa9a1664702dd2b871def/vmdrs_py-0.3.0-cp39-cp39-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ff830f5d84e82ffd0cf8d8ec3217286e37f1e5f8d3a08b5b8bc8044421de919c",
"md5": "cfc73ecb3ed68a1eee9a4e1e3b91918f",
"sha256": "4705f17a39087165a4e05edf4eb7bb9c7abe1c187b5df4b651187b87ada0816b"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp39-cp39-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "cfc73ecb3ed68a1eee9a4e1e3b91918f",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 5046889,
"upload_time": "2024-02-13T08:42:37",
"upload_time_iso_8601": "2024-02-13T08:42:37.556109Z",
"url": "https://files.pythonhosted.org/packages/ff/83/0f5d84e82ffd0cf8d8ec3217286e37f1e5f8d3a08b5b8bc8044421de919c/vmdrs_py-0.3.0-cp39-cp39-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "ae98d9ffc3e130dc5d5dc7d601ef18f2805526e4a3fa0acb4ea1d06af539d534",
"md5": "4677d21c41c74e15da0ab3c8277b0f6e",
"sha256": "cd13c2c9808ff16b6e669aa6801bc82fb1b3a66cdd6100ffb8cc73ba8ff7574b"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-cp39-none-win_amd64.whl",
"has_sig": false,
"md5_digest": "4677d21c41c74e15da0ab3c8277b0f6e",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 452594,
"upload_time": "2024-02-13T08:42:38",
"upload_time_iso_8601": "2024-02-13T08:42:38.939719Z",
"url": "https://files.pythonhosted.org/packages/ae/98/d9ffc3e130dc5d5dc7d601ef18f2805526e4a3fa0acb4ea1d06af539d534/vmdrs_py-0.3.0-cp39-none-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2759526561c0315fbfe9e8ea12c74cd780599def692e92d1b75e7098870d1637",
"md5": "157efe37caad7eeaca19d244e649ce1a",
"sha256": "8005e1b6e885d17ff1f3eabbaad85aeaa05ef7be9c45284bc7390c1e5d9a167c"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "157efe37caad7eeaca19d244e649ce1a",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.7",
"size": 2143713,
"upload_time": "2024-02-13T08:42:40",
"upload_time_iso_8601": "2024-02-13T08:42:40.284802Z",
"url": "https://files.pythonhosted.org/packages/27/59/526561c0315fbfe9e8ea12c74cd780599def692e92d1b75e7098870d1637/vmdrs_py-0.3.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "fbc7170c5fe91438fd5980f9fc1a8739cc3df7d7f322a6d2ceec323d99754e60",
"md5": "3d4b0f74610883037a915d252eb7ebce",
"sha256": "6d8ce42e9d82d91e4bedd3f32a7fb939d67b62db62fba7d44d5387fb2a7bf14a"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "3d4b0f74610883037a915d252eb7ebce",
"packagetype": "bdist_wheel",
"python_version": "pp310",
"requires_python": ">=3.7",
"size": 5046133,
"upload_time": "2024-02-13T08:42:42",
"upload_time_iso_8601": "2024-02-13T08:42:42.224757Z",
"url": "https://files.pythonhosted.org/packages/fb/c7/170c5fe91438fd5980f9fc1a8739cc3df7d7f322a6d2ceec323d99754e60/vmdrs_py-0.3.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "37d739e53808f799cf72554d9ed6ceba98510175ed60c53712fc9c907f723b0f",
"md5": "06b8af092850c92a3386e36c1debac3c",
"sha256": "55923725745142ce2ea07fc7282f96e86597fd46e55493de648321f55437eb3a"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "06b8af092850c92a3386e36c1debac3c",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": ">=3.7",
"size": 2146125,
"upload_time": "2024-02-13T08:42:43",
"upload_time_iso_8601": "2024-02-13T08:42:43.692597Z",
"url": "https://files.pythonhosted.org/packages/37/d7/39e53808f799cf72554d9ed6ceba98510175ed60c53712fc9c907f723b0f/vmdrs_py-0.3.0-pp37-pypy37_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "918451dad2343457624ad218e1499c431692ef53b68b888275a65e9ace9d7b4b",
"md5": "479c4fc7be62d120cbf76ab92838af93",
"sha256": "23423a83cbb0b450722589013206ba5a67c6fe92a9239d0643ab61407badfaff"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "479c4fc7be62d120cbf76ab92838af93",
"packagetype": "bdist_wheel",
"python_version": "pp37",
"requires_python": ">=3.7",
"size": 5048778,
"upload_time": "2024-02-13T08:42:45",
"upload_time_iso_8601": "2024-02-13T08:42:45.130339Z",
"url": "https://files.pythonhosted.org/packages/91/84/51dad2343457624ad218e1499c431692ef53b68b888275a65e9ace9d7b4b/vmdrs_py-0.3.0-pp37-pypy37_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "395ce4e800bf8384b99c3472c8c376cdb62f0bfa4a78ea70c0629d0a358c35bf",
"md5": "e0104b255a86ebe8b2225ab5f24e4b09",
"sha256": "0bc2266fc1c647cb965d2a8b2ac8c6faee6c25ccd1ca8bbd507656c594e38282"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "e0104b255a86ebe8b2225ab5f24e4b09",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.7",
"size": 2143414,
"upload_time": "2024-02-13T08:42:46",
"upload_time_iso_8601": "2024-02-13T08:42:46.619660Z",
"url": "https://files.pythonhosted.org/packages/39/5c/e4e800bf8384b99c3472c8c376cdb62f0bfa4a78ea70c0629d0a358c35bf/vmdrs_py-0.3.0-pp38-pypy38_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7d8639e7053c0671c0639df6d1bb417f109e48876b4d89144a64fb4ff274499f",
"md5": "c4a1d829063d794f647a98dbd1c5b0af",
"sha256": "d7cec155f82e0e01a057cc8ff97e2a7dac8e4dcad9c824dcc905bb7ff77c6470"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "c4a1d829063d794f647a98dbd1c5b0af",
"packagetype": "bdist_wheel",
"python_version": "pp38",
"requires_python": ">=3.7",
"size": 5046081,
"upload_time": "2024-02-13T08:42:48",
"upload_time_iso_8601": "2024-02-13T08:42:48.037418Z",
"url": "https://files.pythonhosted.org/packages/7d/86/39e7053c0671c0639df6d1bb417f109e48876b4d89144a64fb4ff274499f/vmdrs_py-0.3.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b8b3be67a0f38258f34c600e73f75935e432f7dcdc1ddd573a1f1fd424592970",
"md5": "3881d947b1c28bd6c850f173130cec53",
"sha256": "1373d199b1145570f30492c90be30e4fd8a66629651af88ad3cda10e5dd2e4a1"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl",
"has_sig": false,
"md5_digest": "3881d947b1c28bd6c850f173130cec53",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.7",
"size": 2143555,
"upload_time": "2024-02-13T08:42:49",
"upload_time_iso_8601": "2024-02-13T08:42:49.464137Z",
"url": "https://files.pythonhosted.org/packages/b8/b3/be67a0f38258f34c600e73f75935e432f7dcdc1ddd573a1f1fd424592970/vmdrs_py-0.3.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "7ae959b946a9ae556851ad51c1de9b3d00314b3e1450d388ba11952fe018dcd5",
"md5": "34db08946d935098263207b0bab0a6c8",
"sha256": "97fc20e1dc5c6fba935431b018a4c5d632add5f309313efac52bf0fbc6d94d69"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "34db08946d935098263207b0bab0a6c8",
"packagetype": "bdist_wheel",
"python_version": "pp39",
"requires_python": ">=3.7",
"size": 5046232,
"upload_time": "2024-02-13T08:42:51",
"upload_time_iso_8601": "2024-02-13T08:42:51.343696Z",
"url": "https://files.pythonhosted.org/packages/7a/e9/59b946a9ae556851ad51c1de9b3d00314b3e1450d388ba11952fe018dcd5/vmdrs_py-0.3.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "6a295602daf34b72cde46b8f2c6ee7f7841dde997d0c91c54c37cd75703660af",
"md5": "4491452c88bbc01747b10a55560146eb",
"sha256": "62689384f5b3b6eba97e107b047928eb3e857c29233d04b329cb87cb200262ae"
},
"downloads": -1,
"filename": "vmdrs_py-0.3.0.tar.gz",
"has_sig": false,
"md5_digest": "4491452c88bbc01747b10a55560146eb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 22793,
"upload_time": "2024-02-13T08:42:52",
"upload_time_iso_8601": "2024-02-13T08:42:52.803815Z",
"url": "https://files.pythonhosted.org/packages/6a/29/5602daf34b72cde46b8f2c6ee7f7841dde997d0c91c54c37cd75703660af/vmdrs_py-0.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-13 08:42:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jiafuei",
"github_project": "vmdrs-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "vmdrs-py"
}